From 0131f5b08fe0ba7efae2c708625cd23924a83275 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Tue, 14 Mar 2023 10:17:31 -0500 Subject: [PATCH 01/41] add skipif to test that requires hardhat --- tests/test_features.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/tests/test_features.py b/tests/test_features.py index 68a21a8840..e14804b437 100644 --- a/tests/test_features.py +++ b/tests/test_features.py @@ -1,5 +1,7 @@ import inspect +import shutil from pathlib import Path +import pytest from crytic_compile import CryticCompile from crytic_compile.platform.solc_standard_json import SolcStandardJson @@ -23,6 +25,11 @@ def _run_all_detectors(slither: Slither) -> None: slither.run_detectors() +hardhat_available = shutil.which("hardhat") is not None + +@pytest.mark.skipif( + not hardhat_available, reason="requires Hardhat and project setup" +) def test_node() -> None: # hardhat must have been installed in tests/test_node_modules # For the CI its done through the github action config From 9f56a91f73573359d79f8bc86e1da40fa7d64127 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Tue, 14 Mar 2023 10:21:44 -0500 Subject: [PATCH 02/41] mark currently failing IR tests as xfail --- tests/test_ssa_generation.py | 26 +++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/tests/test_ssa_generation.py b/tests/test_ssa_generation.py index f002ec4e13..1ad00c0d6c 100644 --- a/tests/test_ssa_generation.py +++ b/tests/test_ssa_generation.py @@ -374,7 +374,7 @@ def test_basic_loop_phi(): verify_properties_hold(contract) -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") def test_phi_propagation_loop(): contract = """ pragma solidity ^0.8.11; @@ -395,7 +395,7 @@ def test_phi_propagation_loop(): verify_properties_hold(contract) -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") def test_free_function_properties(): contract = """ pragma solidity ^0.8.11; @@ -459,7 +459,7 @@ def test_ssa_inter_transactional(): assert assign2.lvalue in phi.rvalues -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") def test_ssa_phi_callbacks(): source = """ pragma solidity ^0.8.11; @@ -518,7 +518,7 @@ def test_ssa_phi_callbacks(): assert len(after_call_phi.rvalues) == 2 -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") def test_storage_refers_to(): """Test the storage aspects of the SSA IR @@ -585,7 +585,7 @@ def test_storage_refers_to(): assert phinodes[1].lvalue in entryphi[0].rvalues or entryphi[1].rvalues -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") @pytest.mark.skipif( not valid_version("0.4.0"), reason="Solidity version 0.4.0 not available on this platform" ) @@ -622,7 +622,7 @@ def test_initial_version_exists_for_locals(): assert a_0.non_ssa_version == a_1.non_ssa_version -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") @pytest.mark.skipif( not valid_version("0.4.0"), reason="Solidity version 0.4.0 not available on this platform" ) @@ -662,7 +662,7 @@ def test_initial_version_exists_for_state_variables(): assert len(get_ssa_of_type(f, Phi)) == 0 -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") def test_initial_version_exists_for_state_variables_function_assign(): """ In solidity you can write statements such as @@ -759,7 +759,7 @@ def test_shadow_local(): assert all(map(lambda x: x.lvalue.index == 1, get_ssa_of_type(f, Assignment))) -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") def test_multiple_named_args_returns(): """Verifies that named arguments and return values have correct versions @@ -788,7 +788,7 @@ def test_multiple_named_args_returns(): ) -@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.") +@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.", strict=True) def test_memory_array(): src = """ contract MemArray { @@ -854,7 +854,7 @@ def test_memory_array(): assert len(phi_entry_b.rvalues) == len(b_args) + 1 -@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.") +@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.", strict=True) def test_storage_array(): src = """ contract StorageArray { @@ -909,7 +909,7 @@ def test_storage_array(): assert len(phi_entry_b.rvalues) == 3 # See comment in b above -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") def test_issue_468(): """ Ensure issue 468 is corrected as per @@ -963,7 +963,7 @@ def test_issue_468(): assert phi_endif.lvalue in phi_entry.rvalues -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") def test_issue_434(): source = """ contract Contract { @@ -1017,7 +1017,7 @@ def test_issue_434(): assert aftercall_phi.lvalue in (add_f.variable_left, add_f.variable_right) -@pytest.mark.skip(reason="Fails in current slither version. Fix in #1102.") +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") def test_issue_473(): source = """ contract Contract { From b16bb7079f96d299b03ec7436c76fa5f3e960820 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Tue, 14 Mar 2023 10:33:04 -0500 Subject: [PATCH 03/41] remove xfail from passing test, test_initial_version_exists_for_locals --- tests/test_features.py | 5 ++--- tests/test_ssa_generation.py | 1 - 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/tests/test_features.py b/tests/test_features.py index e14804b437..aa0e9bd3ce 100644 --- a/tests/test_features.py +++ b/tests/test_features.py @@ -27,9 +27,8 @@ def _run_all_detectors(slither: Slither) -> None: hardhat_available = shutil.which("hardhat") is not None -@pytest.mark.skipif( - not hardhat_available, reason="requires Hardhat and project setup" -) + +@pytest.mark.skipif(not hardhat_available, reason="requires Hardhat and project setup") def test_node() -> None: # hardhat must have been installed in tests/test_node_modules # For the CI its done through the github action config diff --git a/tests/test_ssa_generation.py b/tests/test_ssa_generation.py index 1ad00c0d6c..14b690dbd6 100644 --- a/tests/test_ssa_generation.py +++ b/tests/test_ssa_generation.py @@ -585,7 +585,6 @@ def test_storage_refers_to(): assert phinodes[1].lvalue in entryphi[0].rvalues or entryphi[1].rvalues -@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") @pytest.mark.skipif( not valid_version("0.4.0"), reason="Solidity version 0.4.0 not available on this platform" ) From 2ad442b270f42cde759b65ea225423fcd366ca16 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Mon, 20 Mar 2023 14:18:38 -0500 Subject: [PATCH 04/41] move solc parsing and detectors into e2e folder --- ...erride.sol.0.4.25.RightToLeftOverride.json | 32 - ...erride.sol.0.5.16.RightToLeftOverride.json | 32 - ...erride.sol.0.6.11.RightToLeftOverride.json | 32 - ...verride.sol.0.8.0.RightToLeftOverride.json | 88 - ....sol.0.5.10.StorageSignedIntegerArray.json | 3 - ....sol.0.5.16.StorageSignedIntegerArray.json | 3 - ....UninitializedFunctionPtrsConstructor.json | 3 - .../0.4.25/storage_ABIEncoderV2_array.sol | 0 ...V2_array.sol.0.4.25.ABIEncoderV2Array.json | 320 +- .../0.5.10/storage_ABIEncoderV2_array.sol | 0 ...V2_array.sol.0.5.10.ABIEncoderV2Array.json | 0 ...V2_array.sol.0.5.11.ABIEncoderV2Array.json | 0 .../0.5.9/storage_ABIEncoderV2_array.sol | 0 ...rV2_array.sol.0.5.9.ABIEncoderV2Array.json | 396 +- .../0.4.25/arbitrary_send_erc20_permit.sol | 0 ...t.sol.0.4.25.ArbitrarySendErc20Permit.json | 280 +- .../0.5.16/arbitrary_send_erc20_permit.sol | 0 ...t.sol.0.5.16.ArbitrarySendErc20Permit.json | 232 +- .../0.6.11/arbitrary_send_erc20_permit.sol | 0 ...t.sol.0.6.11.ArbitrarySendErc20Permit.json | 112 +- .../0.7.6/arbitrary_send_erc20_permit.sol | 0 ...it.sol.0.7.6.ArbitrarySendErc20Permit.json | 280 +- .../0.8.0/arbitrary_send_erc20_permit.sol | 0 ...it.sol.0.8.0.ArbitrarySendErc20Permit.json | 274 +- .../0.4.25/arbitrary_send_erc20.sol | 0 ...sol.0.4.25.ArbitrarySendErc20NoPermit.json | 160 +- .../0.5.16/arbitrary_send_erc20.sol | 0 ...sol.0.5.16.ArbitrarySendErc20NoPermit.json | 160 +- .../0.6.11/arbitrary_send_erc20.sol | 0 ...sol.0.6.11.ArbitrarySendErc20NoPermit.json | 160 +- .../0.7.6/arbitrary_send_erc20.sol | 0 ....sol.0.7.6.ArbitrarySendErc20NoPermit.json | 198 +- .../0.8.0/arbitrary_send_erc20.sol | 0 ....sol.0.8.0.ArbitrarySendErc20NoPermit.json | 198 +- .../arbitrary_send_erc20_inheritance.sol | 0 ....sol.0.8.0.ArbitrarySendErc20NoPermit.json | 28 +- .../0.4.25/arbitrary_send_eth.sol | 0 ..._send_eth.sol.0.4.25.ArbitrarySendEth.json | 132 +- .../0.5.16/arbitrary_send_eth.sol | 0 ..._send_eth.sol.0.5.16.ArbitrarySendEth.json | 56 +- .../0.6.11/arbitrary_send_eth.sol | 0 ..._send_eth.sol.0.6.11.ArbitrarySendEth.json | 56 +- .../0.7.6/arbitrary_send_eth.sol | 0 ...y_send_eth.sol.0.7.6.ArbitrarySendEth.json | 132 +- .../0.4.25/array_by_reference.sol | 0 ...reference.sol.0.4.25.ArrayByReference.json | 188 +- .../0.5.16/array_by_reference.sol | 0 ...reference.sol.0.5.16.ArrayByReference.json | 188 +- .../0.6.11/array_by_reference.sol | 0 ...reference.sol.0.6.11.ArrayByReference.json | 188 +- .../0.7.6/array_by_reference.sol | 0 ..._reference.sol.0.7.6.ArrayByReference.json | 188 +- .../0.4.25/inline_assembly_contract.sol | 0 ...assembly_contract.sol.0.4.25.Assembly.json | 28 +- .../0.4.25/inline_assembly_library.sol | 0 ..._assembly_library.sol.0.4.25.Assembly.json | 276 +- .../0.5.16/inline_assembly_contract.sol | 0 ...assembly_contract.sol.0.5.16.Assembly.json | 28 +- .../0.5.16/inline_assembly_library.sol | 0 ..._assembly_library.sol.0.5.16.Assembly.json | 56 +- .../0.6.11/inline_assembly_contract.sol | 0 ...assembly_contract.sol.0.6.11.Assembly.json | 28 +- .../0.6.11/inline_assembly_library.sol | 0 ..._assembly_library.sol.0.6.11.Assembly.json | 272 +- .../0.7.6/inline_assembly_contract.sol | 0 ..._assembly_contract.sol.0.7.6.Assembly.json | 28 +- .../0.7.6/inline_assembly_library.sol | 0 ...e_assembly_library.sol.0.7.6.Assembly.json | 272 +- .../0.4.25/assert_state_change.sol | 0 ...e_change.sol.0.4.25.AssertStateChange.json | 152 +- .../0.5.16/assert_state_change.sol | 0 ...e_change.sol.0.5.16.AssertStateChange.json | 160 +- .../0.6.11/assert_state_change.sol | 0 ...e_change.sol.0.6.11.AssertStateChange.json | 160 +- .../0.7.6/assert_state_change.sol | 0 ...te_change.sol.0.7.6.AssertStateChange.json | 84 +- .../test_data}/backdoor/0.4.25/backdoor.sol | 0 .../0.4.25/backdoor.sol.0.4.25.Backdoor.json | 14 +- .../test_data}/backdoor/0.5.16/backdoor.sol | 0 .../0.5.16/backdoor.sol.0.5.16.Backdoor.json | 14 +- .../test_data}/backdoor/0.6.11/backdoor.sol | 0 .../0.6.11/backdoor.sol.0.6.11.Backdoor.json | 14 +- .../test_data}/backdoor/0.7.6/backdoor.sol | 0 .../0.7.6/backdoor.sol.0.7.6.Backdoor.json | 14 +- .../0.4.25/boolean-constant-misuse.sol | 0 ...suse.sol.0.4.25.BooleanConstantMisuse.json | 28 +- .../0.5.16/boolean-constant-misuse.sol | 0 ...suse.sol.0.5.16.BooleanConstantMisuse.json | 28 +- .../0.6.11/boolean-constant-misuse.sol | 0 ...suse.sol.0.6.11.BooleanConstantMisuse.json | 28 +- .../0.7.6/boolean-constant-misuse.sol | 0 ...isuse.sol.0.7.6.BooleanConstantMisuse.json | 28 +- .../0.4.25/boolean-constant-equality.sol | 0 ...t-equality.sol.0.4.25.BooleanEquality.json | 28 +- .../0.5.16/boolean-constant-equality.sol | 0 ...t-equality.sol.0.5.16.BooleanEquality.json | 28 +- .../0.6.11/boolean-constant-equality.sol | 0 ...t-equality.sol.0.6.11.BooleanEquality.json | 28 +- .../0.7.6/boolean-constant-equality.sol | 0 ...nt-equality.sol.0.7.6.BooleanEquality.json | 28 +- .../0.4.25/multiple_calls_in_loop.sol | 0 ...n_loop.sol.0.4.25.MultipleCallsInLoop.json | 452 +- .../0.5.16/multiple_calls_in_loop.sol | 0 ...n_loop.sol.0.5.16.MultipleCallsInLoop.json | 460 +- .../0.6.11/multiple_calls_in_loop.sol | 0 ...n_loop.sol.0.6.11.MultipleCallsInLoop.json | 460 +- .../0.7.6/multiple_calls_in_loop.sol | 0 ...in_loop.sol.0.7.6.MultipleCallsInLoop.json | 440 +- .../0.4.25/const_state_variables.sol | 0 ..._variables.sol.0.4.25.CouldBeConstant.json | 84 +- .../0.5.16/const_state_variables.sol | 0 ..._variables.sol.0.5.16.CouldBeConstant.json | 98 +- .../0.6.11/const_state_variables.sol | 0 ..._variables.sol.0.6.11.CouldBeConstant.json | 98 +- .../0.7.6/const_state_variables.sol | 0 ...e_variables.sol.0.7.6.CouldBeConstant.json | 98 +- .../0.8.0/const_state_variables.sol | 0 ...e_variables.sol.0.8.0.CouldBeConstant.json | 98 +- .../constant-function-asm/0.4.25/constant.sol | 0 ...stant.sol.0.4.25.ConstantFunctionsAsm.json | 14 +- .../constant-function-asm/0.5.16/constant.sol | 0 ...stant.sol.0.5.16.ConstantFunctionsAsm.json | 0 .../constant-function-asm/0.6.11/constant.sol | 0 ...stant.sol.0.6.11.ConstantFunctionsAsm.json | 0 .../constant-function-asm/0.7.6/constant.sol | 0 ...nstant.sol.0.7.6.ConstantFunctionsAsm.json | 0 .../0.4.25/constant.sol | 0 ...ant.sol.0.4.25.ConstantFunctionsState.json | 44 +- .../0.5.16/constant.sol | 0 ...ant.sol.0.5.16.ConstantFunctionsState.json | 0 .../0.6.11/constant.sol | 0 ...ant.sol.0.6.11.ConstantFunctionsState.json | 0 .../0.7.6/constant.sol | 0 ...tant.sol.0.7.6.ConstantFunctionsState.json | 0 .../0.4.25/array_length_assignment.sol | 0 ...ment.sol.0.4.25.ArrayLengthAssignment.json | 104 +- .../0.5.16/array_length_assignment.sol | 0 ...ment.sol.0.5.16.ArrayLengthAssignment.json | 104 +- .../0.4.25/controlled_delegatecall.sol | 0 ...ll.sol.0.4.25.ControlledDelegateCall.json} | 56 +- .../0.5.16/controlled_delegatecall.sol | 0 ...all.sol.0.5.16.ControlledDelegateCall.json | 136 +- .../0.6.11/controlled_delegatecall.sol | 0 ...all.sol.0.6.11.ControlledDelegateCall.json | 56 +- .../0.7.6/controlled_delegatecall.sol | 0 ...all.sol.0.7.6.ControlledDelegateCall.json} | 56 +- .../multiple_costly_operations_in_loop.sol | 0 ...oop.sol.0.4.25.CostlyOperationsInLoop.json | 480 +- .../multiple_costly_operations_in_loop.sol | 0 ...oop.sol.0.5.16.CostlyOperationsInLoop.json | 244 +- .../multiple_costly_operations_in_loop.sol | 0 ...oop.sol.0.6.11.CostlyOperationsInLoop.json | 480 +- .../multiple_costly_operations_in_loop.sol | 0 ...loop.sol.0.7.6.CostlyOperationsInLoop.json | 204 +- .../0.8.16/HighCyclomaticComplexity.sol | 0 ...exity.sol.0.8.16.CyclomaticComplexity.json | 14 +- .../0.8.16/LowCyclomaticComplexity.sol | 0 ...exity.sol.0.8.16.CyclomaticComplexity.json | 0 .../test_data}/dead-code/0.8.0/dead-code.sol | 0 .../0.8.0/dead-code.sol.0.8.0.DeadCode.json | 42 +- .../0.4.25/delegatecall_loop.sol | 0 ...ll_loop.sol.0.4.25.DelegatecallInLoop.json | 220 +- .../0.5.16/delegatecall_loop.sol | 0 ...ll_loop.sol.0.5.16.DelegatecallInLoop.json | 180 +- .../0.6.11/delegatecall_loop.sol | 0 ...ll_loop.sol.0.6.11.DelegatecallInLoop.json | 84 +- .../0.7.6/delegatecall_loop.sol | 0 ...all_loop.sol.0.7.6.DelegatecallInLoop.json | 180 +- .../0.8.0/delegatecall_loop.sol | 0 ...all_loop.sol.0.8.0.DelegatecallInLoop.json | 180 +- .../0.4.25/deprecated_calls.sol | 0 ..._calls.sol.0.4.25.DeprecatedStandards.json | 40 +- .../0.4.25/divide_before_multiply.sol | 0 ...tiply.sol.0.4.25.DivideBeforeMultiply.json | 28 +- .../0.5.16/divide_before_multiply.sol | 0 ...iply.sol.0.5.16.DivideBeforeMultiply.json} | 28 +- .../0.6.11/divide_before_multiply.sol | 0 ...tiply.sol.0.6.11.DivideBeforeMultiply.json | 28 +- .../0.7.6/divide_before_multiply.sol | 0 ...tiply.sol.0.7.6.DivideBeforeMultiply.json} | 28 +- .../0.4.25/permit_domain_collision.sol | 0 ...n.sol.0.4.25.DomainSeparatorCollision.json | 14 +- .../permit_domain_state_var_collision.sol | 0 ...n.sol.0.4.25.DomainSeparatorCollision.json | 14 +- .../permit_domain_wrong_return_type.sol | 0 ...e.sol.0.4.25.DomainSeparatorCollision.json | 14 +- .../0.5.16/permit_domain_collision.sol | 0 ...n.sol.0.5.16.DomainSeparatorCollision.json | 14 +- .../permit_domain_state_var_collision.sol | 0 ...n.sol.0.5.16.DomainSeparatorCollision.json | 14 +- .../permit_domain_wrong_return_type.sol | 0 ...e.sol.0.5.16.DomainSeparatorCollision.json | 14 +- .../0.6.11/permit_domain_collision.sol | 0 ...n.sol.0.6.11.DomainSeparatorCollision.json | 14 +- .../permit_domain_state_var_collision.sol | 0 ...n.sol.0.6.11.DomainSeparatorCollision.json | 14 +- .../permit_domain_wrong_return_type.sol | 0 ...e.sol.0.6.11.DomainSeparatorCollision.json | 14 +- .../0.7.6/permit_domain_collision.sol | 0 ...on.sol.0.7.6.DomainSeparatorCollision.json | 14 +- .../permit_domain_state_var_collision.sol | 0 ...on.sol.0.7.6.DomainSeparatorCollision.json | 14 +- .../0.7.6/permit_domain_wrong_return_type.sol | 0 ...pe.sol.0.7.6.DomainSeparatorCollision.json | 14 +- .../0.8.0/permit_domain_collision.sol | 0 ...on.sol.0.8.0.DomainSeparatorCollision.json | 14 +- .../permit_domain_state_var_collision.sol | 0 ...on.sol.0.8.0.DomainSeparatorCollision.json | 14 +- .../0.8.0/permit_domain_wrong_return_type.sol | 0 ...pe.sol.0.8.0.DomainSeparatorCollision.json | 14 +- .../enum-conversion/0.4.2/enum_conversion.sol | 0 ...m_conversion.sol.0.4.2.EnumConversion.json | 0 .../erc20-indexed/0.4.25/erc20_indexed.sol | 0 ....0.4.25.UnindexedERC20EventParameters.json | 56 +- .../erc20-indexed/0.5.16/erc20_indexed.sol | 0 ....0.5.16.UnindexedERC20EventParameters.json | 56 +- .../erc20-indexed/0.6.11/erc20_indexed.sol | 0 ....0.6.11.UnindexedERC20EventParameters.json | 56 +- .../erc20-indexed/0.7.6/erc20_indexed.sol | 0 ...l.0.7.6.UnindexedERC20EventParameters.json | 56 +- .../0.4.25/incorrect_erc20_interface.sol | 0 ...4.25.IncorrectERC20InterfaceDetection.json | 108 +- .../0.5.16/incorrect_erc20_interface.sol | 0 ...5.16.IncorrectERC20InterfaceDetection.json | 108 +- .../0.6.11/incorrect_erc20_interface.sol | 0 ...6.11.IncorrectERC20InterfaceDetection.json | 108 +- .../0.7.6/incorrect_erc20_interface.sol | 0 ....7.6.IncorrectERC20InterfaceDetection.json | 108 +- .../0.4.25/incorrect_erc721_interface.sol | 0 ....25.IncorrectERC721InterfaceDetection.json | 180 +- .../0.5.16/incorrect_erc721_interface.sol | 0 ....16.IncorrectERC721InterfaceDetection.json | 180 +- .../0.6.11/incorrect_erc721_interface.sol | 0 ....11.IncorrectERC721InterfaceDetection.json | 180 +- .../0.7.6/incorrect_erc721_interface.sol | 0 ...7.6.IncorrectERC721InterfaceDetection.json | 180 +- .../0.4.25/missing_events_access_control.sol | 0 ...sol.0.4.25.MissingEventsAccessControl.json | 164 +- .../0.5.16/missing_events_access_control.sol | 0 ...sol.0.5.16.MissingEventsAccessControl.json | 152 +- .../0.6.11/missing_events_access_control.sol | 0 ...sol.0.6.11.MissingEventsAccessControl.json | 196 +- .../0.7.6/missing_events_access_control.sol | 0 ....sol.0.7.6.MissingEventsAccessControl.json | 196 +- .../0.4.25/missing_events_arithmetic.sol | 0 ...ic.sol.0.4.25.MissingEventsArithmetic.json | 132 +- .../0.5.16/missing_events_arithmetic.sol | 0 ...ic.sol.0.5.16.MissingEventsArithmetic.json | 132 +- .../0.6.11/missing_events_arithmetic.sol | 0 ...ic.sol.0.6.11.MissingEventsArithmetic.json | 56 +- .../0.7.6/missing_events_arithmetic.sol | 0 ...tic.sol.0.7.6.MissingEventsArithmetic.json | 56 +- .../0.4.25/external_function.sol | 0 ..._function.sol.0.4.25.ExternalFunction.json | 0 .../0.4.25/external_function_2.sol | 0 ...unction_2.sol.0.4.25.ExternalFunction.json | 0 .../0.4.25/external_function_3.sol | 0 ...unction_3.sol.0.4.25.ExternalFunction.json | 42 +- .../0.4.25/external_function_import.sol | 0 .../0.5.16/external_function.sol | 0 ..._function.sol.0.5.16.ExternalFunction.json | 0 .../0.5.16/external_function_2.sol | 0 ...unction_2.sol.0.5.16.ExternalFunction.json | 0 .../0.5.16/external_function_3.sol | 0 ...unction_3.sol.0.5.16.ExternalFunction.json | 56 +- .../0.5.16/external_function_import.sol | 0 .../0.6.11/external_function.sol | 0 ..._function.sol.0.6.11.ExternalFunction.json | 0 .../0.6.11/external_function_2.sol | 0 ...unction_2.sol.0.6.11.ExternalFunction.json | 0 .../0.6.11/external_function_3.sol | 0 ...unction_3.sol.0.6.11.ExternalFunction.json | 0 .../0.6.11/external_function_import.sol | 0 .../0.7.6/external_function.sol | 0 ...l_function.sol.0.7.6.ExternalFunction.json | 0 .../0.7.6/external_function_2.sol | 0 ...function_2.sol.0.7.6.ExternalFunction.json | 0 .../0.7.6/external_function_3.sol | 0 ...function_3.sol.0.7.6.ExternalFunction.json | 0 .../0.7.6/external_function_import.sol | 0 .../0.4.25/function_init_state_variables.sol | 0 ...s.sol.0.4.25.FunctionInitializedState.json | 70 +- .../0.5.16/function_init_state_variables.sol | 0 ...s.sol.0.5.16.FunctionInitializedState.json | 70 +- .../0.6.11/function_init_state_variables.sol | 0 ...s.sol.0.6.11.FunctionInitializedState.json | 70 +- .../0.7.6/function_init_state_variables.sol | 0 ...es.sol.0.7.6.FunctionInitializedState.json | 70 +- .../0.4.25/immut_state_variables.sol | 0 ...variables.sol.0.4.25.CouldBeImmutable.json | 0 .../0.5.16/immut_state_variables.sol | 0 ...variables.sol.0.5.16.CouldBeImmutable.json | 0 .../0.6.11/immut_state_variables.sol | 0 ...variables.sol.0.6.11.CouldBeImmutable.json | 70 +- .../0.7.6/immut_state_variables.sol | 0 ..._variables.sol.0.7.6.CouldBeImmutable.json | 70 +- .../0.8.0/immut_state_variables.sol | 0 ..._variables.sol.0.8.0.CouldBeImmutable.json | 56 +- .../0.4.25/incorrect_equality.sol | 0 ...ty.sol.0.4.25.IncorrectStrictEquality.json | 1840 +- .../0.5.16/incorrect_equality.sol | 0 ...ty.sol.0.5.16.IncorrectStrictEquality.json | 1918 +- .../0.6.11/incorrect_equality.sol | 0 ...ty.sol.0.6.11.IncorrectStrictEquality.json | 1372 +- .../0.7.6/incorrect_equality.sol | 0 ...ity.sol.0.7.6.IncorrectStrictEquality.json | 1648 +- .../0.4.25/modifier_default.sol | 0 ...t.sol.0.4.25.ModifierDefaultDetection.json | 42 +- .../0.5.16/modifier_default.sol | 0 ...t.sol.0.5.16.ModifierDefaultDetection.json | 42 +- .../0.6.11/modifier_default.sol | 0 ...t.sol.0.6.11.ModifierDefaultDetection.json | 42 +- .../0.7.6/modifier_default.sol | 0 ...lt.sol.0.7.6.ModifierDefaultDetection.json | 42 +- .../0.4.25/shift_parameter_mixup.sol | 0 ..._mixup.sol.0.4.25.ShiftParameterMixup.json | 0 .../0.5.16/shift_parameter_mixup.sol | 0 ..._mixup.sol.0.5.16.ShiftParameterMixup.json | 0 .../0.6.11/shift_parameter_mixup.sol | 0 ..._mixup.sol.0.6.11.ShiftParameterMixup.json | 28 +- .../0.7.6/shift_parameter_mixup.sol | 0 ...r_mixup.sol.0.7.6.ShiftParameterMixup.json | 28 +- .../0.4.25/invalid_unary_expression.sol | 0 ....25.IncorrectUnaryExpressionDetection.json | 320 +- .../locked-ether/0.4.25/locked_ether.sol | 0 .../locked_ether.sol.0.4.25.LockedEther.json | 18 +- .../locked-ether/0.5.16/locked_ether.sol | 0 .../locked_ether.sol.0.5.16.LockedEther.json | 18 +- .../locked-ether/0.6.11/locked_ether.sol | 0 .../locked_ether.sol.0.6.11.LockedEther.json | 18 +- .../locked-ether/0.7.6/locked_ether.sol | 0 .../locked_ether.sol.0.7.6.LockedEther.json | 18 +- .../0.4.25/low_level_calls.sol | 0 ..._level_calls.sol.0.4.25.LowLevelCalls.json | 28 +- .../0.5.16/low_level_calls.sol | 0 ..._level_calls.sol.0.5.16.LowLevelCalls.json | 28 +- .../0.6.11/low_level_calls.sol | 0 ..._level_calls.sol.0.6.11.LowLevelCalls.json | 28 +- .../low-level-calls/0.7.6/low_level_calls.sol | 0 ...w_level_calls.sol.0.7.6.LowLevelCalls.json | 28 +- .../0.4.25/MappingDeletion.sol | 0 ...n.sol.0.4.25.MappingDeletionDetection.json | 388 +- .../0.5.16/MappingDeletion.sol | 0 ...n.sol.0.5.16.MappingDeletionDetection.json | 388 +- .../0.6.11/MappingDeletion.sol | 0 ...n.sol.0.6.11.MappingDeletionDetection.json | 388 +- .../0.7.6/MappingDeletion.sol | 0 ...on.sol.0.7.6.MappingDeletionDetection.json | 72 +- .../0.4.25/unimplemented_interface.sol | 0 ...terface.sol.0.4.25.MissingInheritance.json | 14 +- .../0.5.16/unimplemented_interface.sol | 0 ...terface.sol.0.5.16.MissingInheritance.json | 14 +- .../0.6.11/unimplemented_interface.sol | 0 ...terface.sol.0.6.11.MissingInheritance.json | 14 +- .../0.7.6/unimplemented_interface.sol | 0 ...nterface.sol.0.7.6.MissingInheritance.json | 14 +- .../missing_zero_address_validation.sol | 0 ...l.0.4.25.MissingZeroAddressValidation.json | 264 +- .../missing_zero_address_validation.sol | 0 ...l.0.5.16.MissingZeroAddressValidation.json | 530 +- .../missing_zero_address_validation.sol | 0 ...l.0.6.11.MissingZeroAddressValidation.json | 264 +- .../0.7.6/missing_zero_address_validation.sol | 0 ...ol.0.7.6.MissingZeroAddressValidation.json | 318 +- .../msg-value-loop/0.4.25/msg_value_loop.sol | 0 ..._value_loop.sol.0.4.25.MsgValueInLoop.json | 180 +- .../msg-value-loop/0.5.16/msg_value_loop.sol | 0 ..._value_loop.sol.0.5.16.MsgValueInLoop.json | 184 +- .../msg-value-loop/0.6.11/msg_value_loop.sol | 0 ..._value_loop.sol.0.6.11.MsgValueInLoop.json | 84 +- .../msg-value-loop/0.7.6/msg_value_loop.sol | 0 ...g_value_loop.sol.0.7.6.MsgValueInLoop.json | 84 +- .../msg-value-loop/0.8.0/msg_value_loop.sol | 0 ...g_value_loop.sol.0.8.0.MsgValueInLoop.json | 226 +- .../0.4.22/multiple_constructor_schemes.sol | 0 ...sol.0.4.22.MultipleConstructorSchemes.json | 26 +- .../0.4.25/naming_convention.sol | 0 ...onvention.sol.0.4.25.NamingConvention.json | 228 +- .../0.4.25/naming_convention_ignore.sol | 0 .../no_warning_for_public_constants.sol | 0 ...constants.sol.0.4.25.NamingConvention.json | 0 .../0.5.16/naming_convention.sol | 0 ...onvention.sol.0.5.16.NamingConvention.json | 228 +- .../0.5.16/naming_convention_ignore.sol | 0 .../no_warning_for_public_constants.sol | 0 ...constants.sol.0.5.16.NamingConvention.json | 0 .../0.6.11/naming_convention.sol | 0 ...onvention.sol.0.6.11.NamingConvention.json | 228 +- .../0.6.11/naming_convention_ignore.sol | 0 .../no_warning_for_public_constants.sol | 0 ...constants.sol.0.6.11.NamingConvention.json | 0 .../0.7.6/naming_convention.sol | 0 ...convention.sol.0.7.6.NamingConvention.json | 228 +- .../0.7.6/naming_convention_ignore.sol | 0 .../0.7.6/no_warning_for_public_constants.sol | 0 ..._constants.sol.0.7.6.NamingConvention.json | 0 .../pragma/0.4.25/pragma.0.4.24.sol | 0 .../pragma/0.4.25/pragma.0.4.25.sol | 0 ...agma.0.4.25.sol.0.4.25.ConstantPragma.json | 16 +- .../pragma/0.5.16/pragma.0.5.15.sol | 0 .../pragma/0.5.16/pragma.0.5.16.sol | 0 ...agma.0.5.16.sol.0.5.16.ConstantPragma.json | 16 +- .../pragma/0.6.11/pragma.0.6.10.sol | 0 .../pragma/0.6.11/pragma.0.6.11.sol | 0 ...agma.0.6.11.sol.0.6.11.ConstantPragma.json | 16 +- .../test_data}/pragma/0.7.6/pragma.0.7.5.sol | 0 .../test_data}/pragma/0.7.6/pragma.0.7.6.sol | 0 ...pragma.0.7.6.sol.0.7.6.ConstantPragma.json | 16 +- .../protected-vars/0.8.2/comment.sol | 0 .../comment.sol.0.8.2.ProtectedVariables.json | 60 +- .../0.4.25/public_mappings_nested.sol | 0 ...nested.sol.0.4.25.PublicMappingNested.json | 14 +- .../0.4.25/redundant_statements.sol | 0 ...ements.sol.0.4.25.RedundantStatements.json | 156 +- .../0.5.16/redundant_statements.sol | 0 ...ements.sol.0.5.16.RedundantStatements.json | 218 +- .../0.6.11/redundant_statements.sol | 0 ...ements.sol.0.6.11.RedundantStatements.json | 252 +- .../0.7.6/redundant_statements.sol | 0 ...tements.sol.0.7.6.RedundantStatements.json | 204 +- .../0.4.25/reentrancy-benign.sol | 0 ...cy-benign.sol.0.4.25.ReentrancyBenign.json | 1658 +- .../0.5.16/reentrancy-benign.sol | 0 ...cy-benign.sol.0.5.16.ReentrancyBenign.json | 2262 +- .../0.6.11/reentrancy-benign.sol | 0 ...cy-benign.sol.0.6.11.ReentrancyBenign.json | 1878 +- .../0.7.6/reentrancy-benign.sol | 0 ...ncy-benign.sol.0.7.6.ReentrancyBenign.json | 2300 +- .../test_data}/reentrancy-eth/0.4.25/DAO.sol | 0 .../0.4.25/DAO.sol.0.4.25.ReentrancyEth.json | 9712 +++---- .../reentrancy-eth/0.4.25/reentrancy.sol | 0 .../reentrancy.sol.0.4.25.ReentrancyEth.json | 80 +- .../0.4.25/reentrancy_indirect.sol | 0 ...ncy_indirect.sol.0.4.25.ReentrancyEth.json | 64 +- .../reentrancy-eth/0.5.16/reentrancy.sol | 0 .../reentrancy.sol.0.5.16.ReentrancyEth.json | 80 +- .../0.5.16/reentrancy_indirect.sol | 0 ...ncy_indirect.sol.0.5.16.ReentrancyEth.json | 64 +- .../reentrancy-eth/0.6.11/reentrancy.sol | 0 .../reentrancy.sol.0.6.11.ReentrancyEth.json | 80 +- .../0.6.11/reentrancy_indirect.sol | 0 ...ncy_indirect.sol.0.6.11.ReentrancyEth.json | 64 +- .../reentrancy-eth/0.7.6/reentrancy.sol | 0 .../reentrancy.sol.0.7.6.ReentrancyEth.json | 80 +- .../0.7.6/reentrancy_indirect.sol | 0 ...ancy_indirect.sol.0.7.6.ReentrancyEth.json | 64 +- .../0.8.10/reentrancy_filtered_comments.sol | 0 ...red_comments.sol.0.8.10.ReentrancyEth.json | 40 +- .../0.8.10/reentrancy_with_non_reentrant.sol | 0 ...on_reentrant.sol.0.8.10.ReentrancyEth.json | 818 +- .../0.5.16/reentrancy-events.sol | 0 ...ncy-events.sol.0.5.16.ReentrancyEvent.json | 40 +- .../0.6.11/reentrancy-events.sol | 0 ...ncy-events.sol.0.6.11.ReentrancyEvent.json | 40 +- .../0.7.6/reentrancy-events.sol | 0 ...ancy-events.sol.0.7.6.ReentrancyEvent.json | 40 +- .../reentrancy-no-eth/0.4.25/DAO.sol | 0 ...ol.0.4.25.ReentrancyReadBeforeWritten.json | 22318 ++++++++-------- .../0.4.25/reentrancy-write.sol | 0 ...ol.0.4.25.ReentrancyReadBeforeWritten.json | 446 +- .../0.5.16/no-reentrancy-staticcall.sol | 0 ...ol.0.5.16.ReentrancyReadBeforeWritten.json | 0 .../0.5.16/reentrancy-write.sol | 0 ...ol.0.5.16.ReentrancyReadBeforeWritten.json | 444 +- .../0.6.11/no-reentrancy-staticcall.sol | 0 ...ol.0.6.11.ReentrancyReadBeforeWritten.json | 0 .../0.6.11/reentrancy-write.sol | 0 ...ol.0.6.11.ReentrancyReadBeforeWritten.json | 116 +- .../0.7.6/no-reentrancy-staticcall.sol | 0 ...sol.0.7.6.ReentrancyReadBeforeWritten.json | 0 .../0.7.6/reentrancy-write.sol | 0 ...sol.0.7.6.ReentrancyReadBeforeWritten.json | 116 +- .../reentrancy-no-eth/0.8.2/comment.sol | 0 ...sol.0.8.2.ReentrancyReadBeforeWritten.json | 0 .../0.4.21/reused_base_constructor.sol | 0 ...ctor.sol.0.4.21.ReusedBaseConstructor.json | 156 +- .../0.4.25/reused_base_constructor.sol | 0 ...ctor.sol.0.4.25.ReusedBaseConstructor.json | 220 +- .../rtlo/0.4.25/right_to_left_override.sol | 0 ...erride.sol.0.4.25.RightToLeftOverride.json | 32 + .../rtlo/0.5.16/right_to_left_override.sol | 0 ...erride.sol.0.5.16.RightToLeftOverride.json | 32 + .../rtlo/0.6.11/right_to_left_override.sol | 0 ...erride.sol.0.6.11.RightToLeftOverride.json | 32 + .../rtlo/0.8.0/unicode_direction_override.sol | 0 ...verride.sol.0.8.0.RightToLeftOverride.json | 88 + .../0.4.25/shadowing_abstract.sol | 0 ...sol.0.4.25.ShadowingAbstractDetection.json | 22 +- .../0.5.16/shadowing_abstract.sol | 0 ...sol.0.5.16.ShadowingAbstractDetection.json | 22 +- .../0.7.5/public_gap_variable.sol | 0 ....sol.0.7.5.ShadowingAbstractDetection.json | 22 +- .../0.7.5/shadowing_state_variable.sol | 0 ....sol.0.7.5.ShadowingAbstractDetection.json | 0 .../0.4.25/shadowing_builtin_symbols.sol | 0 ...ols.sol.0.4.25.BuiltinSymbolShadowing.json | 194 +- .../0.5.16/shadowing_builtin_symbols.sol | 0 ...ols.sol.0.5.16.BuiltinSymbolShadowing.json | 180 +- .../0.4.25/shadowing_local_variable.sol | 0 ...al_variable.sol.0.4.25.LocalShadowing.json | 172 +- .../0.5.16/shadowing_local_variable.sol | 0 ...al_variable.sol.0.5.16.LocalShadowing.json | 202 +- .../0.6.11/shadowing_local_variable.sol | 0 ...al_variable.sol.0.6.11.LocalShadowing.json | 186 +- .../0.7.6/shadowing_local_variable.sol | 0 ...cal_variable.sol.0.7.6.LocalShadowing.json | 186 +- .../0.4.25/shadowing_state_variable.sol | 0 ...te_variable.sol.0.4.25.StateShadowing.json | 22 +- .../0.5.16/shadowing_state_variable.sol | 0 ...te_variable.sol.0.5.16.StateShadowing.json | 22 +- .../0.6.11/shadowing_state_variable.sol | 0 ...te_variable.sol.0.6.11.StateShadowing.json | 0 .../0.7.5/public_gap_variable.sol | 0 ...gap_variable.sol.0.7.5.StateShadowing.json | 22 +- .../0.7.5/shadowing_state_variable.sol | 0 ...ate_variable.sol.0.7.5.StateShadowing.json | 0 .../0.7.6/shadowing_state_variable.sol | 0 ...ate_variable.sol.0.7.6.StateShadowing.json | 0 .../0.4.25/similar_variables.sol | 0 ...ables.sol.0.4.25.SimilarVarsDetection.json | 30 +- .../0.5.16/similar_variables.sol | 0 ...ables.sol.0.5.16.SimilarVarsDetection.json | 30 +- .../0.6.11/similar_variables.sol | 0 ...ables.sol.0.6.11.SimilarVarsDetection.json | 30 +- .../similar-names/0.7.6/similar_variables.sol | 0 ...iables.sol.0.7.6.SimilarVarsDetection.json | 30 +- .../test_data}/solc-version/0.4.25/static.sol | 0 .../static.sol.0.4.25.IncorrectSolc.json | 32 +- .../test_data}/solc-version/0.5.14/static.sol | 0 .../static.sol.0.5.14.IncorrectSolc.json | 12 +- .../solc-version/0.5.16/dynamic_1.sol | 0 .../dynamic_1.sol.0.5.16.IncorrectSolc.json | 32 +- .../solc-version/0.5.16/dynamic_2.sol | 0 .../dynamic_2.sol.0.5.16.IncorrectSolc.json | 18 +- .../test_data}/solc-version/0.5.16/static.sol | 0 .../static.sol.0.5.16.IncorrectSolc.json | 32 +- .../test_data}/solc-version/0.6.10/static.sol | 0 .../static.sol.0.6.10.IncorrectSolc.json | 12 +- .../solc-version/0.6.11/dynamic_1.sol | 0 .../dynamic_1.sol.0.6.11.IncorrectSolc.json | 32 +- .../solc-version/0.6.11/dynamic_2.sol | 0 .../dynamic_2.sol.0.6.11.IncorrectSolc.json | 32 +- .../test_data}/solc-version/0.6.11/static.sol | 0 .../static.sol.0.6.11.IncorrectSolc.json | 12 +- .../test_data}/solc-version/0.7.4/static.sol | 0 .../0.7.4/static.sol.0.7.4.IncorrectSolc.json | 32 +- .../solc-version/0.7.6/dynamic_1.sol | 0 .../dynamic_1.sol.0.7.6.IncorrectSolc.json | 18 +- .../solc-version/0.7.6/dynamic_2.sol | 0 .../dynamic_2.sol.0.7.6.IncorrectSolc.json | 18 +- .../test_data}/solc-version/0.7.6/static.sol | 0 .../0.7.6/static.sol.0.7.6.IncorrectSolc.json | 32 +- .../0.5.10/storage_signed_integer_array.sol | 0 ....sol.0.5.10.StorageSignedIntegerArray.json | 757 + .../0.5.16/storage_signed_integer_array.sol | 0 ....sol.0.5.16.StorageSignedIntegerArray.json | 757 + .../test_data}/suicidal/0.4.25/suicidal.sol | 0 .../0.4.25/suicidal.sol.0.4.25.Suicidal.json | 14 +- .../test_data}/suicidal/0.5.16/suicidal.sol | 0 .../0.5.16/suicidal.sol.0.5.16.Suicidal.json | 14 +- .../test_data}/suicidal/0.6.11/suicidal.sol | 0 .../0.6.11/suicidal.sol.0.6.11.Suicidal.json | 14 +- .../test_data}/suicidal/0.7.6/suicidal.sol | 0 .../0.7.6/suicidal.sol.0.7.6.Suicidal.json | 14 +- .../tautology/0.4.25/type_based_tautology.sol | 0 ...utology.sol.0.4.25.TypeBasedTautology.json | 56 +- .../tautology/0.5.16/type_based_tautology.sol | 0 ...utology.sol.0.5.16.TypeBasedTautology.json | 56 +- .../tautology/0.6.11/type_based_tautology.sol | 0 ...utology.sol.0.6.11.TypeBasedTautology.json | 56 +- .../tautology/0.7.6/type_based_tautology.sol | 0 ...autology.sol.0.7.6.TypeBasedTautology.json | 56 +- .../test_data}/timestamp/0.4.25/timestamp.sol | 0 .../timestamp.sol.0.4.25.Timestamp.json | 202 +- .../test_data}/timestamp/0.5.16/timestamp.sol | 0 .../timestamp.sol.0.5.16.Timestamp.json | 84 +- .../test_data}/timestamp/0.6.11/timestamp.sol | 0 .../timestamp.sol.0.6.11.Timestamp.json | 202 +- .../test_data}/timestamp/0.7.6/timestamp.sol | 0 .../0.7.6/timestamp.sol.0.7.6.Timestamp.json | 84 +- .../0.4.25/too_many_digits.sol | 0 ..._many_digits.sol.0.4.25.TooManyDigits.json | 256 +- .../0.5.16/too_many_digits.sol | 0 ..._many_digits.sol.0.5.16.TooManyDigits.json | 180 +- .../0.6.11/too_many_digits.sol | 0 ..._many_digits.sol.0.6.11.TooManyDigits.json | 260 +- .../too-many-digits/0.7.6/too_many_digits.sol | 0 ...o_many_digits.sol.0.7.6.TooManyDigits.json | 252 +- .../test_data}/tx-origin/0.4.25/tx_origin.sol | 0 .../0.4.25/tx_origin.sol.0.4.25.TxOrigin.json | 144 +- .../test_data}/tx-origin/0.5.16/tx_origin.sol | 0 .../0.5.16/tx_origin.sol.0.5.16.TxOrigin.json | 56 +- .../test_data}/tx-origin/0.6.11/tx_origin.sol | 0 .../0.6.11/tx_origin.sol.0.6.11.TxOrigin.json | 56 +- .../test_data}/tx-origin/0.7.6/tx_origin.sol | 0 .../0.7.6/tx_origin.sol.0.7.6.TxOrigin.json | 56 +- .../0.4.25/unchecked_lowlevel.sol | 0 ...lowlevel.sol.0.4.25.UncheckedLowLevel.json | 28 +- .../0.5.16/unchecked_lowlevel.sol | 0 ...lowlevel.sol.0.5.16.UncheckedLowLevel.json | 28 +- .../0.6.11/unchecked_lowlevel.sol | 0 ...lowlevel.sol.0.6.11.UncheckedLowLevel.json | 28 +- .../0.7.6/unchecked_lowlevel.sol | 0 ..._lowlevel.sol.0.7.6.UncheckedLowLevel.json | 28 +- .../unchecked-send/0.4.25/unchecked_send.sol | 0 ...checked_send.sol.0.4.25.UncheckedSend.json | 28 +- .../unchecked-send/0.5.16/unchecked_send.sol | 0 ...checked_send.sol.0.5.16.UncheckedSend.json | 28 +- .../unchecked-send/0.6.11/unchecked_send.sol | 0 ...checked_send.sol.0.6.11.UncheckedSend.json | 28 +- .../unchecked-send/0.7.6/unchecked_send.sol | 0 ...nchecked_send.sol.0.7.6.UncheckedSend.json | 28 +- .../0.7.6/unused_return_transfers.sol | 0 ...transfers.sol.0.7.6.UncheckedTransfer.json | 56 +- .../0.4.25/unimplemented.sol | 0 ...0.4.25.UnimplementedFunctionDetection.json | 80 +- .../0.5.16/unimplemented.sol | 0 ...0.5.16.UnimplementedFunctionDetection.json | 44 +- .../0.5.16/unimplemented_interfaces.sol | 0 ...0.5.16.UnimplementedFunctionDetection.json | 0 .../0.6.11/unimplemented.sol | 0 ...0.6.11.UnimplementedFunctionDetection.json | 62 +- .../0.6.11/unimplemented_interfaces.sol | 0 ...0.6.11.UnimplementedFunctionDetection.json | 0 .../0.7.6/unimplemented.sol | 0 ....0.7.6.UnimplementedFunctionDetection.json | 62 +- .../0.7.6/unimplemented_interfaces.sol | 0 ....0.7.6.UnimplementedFunctionDetection.json | 0 ...uninitialized_function_ptr_constructor.sol | 0 ...UninitializedFunctionPtrsConstructor.json} | 278 +- ...uninitialized_function_ptr_constructor.sol | 0 ....UninitializedFunctionPtrsConstructor.json | 421 + ...uninitialized_function_ptr_constructor.sol | 0 ...UninitializedFunctionPtrsConstructor.json} | 376 +- .../0.4.25/uninitialized_local_variable.sol | 0 ...le.sol.0.4.25.UninitializedLocalVars.json} | 18 +- .../0.5.16/uninitialized_local_variable.sol | 0 ...ble.sol.0.5.16.UninitializedLocalVars.json | 18 +- .../0.6.11/uninitialized_local_variable.sol | 0 ...ble.sol.0.6.11.UninitializedLocalVars.json | 18 +- .../0.7.6/uninitialized_local_variable.sol | 0 ...ble.sol.0.7.6.UninitializedLocalVars.json} | 18 +- .../0.4.25/uninitialized.sol | 0 ....4.25.UninitializedStateVarsDetection.json | 88 +- .../0.5.16/uninitialized.sol | 0 ....5.16.UninitializedStateVarsDetection.json | 88 +- .../0.6.11/uninitialized.sol | 0 ....6.11.UninitializedStateVarsDetection.json | 88 +- .../0.7.6/uninitialized.sol | 0 ...0.7.6.UninitializedStateVarsDetection.json | 88 +- .../0.4.25/uninitialized_storage_pointer.sol | 0 ...r.sol.0.4.25.UninitializedStorageVars.json | 18 +- .../0.8.19/uninitialized_storage_pointer.sol | 0 ...r.sol.0.8.19.UninitializedStorageVars.json | 18 +- .../unprotected-upgrade/0.4.25/Buggy.sol | 0 ...ggy.sol.0.4.25.UnprotectedUpgradeable.json | 26 +- .../unprotected-upgrade/0.4.25/Fixed.sol | 0 ...xed.sol.0.4.25.UnprotectedUpgradeable.json | 0 .../0.4.25/Initializable.sol | 0 .../unprotected-upgrade/0.4.25/OnlyProxy.sol | 0 .../0.4.25/whitelisted.sol | 0 ...ted.sol.0.4.25.UnprotectedUpgradeable.json | 0 .../unprotected-upgrade/0.5.16/Buggy.sol | 0 ...ggy.sol.0.5.16.UnprotectedUpgradeable.json | 26 +- .../unprotected-upgrade/0.5.16/Fixed.sol | 0 ...xed.sol.0.5.16.UnprotectedUpgradeable.json | 0 .../0.5.16/Initializable.sol | 0 .../unprotected-upgrade/0.5.16/OnlyProxy.sol | 0 .../0.5.16/whitelisted.sol | 0 ...ted.sol.0.5.16.UnprotectedUpgradeable.json | 0 .../unprotected-upgrade/0.6.11/Buggy.sol | 0 ...ggy.sol.0.6.11.UnprotectedUpgradeable.json | 26 +- .../unprotected-upgrade/0.6.11/Fixed.sol | 0 ...xed.sol.0.6.11.UnprotectedUpgradeable.json | 0 .../0.6.11/Initializable.sol | 0 .../unprotected-upgrade/0.6.11/OnlyProxy.sol | 0 .../0.6.11/whitelisted.sol | 0 ...ted.sol.0.6.11.UnprotectedUpgradeable.json | 0 .../unprotected-upgrade/0.7.6/Buggy.sol | 0 ...uggy.sol.0.7.6.UnprotectedUpgradeable.json | 26 +- .../unprotected-upgrade/0.7.6/Fixed.sol | 0 ...ixed.sol.0.7.6.UnprotectedUpgradeable.json | 0 .../0.7.6/Initializable.sol | 0 .../unprotected-upgrade/0.7.6/OnlyProxy.sol | 0 .../unprotected-upgrade/0.7.6/whitelisted.sol | 0 ...sted.sol.0.7.6.UnprotectedUpgradeable.json | 0 .../unprotected-upgrade/0.8.15/Buggy.sol | 0 ...ggy.sol.0.8.15.UnprotectedUpgradeable.json | 26 +- .../unprotected-upgrade/0.8.15/Fixed.sol | 0 ...xed.sol.0.8.15.UnprotectedUpgradeable.json | 0 .../0.8.15/Initializable.sol | 0 .../unprotected-upgrade/0.8.15/OnlyProxy.sol | 0 .../0.8.15/whitelisted.sol | 0 ...ted.sol.0.8.15.UnprotectedUpgradeable.json | 0 .../unused-return/0.4.25/unused_return.sol | 0 ..._return.sol.0.4.25.UnusedReturnValues.json | 76 +- .../unused-return/0.5.16/unused_return.sol | 0 ..._return.sol.0.5.16.UnusedReturnValues.json | 56 +- .../unused-return/0.6.11/unused_return.sol | 0 ..._return.sol.0.6.11.UnusedReturnValues.json | 76 +- .../unused-return/0.7.6/unused_return.sol | 0 ...d_return.sol.0.7.6.UnusedReturnValues.json | 56 +- .../unused-state/0.4.25/unused_state.sol | 0 ...used_state.sol.0.4.25.UnusedStateVars.json | 72 +- .../unused-state/0.5.16/unused_state.sol | 0 ...used_state.sol.0.5.16.UnusedStateVars.json | 72 +- .../unused-state/0.6.11/unused_state.sol | 0 ...used_state.sol.0.6.11.UnusedStateVars.json | 72 +- .../unused-state/0.7.6/unused_state.sol | 0 ...nused_state.sol.0.7.6.UnusedStateVars.json | 72 +- .../0.4.25/var_read_using_this.sol | 0 ...sing_this.sol.0.4.25.VarReadUsingThis.json | 0 .../0.5.16/var_read_using_this.sol | 0 ...sing_this.sol.0.5.16.VarReadUsingThis.json | 200 +- .../0.6.11/var_read_using_this.sol | 0 ...sing_this.sol.0.6.11.VarReadUsingThis.json | 280 +- .../0.7.6/var_read_using_this.sol | 0 ...using_this.sol.0.7.6.VarReadUsingThis.json | 238 +- .../0.8.15/var_read_using_this.sol | 0 ...sing_this.sol.0.8.15.VarReadUsingThis.json | 196 +- .../0.4.25/predeclaration_usage_local.sol | 0 ...l.sol.0.4.25.PredeclarationUsageLocal.json | 270 +- .../test_data}/void-cst/0.4.25/void-cst.sol | 0 .../void-cst.sol.0.4.25.VoidConstructor.json | 28 +- .../test_data}/void-cst/0.5.16/void-cst.sol | 0 .../void-cst.sol.0.5.16.VoidConstructor.json | 28 +- .../test_data}/void-cst/0.6.11/void-cst.sol | 0 .../void-cst.sol.0.6.11.VoidConstructor.json | 28 +- .../test_data}/void-cst/0.7.6/void-cst.sol | 0 .../void-cst.sol.0.7.6.VoidConstructor.json | 28 +- .../test_data}/weak-prng/0.4.25/bad_prng.sol | 0 .../0.4.25/bad_prng.sol.0.4.25.BadPRNG.json | 226 +- .../test_data}/weak-prng/0.5.16/bad_prng.sol | 0 .../0.5.16/bad_prng.sol.0.5.16.BadPRNG.json | 264 +- .../test_data}/weak-prng/0.6.11/bad_prng.sol | 0 .../0.6.11/bad_prng.sol.0.6.11.BadPRNG.json | 226 +- .../test_data}/weak-prng/0.7.6/bad_prng.sol | 0 .../0.7.6/bad_prng.sol.0.7.6.BadPRNG.json | 254 +- .../0.8.0/write-after-write.sol | 0 ...after-write.sol.0.8.0.WriteAfterWrite.json | 308 +- tests/{ => e2e/detectors}/test_detectors.py | 4 + .../solc_parsing}/test_ast_parsing.py | 4 +- .../solc_parsing/test_data}/assembly-all.sol | 0 .../test_data}/assignment-0.4.0.sol | 0 .../test_data}/assignment-0.4.7.sol | 0 .../test_data}/binaryoperation-0.4.0.sol | 0 .../test_data}/binaryoperation-0.4.7.sol | 0 .../solc_parsing/test_data}/break-all.sol | 0 .../solc_parsing/test_data}/bytes_call.sol | 0 .../test_data}/call_to_variable-all.sol | 0 .../solc_parsing/test_data}/comment-all.sol | 0 .../compile/assembly-all.sol-0.4.0-legacy.zip | Bin .../compile/assembly-all.sol-0.4.1-legacy.zip | Bin .../assembly-all.sol-0.4.10-legacy.zip | Bin .../assembly-all.sol-0.4.11-legacy.zip | Bin .../assembly-all.sol-0.4.12-compact.zip | Bin .../assembly-all.sol-0.4.12-legacy.zip | Bin .../assembly-all.sol-0.4.13-compact.zip | Bin .../assembly-all.sol-0.4.13-legacy.zip | Bin .../assembly-all.sol-0.4.14-compact.zip | Bin .../assembly-all.sol-0.4.14-legacy.zip | Bin .../assembly-all.sol-0.4.15-compact.zip | Bin .../assembly-all.sol-0.4.15-legacy.zip | Bin .../assembly-all.sol-0.4.16-compact.zip | Bin .../assembly-all.sol-0.4.16-legacy.zip | Bin .../assembly-all.sol-0.4.17-compact.zip | Bin .../assembly-all.sol-0.4.17-legacy.zip | Bin .../assembly-all.sol-0.4.18-compact.zip | Bin .../assembly-all.sol-0.4.18-legacy.zip | Bin .../assembly-all.sol-0.4.19-compact.zip | Bin .../assembly-all.sol-0.4.19-legacy.zip | Bin .../compile/assembly-all.sol-0.4.2-legacy.zip | Bin .../assembly-all.sol-0.4.20-compact.zip | Bin .../assembly-all.sol-0.4.20-legacy.zip | Bin .../assembly-all.sol-0.4.21-compact.zip | Bin .../assembly-all.sol-0.4.21-legacy.zip | Bin .../assembly-all.sol-0.4.22-compact.zip | Bin .../assembly-all.sol-0.4.22-legacy.zip | Bin .../assembly-all.sol-0.4.23-compact.zip | Bin .../assembly-all.sol-0.4.23-legacy.zip | Bin .../assembly-all.sol-0.4.24-compact.zip | Bin .../assembly-all.sol-0.4.24-legacy.zip | Bin .../assembly-all.sol-0.4.25-compact.zip | Bin .../assembly-all.sol-0.4.25-legacy.zip | Bin .../assembly-all.sol-0.4.26-compact.zip | Bin .../assembly-all.sol-0.4.26-legacy.zip | Bin .../compile/assembly-all.sol-0.4.3-legacy.zip | Bin .../compile/assembly-all.sol-0.4.4-legacy.zip | Bin .../compile/assembly-all.sol-0.4.5-legacy.zip | Bin .../compile/assembly-all.sol-0.4.6-legacy.zip | Bin .../compile/assembly-all.sol-0.4.7-legacy.zip | Bin .../compile/assembly-all.sol-0.4.8-legacy.zip | Bin .../compile/assembly-all.sol-0.4.9-legacy.zip | Bin .../assembly-all.sol-0.5.0-compact.zip | Bin .../compile/assembly-all.sol-0.5.0-legacy.zip | Bin .../assembly-all.sol-0.5.1-compact.zip | Bin .../compile/assembly-all.sol-0.5.1-legacy.zip | Bin .../assembly-all.sol-0.5.10-compact.zip | Bin .../assembly-all.sol-0.5.10-legacy.zip | Bin .../assembly-all.sol-0.5.11-compact.zip | Bin .../assembly-all.sol-0.5.11-legacy.zip | Bin .../assembly-all.sol-0.5.12-compact.zip | Bin .../assembly-all.sol-0.5.12-legacy.zip | Bin .../assembly-all.sol-0.5.13-compact.zip | Bin .../assembly-all.sol-0.5.13-legacy.zip | Bin .../assembly-all.sol-0.5.14-compact.zip | Bin .../assembly-all.sol-0.5.14-legacy.zip | Bin .../assembly-all.sol-0.5.15-compact.zip | Bin .../assembly-all.sol-0.5.15-legacy.zip | Bin .../assembly-all.sol-0.5.16-compact.zip | Bin .../assembly-all.sol-0.5.16-legacy.zip | Bin .../assembly-all.sol-0.5.17-compact.zip | Bin .../assembly-all.sol-0.5.17-legacy.zip | Bin .../assembly-all.sol-0.5.2-compact.zip | Bin .../compile/assembly-all.sol-0.5.2-legacy.zip | Bin .../assembly-all.sol-0.5.3-compact.zip | Bin .../compile/assembly-all.sol-0.5.3-legacy.zip | Bin .../assembly-all.sol-0.5.4-compact.zip | Bin .../compile/assembly-all.sol-0.5.4-legacy.zip | Bin .../assembly-all.sol-0.5.5-compact.zip | Bin .../compile/assembly-all.sol-0.5.5-legacy.zip | Bin .../assembly-all.sol-0.5.6-compact.zip | Bin .../compile/assembly-all.sol-0.5.6-legacy.zip | Bin .../assembly-all.sol-0.5.7-compact.zip | Bin .../compile/assembly-all.sol-0.5.7-legacy.zip | Bin .../assembly-all.sol-0.5.8-compact.zip | Bin .../compile/assembly-all.sol-0.5.8-legacy.zip | Bin .../assembly-all.sol-0.5.9-compact.zip | Bin .../compile/assembly-all.sol-0.5.9-legacy.zip | Bin .../assembly-all.sol-0.6.0-compact.zip | Bin .../compile/assembly-all.sol-0.6.0-legacy.zip | Bin .../assembly-all.sol-0.6.1-compact.zip | Bin .../compile/assembly-all.sol-0.6.1-legacy.zip | Bin .../assembly-all.sol-0.6.10-compact.zip | Bin .../assembly-all.sol-0.6.10-legacy.zip | Bin .../assembly-all.sol-0.6.11-compact.zip | Bin .../assembly-all.sol-0.6.11-legacy.zip | Bin .../assembly-all.sol-0.6.12-compact.zip | Bin .../assembly-all.sol-0.6.12-legacy.zip | Bin .../assembly-all.sol-0.6.2-compact.zip | Bin .../compile/assembly-all.sol-0.6.2-legacy.zip | Bin .../assembly-all.sol-0.6.3-compact.zip | Bin .../compile/assembly-all.sol-0.6.3-legacy.zip | Bin .../assembly-all.sol-0.6.4-compact.zip | Bin .../compile/assembly-all.sol-0.6.4-legacy.zip | Bin .../assembly-all.sol-0.6.5-compact.zip | Bin .../compile/assembly-all.sol-0.6.5-legacy.zip | Bin .../assembly-all.sol-0.6.6-compact.zip | Bin .../compile/assembly-all.sol-0.6.6-legacy.zip | Bin .../assembly-all.sol-0.6.7-compact.zip | Bin .../compile/assembly-all.sol-0.6.7-legacy.zip | Bin .../assembly-all.sol-0.6.8-compact.zip | Bin .../compile/assembly-all.sol-0.6.8-legacy.zip | Bin .../assembly-all.sol-0.6.9-compact.zip | Bin .../compile/assembly-all.sol-0.6.9-legacy.zip | Bin .../assembly-all.sol-0.7.0-compact.zip | Bin .../compile/assembly-all.sol-0.7.0-legacy.zip | Bin .../assembly-all.sol-0.7.1-compact.zip | Bin .../compile/assembly-all.sol-0.7.1-legacy.zip | Bin .../assembly-all.sol-0.7.2-compact.zip | Bin .../compile/assembly-all.sol-0.7.2-legacy.zip | Bin .../assembly-all.sol-0.7.3-compact.zip | Bin .../compile/assembly-all.sol-0.7.3-legacy.zip | Bin .../assembly-all.sol-0.7.4-compact.zip | Bin .../compile/assembly-all.sol-0.7.4-legacy.zip | Bin .../assembly-all.sol-0.7.5-compact.zip | Bin .../compile/assembly-all.sol-0.7.5-legacy.zip | Bin .../assembly-all.sol-0.7.6-compact.zip | Bin .../compile/assembly-all.sol-0.7.6-legacy.zip | Bin .../assembly-all.sol-0.8.0-compact.zip | Bin .../assembly-all.sol-0.8.1-compact.zip | Bin .../assembly-all.sol-0.8.10-compact.zip | Bin .../assembly-all.sol-0.8.11-compact.zip | Bin .../assembly-all.sol-0.8.12-compact.zip | Bin .../assembly-all.sol-0.8.13-compact.zip | Bin .../assembly-all.sol-0.8.14-compact.zip | Bin .../assembly-all.sol-0.8.15-compact.zip | Bin .../assembly-all.sol-0.8.2-compact.zip | Bin .../assembly-all.sol-0.8.3-compact.zip | Bin .../assembly-all.sol-0.8.4-compact.zip | Bin .../assembly-all.sol-0.8.5-compact.zip | Bin .../assembly-all.sol-0.8.6-compact.zip | Bin .../assembly-all.sol-0.8.7-compact.zip | Bin .../assembly-all.sol-0.8.8-compact.zip | Bin .../assembly-all.sol-0.8.9-compact.zip | Bin .../assignment-0.4.0.sol-0.4.0-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.1-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.10-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.11-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.12-compact.zip | Bin .../assignment-0.4.0.sol-0.4.12-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.13-compact.zip | Bin .../assignment-0.4.0.sol-0.4.13-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.14-compact.zip | Bin .../assignment-0.4.0.sol-0.4.14-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.15-compact.zip | Bin .../assignment-0.4.0.sol-0.4.15-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.16-compact.zip | Bin .../assignment-0.4.0.sol-0.4.16-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.17-compact.zip | Bin .../assignment-0.4.0.sol-0.4.17-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.18-compact.zip | Bin .../assignment-0.4.0.sol-0.4.18-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.19-compact.zip | Bin .../assignment-0.4.0.sol-0.4.19-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.2-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.20-compact.zip | Bin .../assignment-0.4.0.sol-0.4.20-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.21-compact.zip | Bin .../assignment-0.4.0.sol-0.4.21-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.22-compact.zip | Bin .../assignment-0.4.0.sol-0.4.22-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.23-compact.zip | Bin .../assignment-0.4.0.sol-0.4.23-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.24-compact.zip | Bin .../assignment-0.4.0.sol-0.4.24-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.25-compact.zip | Bin .../assignment-0.4.0.sol-0.4.25-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.26-compact.zip | Bin .../assignment-0.4.0.sol-0.4.26-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.3-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.4-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.5-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.6-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.7-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.8-legacy.zip | Bin .../assignment-0.4.0.sol-0.4.9-legacy.zip | Bin .../assignment-0.4.7.sol-0.4.7-legacy.zip | Bin .../assignment-0.4.7.sol-0.4.8-legacy.zip | Bin .../assignment-0.4.7.sol-0.4.9-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.0-compact.zip | Bin .../assignment-0.4.7.sol-0.5.0-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.1-compact.zip | Bin .../assignment-0.4.7.sol-0.5.1-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.10-compact.zip | Bin .../assignment-0.4.7.sol-0.5.10-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.11-compact.zip | Bin .../assignment-0.4.7.sol-0.5.11-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.12-compact.zip | Bin .../assignment-0.4.7.sol-0.5.12-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.13-compact.zip | Bin .../assignment-0.4.7.sol-0.5.13-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.14-compact.zip | Bin .../assignment-0.4.7.sol-0.5.14-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.15-compact.zip | Bin .../assignment-0.4.7.sol-0.5.15-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.16-compact.zip | Bin .../assignment-0.4.7.sol-0.5.16-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.17-compact.zip | Bin .../assignment-0.4.7.sol-0.5.17-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.2-compact.zip | Bin .../assignment-0.4.7.sol-0.5.2-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.3-compact.zip | Bin .../assignment-0.4.7.sol-0.5.3-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.4-compact.zip | Bin .../assignment-0.4.7.sol-0.5.4-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.5-compact.zip | Bin .../assignment-0.4.7.sol-0.5.5-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.6-compact.zip | Bin .../assignment-0.4.7.sol-0.5.6-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.7-compact.zip | Bin .../assignment-0.4.7.sol-0.5.7-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.8-compact.zip | Bin .../assignment-0.4.7.sol-0.5.8-legacy.zip | Bin .../assignment-0.4.7.sol-0.5.9-compact.zip | Bin .../assignment-0.4.7.sol-0.5.9-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.0-compact.zip | Bin .../assignment-0.4.7.sol-0.6.0-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.1-compact.zip | Bin .../assignment-0.4.7.sol-0.6.1-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.10-compact.zip | Bin .../assignment-0.4.7.sol-0.6.10-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.11-compact.zip | Bin .../assignment-0.4.7.sol-0.6.11-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.12-compact.zip | Bin .../assignment-0.4.7.sol-0.6.12-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.2-compact.zip | Bin .../assignment-0.4.7.sol-0.6.2-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.3-compact.zip | Bin .../assignment-0.4.7.sol-0.6.3-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.4-compact.zip | Bin .../assignment-0.4.7.sol-0.6.4-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.5-compact.zip | Bin .../assignment-0.4.7.sol-0.6.5-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.6-compact.zip | Bin .../assignment-0.4.7.sol-0.6.6-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.7-compact.zip | Bin .../assignment-0.4.7.sol-0.6.7-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.8-compact.zip | Bin .../assignment-0.4.7.sol-0.6.8-legacy.zip | Bin .../assignment-0.4.7.sol-0.6.9-compact.zip | Bin .../assignment-0.4.7.sol-0.6.9-legacy.zip | Bin .../assignment-0.4.7.sol-0.7.0-compact.zip | Bin .../assignment-0.4.7.sol-0.7.0-legacy.zip | Bin .../assignment-0.4.7.sol-0.7.1-compact.zip | Bin .../assignment-0.4.7.sol-0.7.1-legacy.zip | Bin .../assignment-0.4.7.sol-0.7.2-compact.zip | Bin .../assignment-0.4.7.sol-0.7.2-legacy.zip | Bin .../assignment-0.4.7.sol-0.7.3-compact.zip | Bin .../assignment-0.4.7.sol-0.7.3-legacy.zip | Bin .../assignment-0.4.7.sol-0.7.4-compact.zip | Bin .../assignment-0.4.7.sol-0.7.4-legacy.zip | Bin .../assignment-0.4.7.sol-0.7.5-compact.zip | Bin .../assignment-0.4.7.sol-0.7.5-legacy.zip | Bin .../assignment-0.4.7.sol-0.7.6-compact.zip | Bin .../assignment-0.4.7.sol-0.7.6-legacy.zip | Bin .../assignment-0.4.7.sol-0.8.0-compact.zip | Bin .../assignment-0.4.7.sol-0.8.1-compact.zip | Bin .../assignment-0.4.7.sol-0.8.10-compact.zip | Bin .../assignment-0.4.7.sol-0.8.11-compact.zip | Bin .../assignment-0.4.7.sol-0.8.12-compact.zip | Bin .../assignment-0.4.7.sol-0.8.13-compact.zip | Bin .../assignment-0.4.7.sol-0.8.14-compact.zip | Bin .../assignment-0.4.7.sol-0.8.15-compact.zip | Bin .../assignment-0.4.7.sol-0.8.2-compact.zip | Bin .../assignment-0.4.7.sol-0.8.3-compact.zip | Bin .../assignment-0.4.7.sol-0.8.4-compact.zip | Bin .../assignment-0.4.7.sol-0.8.5-compact.zip | Bin .../assignment-0.4.7.sol-0.8.6-compact.zip | Bin .../assignment-0.4.7.sol-0.8.7-compact.zip | Bin .../assignment-0.4.7.sol-0.8.8-compact.zip | Bin .../assignment-0.4.7.sol-0.8.9-compact.zip | Bin ...binaryoperation-0.4.0.sol-0.4.0-legacy.zip | Bin ...binaryoperation-0.4.0.sol-0.4.1-legacy.zip | Bin ...inaryoperation-0.4.0.sol-0.4.10-legacy.zip | Bin ...inaryoperation-0.4.0.sol-0.4.11-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.12-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.12-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.13-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.13-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.14-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.14-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.15-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.15-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.16-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.16-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.17-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.17-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.18-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.18-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.19-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.19-legacy.zip | Bin ...binaryoperation-0.4.0.sol-0.4.2-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.20-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.20-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.21-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.21-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.22-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.22-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.23-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.23-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.24-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.24-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.25-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.25-legacy.zip | Bin ...naryoperation-0.4.0.sol-0.4.26-compact.zip | Bin ...inaryoperation-0.4.0.sol-0.4.26-legacy.zip | Bin ...binaryoperation-0.4.0.sol-0.4.3-legacy.zip | Bin ...binaryoperation-0.4.0.sol-0.4.4-legacy.zip | Bin ...binaryoperation-0.4.0.sol-0.4.5-legacy.zip | Bin ...binaryoperation-0.4.0.sol-0.4.6-legacy.zip | Bin ...binaryoperation-0.4.0.sol-0.4.7-legacy.zip | Bin ...binaryoperation-0.4.0.sol-0.4.8-legacy.zip | Bin ...binaryoperation-0.4.0.sol-0.4.9-legacy.zip | Bin ...binaryoperation-0.4.7.sol-0.4.7-legacy.zip | Bin ...binaryoperation-0.4.7.sol-0.4.8-legacy.zip | Bin ...binaryoperation-0.4.7.sol-0.4.9-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.5.0-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.5.0-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.5.1-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.5.1-legacy.zip | Bin ...naryoperation-0.4.7.sol-0.5.10-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.5.10-legacy.zip | Bin ...naryoperation-0.4.7.sol-0.5.11-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.5.11-legacy.zip | Bin ...naryoperation-0.4.7.sol-0.5.12-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.5.12-legacy.zip | Bin ...naryoperation-0.4.7.sol-0.5.13-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.5.13-legacy.zip | Bin ...naryoperation-0.4.7.sol-0.5.14-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.5.14-legacy.zip | Bin ...naryoperation-0.4.7.sol-0.5.15-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.5.15-legacy.zip | Bin ...naryoperation-0.4.7.sol-0.5.16-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.5.16-legacy.zip | Bin ...naryoperation-0.4.7.sol-0.5.17-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.5.17-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.5.2-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.5.2-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.5.3-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.5.3-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.5.4-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.5.4-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.5.5-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.5.5-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.5.6-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.5.6-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.5.7-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.5.7-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.5.8-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.5.8-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.5.9-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.5.9-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.6.0-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.6.0-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.6.1-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.6.1-legacy.zip | Bin ...naryoperation-0.4.7.sol-0.6.10-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.6.10-legacy.zip | Bin ...naryoperation-0.4.7.sol-0.6.11-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.6.11-legacy.zip | Bin ...naryoperation-0.4.7.sol-0.6.12-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.6.12-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.6.2-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.6.2-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.6.3-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.6.3-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.6.4-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.6.4-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.6.5-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.6.5-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.6.6-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.6.6-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.6.7-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.6.7-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.6.8-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.6.8-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.6.9-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.6.9-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.7.0-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.7.0-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.7.1-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.7.1-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.7.2-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.7.2-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.7.3-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.7.3-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.7.4-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.7.4-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.7.5-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.7.5-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.7.6-compact.zip | Bin ...binaryoperation-0.4.7.sol-0.7.6-legacy.zip | Bin ...inaryoperation-0.4.7.sol-0.8.0-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.8.1-compact.zip | Bin ...naryoperation-0.4.7.sol-0.8.10-compact.zip | Bin ...naryoperation-0.4.7.sol-0.8.11-compact.zip | Bin ...naryoperation-0.4.7.sol-0.8.12-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.8.2-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.8.3-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.8.4-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.8.5-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.8.6-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.8.7-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.8.8-compact.zip | Bin ...inaryoperation-0.4.7.sol-0.8.9-compact.zip | Bin .../compile/break-all.sol-0.4.0-legacy.zip | Bin .../compile/break-all.sol-0.4.1-legacy.zip | Bin .../compile/break-all.sol-0.4.10-legacy.zip | Bin .../compile/break-all.sol-0.4.11-legacy.zip | Bin .../compile/break-all.sol-0.4.12-compact.zip | Bin .../compile/break-all.sol-0.4.12-legacy.zip | Bin .../compile/break-all.sol-0.4.13-compact.zip | Bin .../compile/break-all.sol-0.4.13-legacy.zip | Bin .../compile/break-all.sol-0.4.14-compact.zip | Bin .../compile/break-all.sol-0.4.14-legacy.zip | Bin .../compile/break-all.sol-0.4.15-compact.zip | Bin .../compile/break-all.sol-0.4.15-legacy.zip | Bin .../compile/break-all.sol-0.4.16-compact.zip | Bin .../compile/break-all.sol-0.4.16-legacy.zip | Bin .../compile/break-all.sol-0.4.17-compact.zip | Bin .../compile/break-all.sol-0.4.17-legacy.zip | Bin .../compile/break-all.sol-0.4.18-compact.zip | Bin .../compile/break-all.sol-0.4.18-legacy.zip | Bin .../compile/break-all.sol-0.4.19-compact.zip | Bin .../compile/break-all.sol-0.4.19-legacy.zip | Bin .../compile/break-all.sol-0.4.2-legacy.zip | Bin .../compile/break-all.sol-0.4.20-compact.zip | Bin .../compile/break-all.sol-0.4.20-legacy.zip | Bin .../compile/break-all.sol-0.4.21-compact.zip | Bin .../compile/break-all.sol-0.4.21-legacy.zip | Bin .../compile/break-all.sol-0.4.22-compact.zip | Bin .../compile/break-all.sol-0.4.22-legacy.zip | Bin .../compile/break-all.sol-0.4.23-compact.zip | Bin .../compile/break-all.sol-0.4.23-legacy.zip | Bin .../compile/break-all.sol-0.4.24-compact.zip | Bin .../compile/break-all.sol-0.4.24-legacy.zip | Bin .../compile/break-all.sol-0.4.25-compact.zip | Bin .../compile/break-all.sol-0.4.25-legacy.zip | Bin .../compile/break-all.sol-0.4.26-compact.zip | Bin .../compile/break-all.sol-0.4.26-legacy.zip | Bin .../compile/break-all.sol-0.4.3-legacy.zip | Bin .../compile/break-all.sol-0.4.4-legacy.zip | Bin .../compile/break-all.sol-0.4.5-legacy.zip | Bin .../compile/break-all.sol-0.4.6-legacy.zip | Bin .../compile/break-all.sol-0.4.7-legacy.zip | Bin .../compile/break-all.sol-0.4.8-legacy.zip | Bin .../compile/break-all.sol-0.4.9-legacy.zip | Bin .../compile/break-all.sol-0.5.0-compact.zip | Bin .../compile/break-all.sol-0.5.0-legacy.zip | Bin .../compile/break-all.sol-0.5.1-compact.zip | Bin .../compile/break-all.sol-0.5.1-legacy.zip | Bin .../compile/break-all.sol-0.5.10-compact.zip | Bin .../compile/break-all.sol-0.5.10-legacy.zip | Bin .../compile/break-all.sol-0.5.11-compact.zip | Bin .../compile/break-all.sol-0.5.11-legacy.zip | Bin .../compile/break-all.sol-0.5.12-compact.zip | Bin .../compile/break-all.sol-0.5.12-legacy.zip | Bin .../compile/break-all.sol-0.5.13-compact.zip | Bin .../compile/break-all.sol-0.5.13-legacy.zip | Bin .../compile/break-all.sol-0.5.14-compact.zip | Bin .../compile/break-all.sol-0.5.14-legacy.zip | Bin .../compile/break-all.sol-0.5.15-compact.zip | Bin .../compile/break-all.sol-0.5.15-legacy.zip | Bin .../compile/break-all.sol-0.5.16-compact.zip | Bin .../compile/break-all.sol-0.5.16-legacy.zip | Bin .../compile/break-all.sol-0.5.17-compact.zip | Bin .../compile/break-all.sol-0.5.17-legacy.zip | Bin .../compile/break-all.sol-0.5.2-compact.zip | Bin .../compile/break-all.sol-0.5.2-legacy.zip | Bin .../compile/break-all.sol-0.5.3-compact.zip | Bin .../compile/break-all.sol-0.5.3-legacy.zip | Bin .../compile/break-all.sol-0.5.4-compact.zip | Bin .../compile/break-all.sol-0.5.4-legacy.zip | Bin .../compile/break-all.sol-0.5.5-compact.zip | Bin .../compile/break-all.sol-0.5.5-legacy.zip | Bin .../compile/break-all.sol-0.5.6-compact.zip | Bin .../compile/break-all.sol-0.5.6-legacy.zip | Bin .../compile/break-all.sol-0.5.7-compact.zip | Bin .../compile/break-all.sol-0.5.7-legacy.zip | Bin .../compile/break-all.sol-0.5.8-compact.zip | Bin .../compile/break-all.sol-0.5.8-legacy.zip | Bin .../compile/break-all.sol-0.5.9-compact.zip | Bin .../compile/break-all.sol-0.5.9-legacy.zip | Bin .../compile/break-all.sol-0.6.0-compact.zip | Bin .../compile/break-all.sol-0.6.0-legacy.zip | Bin .../compile/break-all.sol-0.6.1-compact.zip | Bin .../compile/break-all.sol-0.6.1-legacy.zip | Bin .../compile/break-all.sol-0.6.10-compact.zip | Bin .../compile/break-all.sol-0.6.10-legacy.zip | Bin .../compile/break-all.sol-0.6.11-compact.zip | Bin .../compile/break-all.sol-0.6.11-legacy.zip | Bin .../compile/break-all.sol-0.6.12-compact.zip | Bin .../compile/break-all.sol-0.6.12-legacy.zip | Bin .../compile/break-all.sol-0.6.2-compact.zip | Bin .../compile/break-all.sol-0.6.2-legacy.zip | Bin .../compile/break-all.sol-0.6.3-compact.zip | Bin .../compile/break-all.sol-0.6.3-legacy.zip | Bin .../compile/break-all.sol-0.6.4-compact.zip | Bin .../compile/break-all.sol-0.6.4-legacy.zip | Bin .../compile/break-all.sol-0.6.5-compact.zip | Bin .../compile/break-all.sol-0.6.5-legacy.zip | Bin .../compile/break-all.sol-0.6.6-compact.zip | Bin .../compile/break-all.sol-0.6.6-legacy.zip | Bin .../compile/break-all.sol-0.6.7-compact.zip | Bin .../compile/break-all.sol-0.6.7-legacy.zip | Bin .../compile/break-all.sol-0.6.8-compact.zip | Bin .../compile/break-all.sol-0.6.8-legacy.zip | Bin .../compile/break-all.sol-0.6.9-compact.zip | Bin .../compile/break-all.sol-0.6.9-legacy.zip | Bin .../compile/break-all.sol-0.7.0-compact.zip | Bin .../compile/break-all.sol-0.7.0-legacy.zip | Bin .../compile/break-all.sol-0.7.1-compact.zip | Bin .../compile/break-all.sol-0.7.1-legacy.zip | Bin .../compile/break-all.sol-0.7.2-compact.zip | Bin .../compile/break-all.sol-0.7.2-legacy.zip | Bin .../compile/break-all.sol-0.7.3-compact.zip | Bin .../compile/break-all.sol-0.7.3-legacy.zip | Bin .../compile/break-all.sol-0.7.4-compact.zip | Bin .../compile/break-all.sol-0.7.4-legacy.zip | Bin .../compile/break-all.sol-0.7.5-compact.zip | Bin .../compile/break-all.sol-0.7.5-legacy.zip | Bin .../compile/break-all.sol-0.7.6-compact.zip | Bin .../compile/break-all.sol-0.7.6-legacy.zip | Bin .../compile/break-all.sol-0.8.0-compact.zip | Bin .../compile/break-all.sol-0.8.1-compact.zip | Bin .../compile/break-all.sol-0.8.10-compact.zip | Bin .../compile/break-all.sol-0.8.11-compact.zip | Bin .../compile/break-all.sol-0.8.12-compact.zip | Bin .../compile/break-all.sol-0.8.13-compact.zip | Bin .../compile/break-all.sol-0.8.14-compact.zip | Bin .../compile/break-all.sol-0.8.15-compact.zip | Bin .../compile/break-all.sol-0.8.2-compact.zip | Bin .../compile/break-all.sol-0.8.3-compact.zip | Bin .../compile/break-all.sol-0.8.4-compact.zip | Bin .../compile/break-all.sol-0.8.5-compact.zip | Bin .../compile/break-all.sol-0.8.6-compact.zip | Bin .../compile/break-all.sol-0.8.7-compact.zip | Bin .../compile/break-all.sol-0.8.8-compact.zip | Bin .../compile/break-all.sol-0.8.9-compact.zip | Bin .../compile/bytes_call.sol-0.8.12-compact.zip | Bin .../call_to_variable-all.sol-0.4.0-legacy.zip | Bin .../call_to_variable-all.sol-0.4.1-legacy.zip | Bin ...call_to_variable-all.sol-0.4.10-legacy.zip | Bin ...call_to_variable-all.sol-0.4.11-legacy.zip | Bin ...all_to_variable-all.sol-0.4.12-compact.zip | Bin ...call_to_variable-all.sol-0.4.12-legacy.zip | Bin ...all_to_variable-all.sol-0.4.13-compact.zip | Bin ...call_to_variable-all.sol-0.4.13-legacy.zip | Bin ...all_to_variable-all.sol-0.4.14-compact.zip | Bin ...call_to_variable-all.sol-0.4.14-legacy.zip | Bin ...all_to_variable-all.sol-0.4.15-compact.zip | Bin ...call_to_variable-all.sol-0.4.15-legacy.zip | Bin ...all_to_variable-all.sol-0.4.16-compact.zip | Bin ...call_to_variable-all.sol-0.4.16-legacy.zip | Bin ...all_to_variable-all.sol-0.4.17-compact.zip | Bin ...call_to_variable-all.sol-0.4.17-legacy.zip | Bin ...all_to_variable-all.sol-0.4.18-compact.zip | Bin ...call_to_variable-all.sol-0.4.18-legacy.zip | Bin ...all_to_variable-all.sol-0.4.19-compact.zip | Bin ...call_to_variable-all.sol-0.4.19-legacy.zip | Bin .../call_to_variable-all.sol-0.4.2-legacy.zip | Bin ...all_to_variable-all.sol-0.4.20-compact.zip | Bin ...call_to_variable-all.sol-0.4.20-legacy.zip | Bin ...all_to_variable-all.sol-0.4.21-compact.zip | Bin ...call_to_variable-all.sol-0.4.21-legacy.zip | Bin ...all_to_variable-all.sol-0.4.22-compact.zip | Bin ...call_to_variable-all.sol-0.4.22-legacy.zip | Bin ...all_to_variable-all.sol-0.4.23-compact.zip | Bin ...call_to_variable-all.sol-0.4.23-legacy.zip | Bin ...all_to_variable-all.sol-0.4.24-compact.zip | Bin ...call_to_variable-all.sol-0.4.24-legacy.zip | Bin ...all_to_variable-all.sol-0.4.25-compact.zip | Bin ...call_to_variable-all.sol-0.4.25-legacy.zip | Bin ...all_to_variable-all.sol-0.4.26-compact.zip | Bin ...call_to_variable-all.sol-0.4.26-legacy.zip | Bin .../call_to_variable-all.sol-0.4.3-legacy.zip | Bin .../call_to_variable-all.sol-0.4.4-legacy.zip | Bin .../call_to_variable-all.sol-0.4.5-legacy.zip | Bin .../call_to_variable-all.sol-0.4.6-legacy.zip | Bin .../call_to_variable-all.sol-0.4.7-legacy.zip | Bin .../call_to_variable-all.sol-0.4.8-legacy.zip | Bin .../call_to_variable-all.sol-0.4.9-legacy.zip | Bin ...call_to_variable-all.sol-0.5.0-compact.zip | Bin .../call_to_variable-all.sol-0.5.0-legacy.zip | Bin ...call_to_variable-all.sol-0.5.1-compact.zip | Bin .../call_to_variable-all.sol-0.5.1-legacy.zip | Bin ...all_to_variable-all.sol-0.5.10-compact.zip | Bin ...call_to_variable-all.sol-0.5.10-legacy.zip | Bin ...all_to_variable-all.sol-0.5.11-compact.zip | Bin ...call_to_variable-all.sol-0.5.11-legacy.zip | Bin ...all_to_variable-all.sol-0.5.12-compact.zip | Bin ...call_to_variable-all.sol-0.5.12-legacy.zip | Bin ...all_to_variable-all.sol-0.5.13-compact.zip | Bin ...call_to_variable-all.sol-0.5.13-legacy.zip | Bin ...all_to_variable-all.sol-0.5.14-compact.zip | Bin ...call_to_variable-all.sol-0.5.14-legacy.zip | Bin ...all_to_variable-all.sol-0.5.15-compact.zip | Bin ...call_to_variable-all.sol-0.5.15-legacy.zip | Bin ...all_to_variable-all.sol-0.5.16-compact.zip | Bin ...call_to_variable-all.sol-0.5.16-legacy.zip | Bin ...all_to_variable-all.sol-0.5.17-compact.zip | Bin ...call_to_variable-all.sol-0.5.17-legacy.zip | Bin ...call_to_variable-all.sol-0.5.2-compact.zip | Bin .../call_to_variable-all.sol-0.5.2-legacy.zip | Bin ...call_to_variable-all.sol-0.5.3-compact.zip | Bin .../call_to_variable-all.sol-0.5.3-legacy.zip | Bin ...call_to_variable-all.sol-0.5.4-compact.zip | Bin .../call_to_variable-all.sol-0.5.4-legacy.zip | Bin ...call_to_variable-all.sol-0.5.5-compact.zip | Bin .../call_to_variable-all.sol-0.5.5-legacy.zip | Bin ...call_to_variable-all.sol-0.5.6-compact.zip | Bin .../call_to_variable-all.sol-0.5.6-legacy.zip | Bin ...call_to_variable-all.sol-0.5.7-compact.zip | Bin .../call_to_variable-all.sol-0.5.7-legacy.zip | Bin ...call_to_variable-all.sol-0.5.8-compact.zip | Bin .../call_to_variable-all.sol-0.5.8-legacy.zip | Bin ...call_to_variable-all.sol-0.5.9-compact.zip | Bin .../call_to_variable-all.sol-0.5.9-legacy.zip | Bin ...call_to_variable-all.sol-0.6.0-compact.zip | Bin .../call_to_variable-all.sol-0.6.0-legacy.zip | Bin ...call_to_variable-all.sol-0.6.1-compact.zip | Bin .../call_to_variable-all.sol-0.6.1-legacy.zip | Bin ...all_to_variable-all.sol-0.6.10-compact.zip | Bin ...call_to_variable-all.sol-0.6.10-legacy.zip | Bin ...all_to_variable-all.sol-0.6.11-compact.zip | Bin ...call_to_variable-all.sol-0.6.11-legacy.zip | Bin ...all_to_variable-all.sol-0.6.12-compact.zip | Bin ...call_to_variable-all.sol-0.6.12-legacy.zip | Bin ...call_to_variable-all.sol-0.6.2-compact.zip | Bin .../call_to_variable-all.sol-0.6.2-legacy.zip | Bin ...call_to_variable-all.sol-0.6.3-compact.zip | Bin .../call_to_variable-all.sol-0.6.3-legacy.zip | Bin ...call_to_variable-all.sol-0.6.4-compact.zip | Bin .../call_to_variable-all.sol-0.6.4-legacy.zip | Bin ...call_to_variable-all.sol-0.6.5-compact.zip | Bin .../call_to_variable-all.sol-0.6.5-legacy.zip | Bin ...call_to_variable-all.sol-0.6.6-compact.zip | Bin .../call_to_variable-all.sol-0.6.6-legacy.zip | Bin ...call_to_variable-all.sol-0.6.7-compact.zip | Bin .../call_to_variable-all.sol-0.6.7-legacy.zip | Bin ...call_to_variable-all.sol-0.6.8-compact.zip | Bin .../call_to_variable-all.sol-0.6.8-legacy.zip | Bin ...call_to_variable-all.sol-0.6.9-compact.zip | Bin .../call_to_variable-all.sol-0.6.9-legacy.zip | Bin ...call_to_variable-all.sol-0.7.0-compact.zip | Bin .../call_to_variable-all.sol-0.7.0-legacy.zip | Bin ...call_to_variable-all.sol-0.7.1-compact.zip | Bin .../call_to_variable-all.sol-0.7.1-legacy.zip | Bin ...call_to_variable-all.sol-0.7.2-compact.zip | Bin .../call_to_variable-all.sol-0.7.2-legacy.zip | Bin ...call_to_variable-all.sol-0.7.3-compact.zip | Bin .../call_to_variable-all.sol-0.7.3-legacy.zip | Bin ...call_to_variable-all.sol-0.7.4-compact.zip | Bin .../call_to_variable-all.sol-0.7.4-legacy.zip | Bin ...call_to_variable-all.sol-0.7.5-compact.zip | Bin .../call_to_variable-all.sol-0.7.5-legacy.zip | Bin ...call_to_variable-all.sol-0.7.6-compact.zip | Bin .../call_to_variable-all.sol-0.7.6-legacy.zip | Bin ...call_to_variable-all.sol-0.8.0-compact.zip | Bin ...call_to_variable-all.sol-0.8.1-compact.zip | Bin ...all_to_variable-all.sol-0.8.10-compact.zip | Bin ...all_to_variable-all.sol-0.8.11-compact.zip | Bin ...all_to_variable-all.sol-0.8.12-compact.zip | Bin ...all_to_variable-all.sol-0.8.13-compact.zip | Bin ...all_to_variable-all.sol-0.8.14-compact.zip | Bin ...all_to_variable-all.sol-0.8.15-compact.zip | Bin ...call_to_variable-all.sol-0.8.2-compact.zip | Bin ...call_to_variable-all.sol-0.8.3-compact.zip | Bin ...call_to_variable-all.sol-0.8.4-compact.zip | Bin ...call_to_variable-all.sol-0.8.5-compact.zip | Bin ...call_to_variable-all.sol-0.8.6-compact.zip | Bin ...call_to_variable-all.sol-0.8.7-compact.zip | Bin ...call_to_variable-all.sol-0.8.8-compact.zip | Bin ...call_to_variable-all.sol-0.8.9-compact.zip | Bin .../compile/comment-all.sol-0.4.0-legacy.zip | Bin .../compile/comment-all.sol-0.4.1-legacy.zip | Bin .../compile/comment-all.sol-0.4.10-legacy.zip | Bin .../compile/comment-all.sol-0.4.11-legacy.zip | Bin .../comment-all.sol-0.4.12-compact.zip | Bin .../compile/comment-all.sol-0.4.12-legacy.zip | Bin .../comment-all.sol-0.4.13-compact.zip | Bin .../compile/comment-all.sol-0.4.13-legacy.zip | Bin .../comment-all.sol-0.4.14-compact.zip | Bin .../compile/comment-all.sol-0.4.14-legacy.zip | Bin .../comment-all.sol-0.4.15-compact.zip | Bin .../compile/comment-all.sol-0.4.15-legacy.zip | Bin .../comment-all.sol-0.4.16-compact.zip | Bin .../compile/comment-all.sol-0.4.16-legacy.zip | Bin .../comment-all.sol-0.4.17-compact.zip | Bin .../compile/comment-all.sol-0.4.17-legacy.zip | Bin .../comment-all.sol-0.4.18-compact.zip | Bin .../compile/comment-all.sol-0.4.18-legacy.zip | Bin .../comment-all.sol-0.4.19-compact.zip | Bin .../compile/comment-all.sol-0.4.19-legacy.zip | Bin .../compile/comment-all.sol-0.4.2-legacy.zip | Bin .../comment-all.sol-0.4.20-compact.zip | Bin .../compile/comment-all.sol-0.4.20-legacy.zip | Bin .../comment-all.sol-0.4.21-compact.zip | Bin .../compile/comment-all.sol-0.4.21-legacy.zip | Bin .../comment-all.sol-0.4.22-compact.zip | Bin .../compile/comment-all.sol-0.4.22-legacy.zip | Bin .../comment-all.sol-0.4.23-compact.zip | Bin .../compile/comment-all.sol-0.4.23-legacy.zip | Bin .../comment-all.sol-0.4.24-compact.zip | Bin .../compile/comment-all.sol-0.4.24-legacy.zip | Bin .../comment-all.sol-0.4.25-compact.zip | Bin .../compile/comment-all.sol-0.4.25-legacy.zip | Bin .../comment-all.sol-0.4.26-compact.zip | Bin .../compile/comment-all.sol-0.4.26-legacy.zip | Bin .../compile/comment-all.sol-0.4.3-legacy.zip | Bin .../compile/comment-all.sol-0.4.4-legacy.zip | Bin .../compile/comment-all.sol-0.4.5-legacy.zip | Bin .../compile/comment-all.sol-0.4.6-legacy.zip | Bin .../compile/comment-all.sol-0.4.7-legacy.zip | Bin .../compile/comment-all.sol-0.4.8-legacy.zip | Bin .../compile/comment-all.sol-0.4.9-legacy.zip | Bin .../compile/comment-all.sol-0.5.0-compact.zip | Bin .../compile/comment-all.sol-0.5.0-legacy.zip | Bin .../compile/comment-all.sol-0.5.1-compact.zip | Bin .../compile/comment-all.sol-0.5.1-legacy.zip | Bin .../comment-all.sol-0.5.10-compact.zip | Bin .../compile/comment-all.sol-0.5.10-legacy.zip | Bin .../comment-all.sol-0.5.11-compact.zip | Bin .../compile/comment-all.sol-0.5.11-legacy.zip | Bin .../comment-all.sol-0.5.12-compact.zip | Bin .../compile/comment-all.sol-0.5.12-legacy.zip | Bin .../comment-all.sol-0.5.13-compact.zip | Bin .../compile/comment-all.sol-0.5.13-legacy.zip | Bin .../comment-all.sol-0.5.14-compact.zip | Bin .../compile/comment-all.sol-0.5.14-legacy.zip | Bin .../comment-all.sol-0.5.15-compact.zip | Bin .../compile/comment-all.sol-0.5.15-legacy.zip | Bin .../comment-all.sol-0.5.16-compact.zip | Bin .../compile/comment-all.sol-0.5.16-legacy.zip | Bin .../comment-all.sol-0.5.17-compact.zip | Bin .../compile/comment-all.sol-0.5.17-legacy.zip | Bin .../compile/comment-all.sol-0.5.2-compact.zip | Bin .../compile/comment-all.sol-0.5.2-legacy.zip | Bin .../compile/comment-all.sol-0.5.3-compact.zip | Bin .../compile/comment-all.sol-0.5.3-legacy.zip | Bin .../compile/comment-all.sol-0.5.4-compact.zip | Bin .../compile/comment-all.sol-0.5.4-legacy.zip | Bin .../compile/comment-all.sol-0.5.5-compact.zip | Bin .../compile/comment-all.sol-0.5.5-legacy.zip | Bin .../compile/comment-all.sol-0.5.6-compact.zip | Bin .../compile/comment-all.sol-0.5.6-legacy.zip | Bin .../compile/comment-all.sol-0.5.7-compact.zip | Bin .../compile/comment-all.sol-0.5.7-legacy.zip | Bin .../compile/comment-all.sol-0.5.8-compact.zip | Bin .../compile/comment-all.sol-0.5.8-legacy.zip | Bin .../compile/comment-all.sol-0.5.9-compact.zip | Bin .../compile/comment-all.sol-0.5.9-legacy.zip | Bin .../compile/comment-all.sol-0.6.0-compact.zip | Bin .../compile/comment-all.sol-0.6.0-legacy.zip | Bin .../compile/comment-all.sol-0.6.1-compact.zip | Bin .../compile/comment-all.sol-0.6.1-legacy.zip | Bin .../comment-all.sol-0.6.10-compact.zip | Bin .../compile/comment-all.sol-0.6.10-legacy.zip | Bin .../comment-all.sol-0.6.11-compact.zip | Bin .../compile/comment-all.sol-0.6.11-legacy.zip | Bin .../comment-all.sol-0.6.12-compact.zip | Bin .../compile/comment-all.sol-0.6.12-legacy.zip | Bin .../compile/comment-all.sol-0.6.2-compact.zip | Bin .../compile/comment-all.sol-0.6.2-legacy.zip | Bin .../compile/comment-all.sol-0.6.3-compact.zip | Bin .../compile/comment-all.sol-0.6.3-legacy.zip | Bin .../compile/comment-all.sol-0.6.4-compact.zip | Bin .../compile/comment-all.sol-0.6.4-legacy.zip | Bin .../compile/comment-all.sol-0.6.5-compact.zip | Bin .../compile/comment-all.sol-0.6.5-legacy.zip | Bin .../compile/comment-all.sol-0.6.6-compact.zip | Bin .../compile/comment-all.sol-0.6.6-legacy.zip | Bin .../compile/comment-all.sol-0.6.7-compact.zip | Bin .../compile/comment-all.sol-0.6.7-legacy.zip | Bin .../compile/comment-all.sol-0.6.8-compact.zip | Bin .../compile/comment-all.sol-0.6.8-legacy.zip | Bin .../compile/comment-all.sol-0.6.9-compact.zip | Bin .../compile/comment-all.sol-0.6.9-legacy.zip | Bin .../compile/comment-all.sol-0.7.0-compact.zip | Bin .../compile/comment-all.sol-0.7.0-legacy.zip | Bin .../compile/comment-all.sol-0.7.1-compact.zip | Bin .../compile/comment-all.sol-0.7.1-legacy.zip | Bin .../compile/comment-all.sol-0.7.2-compact.zip | Bin .../compile/comment-all.sol-0.7.2-legacy.zip | Bin .../compile/comment-all.sol-0.7.3-compact.zip | Bin .../compile/comment-all.sol-0.7.3-legacy.zip | Bin .../compile/comment-all.sol-0.7.4-compact.zip | Bin .../compile/comment-all.sol-0.7.4-legacy.zip | Bin .../compile/comment-all.sol-0.7.5-compact.zip | Bin .../compile/comment-all.sol-0.7.5-legacy.zip | Bin .../compile/comment-all.sol-0.7.6-compact.zip | Bin .../compile/comment-all.sol-0.7.6-legacy.zip | Bin .../compile/comment-all.sol-0.8.0-compact.zip | Bin .../compile/comment-all.sol-0.8.1-compact.zip | Bin .../comment-all.sol-0.8.10-compact.zip | Bin .../comment-all.sol-0.8.11-compact.zip | Bin .../comment-all.sol-0.8.12-compact.zip | Bin .../comment-all.sol-0.8.13-compact.zip | Bin .../comment-all.sol-0.8.14-compact.zip | Bin .../comment-all.sol-0.8.15-compact.zip | Bin .../compile/comment-all.sol-0.8.2-compact.zip | Bin .../compile/comment-all.sol-0.8.3-compact.zip | Bin .../compile/comment-all.sol-0.8.4-compact.zip | Bin .../compile/comment-all.sol-0.8.5-compact.zip | Bin .../compile/comment-all.sol-0.8.6-compact.zip | Bin .../compile/comment-all.sol-0.8.7-compact.zip | Bin .../compile/comment-all.sol-0.8.8-compact.zip | Bin .../compile/comment-all.sol-0.8.9-compact.zip | Bin .../import_aliases/test.sol-0.8.0-compact.zip | Bin .../import_aliases/test.sol-0.8.1-compact.zip | Bin .../test.sol-0.8.10-compact.zip | Bin .../test.sol-0.8.11-compact.zip | Bin .../test.sol-0.8.12-compact.zip | Bin .../test.sol-0.8.13-compact.zip | Bin .../test.sol-0.8.14-compact.zip | Bin .../test.sol-0.8.15-compact.zip | Bin .../import_aliases/test.sol-0.8.2-compact.zip | Bin .../import_aliases/test.sol-0.8.3-compact.zip | Bin .../import_aliases/test.sol-0.8.4-compact.zip | Bin .../import_aliases/test.sol-0.8.5-compact.zip | Bin .../import_aliases/test.sol-0.8.6-compact.zip | Bin .../import_aliases/test.sol-0.8.7-compact.zip | Bin .../import_aliases/test.sol-0.8.8-compact.zip | Bin .../import_aliases/test.sol-0.8.9-compact.zip | Bin .../test.sol-0.5.12-compact.zip | Bin .../test.sol-0.5.12-legacy.zip | Bin .../import_free/Caller.sol-0.8.2-compact.zip | Bin .../conditional-all.sol-0.4.0-legacy.zip | Bin .../conditional-all.sol-0.4.1-legacy.zip | Bin .../conditional-all.sol-0.4.10-legacy.zip | Bin .../conditional-all.sol-0.4.11-legacy.zip | Bin .../conditional-all.sol-0.4.12-compact.zip | Bin .../conditional-all.sol-0.4.12-legacy.zip | Bin .../conditional-all.sol-0.4.13-compact.zip | Bin .../conditional-all.sol-0.4.13-legacy.zip | Bin .../conditional-all.sol-0.4.14-compact.zip | Bin .../conditional-all.sol-0.4.14-legacy.zip | Bin .../conditional-all.sol-0.4.15-compact.zip | Bin .../conditional-all.sol-0.4.15-legacy.zip | Bin .../conditional-all.sol-0.4.16-compact.zip | Bin .../conditional-all.sol-0.4.16-legacy.zip | Bin .../conditional-all.sol-0.4.17-compact.zip | Bin .../conditional-all.sol-0.4.17-legacy.zip | Bin .../conditional-all.sol-0.4.18-compact.zip | Bin .../conditional-all.sol-0.4.18-legacy.zip | Bin .../conditional-all.sol-0.4.19-compact.zip | Bin .../conditional-all.sol-0.4.19-legacy.zip | Bin .../conditional-all.sol-0.4.2-legacy.zip | Bin .../conditional-all.sol-0.4.20-compact.zip | Bin .../conditional-all.sol-0.4.20-legacy.zip | Bin .../conditional-all.sol-0.4.21-compact.zip | Bin .../conditional-all.sol-0.4.21-legacy.zip | Bin .../conditional-all.sol-0.4.22-compact.zip | Bin .../conditional-all.sol-0.4.22-legacy.zip | Bin .../conditional-all.sol-0.4.23-compact.zip | Bin .../conditional-all.sol-0.4.23-legacy.zip | Bin .../conditional-all.sol-0.4.24-compact.zip | Bin .../conditional-all.sol-0.4.24-legacy.zip | Bin .../conditional-all.sol-0.4.25-compact.zip | Bin .../conditional-all.sol-0.4.25-legacy.zip | Bin .../conditional-all.sol-0.4.26-compact.zip | Bin .../conditional-all.sol-0.4.26-legacy.zip | Bin .../conditional-all.sol-0.4.3-legacy.zip | Bin .../conditional-all.sol-0.4.4-legacy.zip | Bin .../conditional-all.sol-0.4.5-legacy.zip | Bin .../conditional-all.sol-0.4.6-legacy.zip | Bin .../conditional-all.sol-0.4.7-legacy.zip | Bin .../conditional-all.sol-0.4.8-legacy.zip | Bin .../conditional-all.sol-0.4.9-legacy.zip | Bin .../conditional-all.sol-0.5.0-compact.zip | Bin .../conditional-all.sol-0.5.0-legacy.zip | Bin .../conditional-all.sol-0.5.1-compact.zip | Bin .../conditional-all.sol-0.5.1-legacy.zip | Bin .../conditional-all.sol-0.5.10-compact.zip | Bin .../conditional-all.sol-0.5.10-legacy.zip | Bin .../conditional-all.sol-0.5.11-compact.zip | Bin .../conditional-all.sol-0.5.11-legacy.zip | Bin .../conditional-all.sol-0.5.12-compact.zip | Bin .../conditional-all.sol-0.5.12-legacy.zip | Bin .../conditional-all.sol-0.5.13-compact.zip | Bin .../conditional-all.sol-0.5.13-legacy.zip | Bin .../conditional-all.sol-0.5.14-compact.zip | Bin .../conditional-all.sol-0.5.14-legacy.zip | Bin .../conditional-all.sol-0.5.15-compact.zip | Bin .../conditional-all.sol-0.5.15-legacy.zip | Bin .../conditional-all.sol-0.5.16-compact.zip | Bin .../conditional-all.sol-0.5.16-legacy.zip | Bin .../conditional-all.sol-0.5.17-compact.zip | Bin .../conditional-all.sol-0.5.17-legacy.zip | Bin .../conditional-all.sol-0.5.2-compact.zip | Bin .../conditional-all.sol-0.5.2-legacy.zip | Bin .../conditional-all.sol-0.5.3-compact.zip | Bin .../conditional-all.sol-0.5.3-legacy.zip | Bin .../conditional-all.sol-0.5.4-compact.zip | Bin .../conditional-all.sol-0.5.4-legacy.zip | Bin .../conditional-all.sol-0.5.5-compact.zip | Bin .../conditional-all.sol-0.5.5-legacy.zip | Bin .../conditional-all.sol-0.5.6-compact.zip | Bin .../conditional-all.sol-0.5.6-legacy.zip | Bin .../conditional-all.sol-0.5.7-compact.zip | Bin .../conditional-all.sol-0.5.7-legacy.zip | Bin .../conditional-all.sol-0.5.8-compact.zip | Bin .../conditional-all.sol-0.5.8-legacy.zip | Bin .../conditional-all.sol-0.5.9-compact.zip | Bin .../conditional-all.sol-0.5.9-legacy.zip | Bin .../conditional-all.sol-0.6.0-compact.zip | Bin .../conditional-all.sol-0.6.0-legacy.zip | Bin .../conditional-all.sol-0.6.1-compact.zip | Bin .../conditional-all.sol-0.6.1-legacy.zip | Bin .../conditional-all.sol-0.6.10-compact.zip | Bin .../conditional-all.sol-0.6.10-legacy.zip | Bin .../conditional-all.sol-0.6.11-compact.zip | Bin .../conditional-all.sol-0.6.11-legacy.zip | Bin .../conditional-all.sol-0.6.12-compact.zip | Bin .../conditional-all.sol-0.6.12-legacy.zip | Bin .../conditional-all.sol-0.6.2-compact.zip | Bin .../conditional-all.sol-0.6.2-legacy.zip | Bin .../conditional-all.sol-0.6.3-compact.zip | Bin .../conditional-all.sol-0.6.3-legacy.zip | Bin .../conditional-all.sol-0.6.4-compact.zip | Bin .../conditional-all.sol-0.6.4-legacy.zip | Bin .../conditional-all.sol-0.6.5-compact.zip | Bin .../conditional-all.sol-0.6.5-legacy.zip | Bin .../conditional-all.sol-0.6.6-compact.zip | Bin .../conditional-all.sol-0.6.6-legacy.zip | Bin .../conditional-all.sol-0.6.7-compact.zip | Bin .../conditional-all.sol-0.6.7-legacy.zip | Bin .../conditional-all.sol-0.6.8-compact.zip | Bin .../conditional-all.sol-0.6.8-legacy.zip | Bin .../conditional-all.sol-0.6.9-compact.zip | Bin .../conditional-all.sol-0.6.9-legacy.zip | Bin .../conditional-all.sol-0.7.0-compact.zip | Bin .../conditional-all.sol-0.7.0-legacy.zip | Bin .../conditional-all.sol-0.7.1-compact.zip | Bin .../conditional-all.sol-0.7.1-legacy.zip | Bin .../conditional-all.sol-0.7.2-compact.zip | Bin .../conditional-all.sol-0.7.2-legacy.zip | Bin .../conditional-all.sol-0.7.3-compact.zip | Bin .../conditional-all.sol-0.7.3-legacy.zip | Bin .../conditional-all.sol-0.7.4-compact.zip | Bin .../conditional-all.sol-0.7.4-legacy.zip | Bin .../conditional-all.sol-0.7.5-compact.zip | Bin .../conditional-all.sol-0.7.5-legacy.zip | Bin .../conditional-all.sol-0.7.6-compact.zip | Bin .../conditional-all.sol-0.7.6-legacy.zip | Bin .../conditional-all.sol-0.8.0-compact.zip | Bin .../conditional-all.sol-0.8.1-compact.zip | Bin .../conditional-all.sol-0.8.10-compact.zip | Bin .../conditional-all.sol-0.8.11-compact.zip | Bin .../conditional-all.sol-0.8.12-compact.zip | Bin .../conditional-all.sol-0.8.13-compact.zip | Bin .../conditional-all.sol-0.8.14-compact.zip | Bin .../conditional-all.sol-0.8.15-compact.zip | Bin .../conditional-all.sol-0.8.2-compact.zip | Bin .../conditional-all.sol-0.8.3-compact.zip | Bin .../conditional-all.sol-0.8.4-compact.zip | Bin .../conditional-all.sol-0.8.5-compact.zip | Bin .../conditional-all.sol-0.8.6-compact.zip | Bin .../conditional-all.sol-0.8.7-compact.zip | Bin .../conditional-all.sol-0.8.8-compact.zip | Bin .../conditional-all.sol-0.8.9-compact.zip | Bin .../compile/continue-all.sol-0.4.0-legacy.zip | Bin .../compile/continue-all.sol-0.4.1-legacy.zip | Bin .../continue-all.sol-0.4.10-legacy.zip | Bin .../continue-all.sol-0.4.11-legacy.zip | Bin .../continue-all.sol-0.4.12-compact.zip | Bin .../continue-all.sol-0.4.12-legacy.zip | Bin .../continue-all.sol-0.4.13-compact.zip | Bin .../continue-all.sol-0.4.13-legacy.zip | Bin .../continue-all.sol-0.4.14-compact.zip | Bin .../continue-all.sol-0.4.14-legacy.zip | Bin .../continue-all.sol-0.4.15-compact.zip | Bin .../continue-all.sol-0.4.15-legacy.zip | Bin .../continue-all.sol-0.4.16-compact.zip | Bin .../continue-all.sol-0.4.16-legacy.zip | Bin .../continue-all.sol-0.4.17-compact.zip | Bin .../continue-all.sol-0.4.17-legacy.zip | Bin .../continue-all.sol-0.4.18-compact.zip | Bin .../continue-all.sol-0.4.18-legacy.zip | Bin .../continue-all.sol-0.4.19-compact.zip | Bin .../continue-all.sol-0.4.19-legacy.zip | Bin .../compile/continue-all.sol-0.4.2-legacy.zip | Bin .../continue-all.sol-0.4.20-compact.zip | Bin .../continue-all.sol-0.4.20-legacy.zip | Bin .../continue-all.sol-0.4.21-compact.zip | Bin .../continue-all.sol-0.4.21-legacy.zip | Bin .../continue-all.sol-0.4.22-compact.zip | Bin .../continue-all.sol-0.4.22-legacy.zip | Bin .../continue-all.sol-0.4.23-compact.zip | Bin .../continue-all.sol-0.4.23-legacy.zip | Bin .../continue-all.sol-0.4.24-compact.zip | Bin .../continue-all.sol-0.4.24-legacy.zip | Bin .../continue-all.sol-0.4.25-compact.zip | Bin .../continue-all.sol-0.4.25-legacy.zip | Bin .../continue-all.sol-0.4.26-compact.zip | Bin .../continue-all.sol-0.4.26-legacy.zip | Bin .../compile/continue-all.sol-0.4.3-legacy.zip | Bin .../compile/continue-all.sol-0.4.4-legacy.zip | Bin .../compile/continue-all.sol-0.4.5-legacy.zip | Bin .../compile/continue-all.sol-0.4.6-legacy.zip | Bin .../compile/continue-all.sol-0.4.7-legacy.zip | Bin .../compile/continue-all.sol-0.4.8-legacy.zip | Bin .../compile/continue-all.sol-0.4.9-legacy.zip | Bin .../continue-all.sol-0.5.0-compact.zip | Bin .../compile/continue-all.sol-0.5.0-legacy.zip | Bin .../continue-all.sol-0.5.1-compact.zip | Bin .../compile/continue-all.sol-0.5.1-legacy.zip | Bin .../continue-all.sol-0.5.10-compact.zip | Bin .../continue-all.sol-0.5.10-legacy.zip | Bin .../continue-all.sol-0.5.11-compact.zip | Bin .../continue-all.sol-0.5.11-legacy.zip | Bin .../continue-all.sol-0.5.12-compact.zip | Bin .../continue-all.sol-0.5.12-legacy.zip | Bin .../continue-all.sol-0.5.13-compact.zip | Bin .../continue-all.sol-0.5.13-legacy.zip | Bin .../continue-all.sol-0.5.14-compact.zip | Bin .../continue-all.sol-0.5.14-legacy.zip | Bin .../continue-all.sol-0.5.15-compact.zip | Bin .../continue-all.sol-0.5.15-legacy.zip | Bin .../continue-all.sol-0.5.16-compact.zip | Bin .../continue-all.sol-0.5.16-legacy.zip | Bin .../continue-all.sol-0.5.17-compact.zip | Bin .../continue-all.sol-0.5.17-legacy.zip | Bin .../continue-all.sol-0.5.2-compact.zip | Bin .../compile/continue-all.sol-0.5.2-legacy.zip | Bin .../continue-all.sol-0.5.3-compact.zip | Bin .../compile/continue-all.sol-0.5.3-legacy.zip | Bin .../continue-all.sol-0.5.4-compact.zip | Bin .../compile/continue-all.sol-0.5.4-legacy.zip | Bin .../continue-all.sol-0.5.5-compact.zip | Bin .../compile/continue-all.sol-0.5.5-legacy.zip | Bin .../continue-all.sol-0.5.6-compact.zip | Bin .../compile/continue-all.sol-0.5.6-legacy.zip | Bin .../continue-all.sol-0.5.7-compact.zip | Bin .../compile/continue-all.sol-0.5.7-legacy.zip | Bin .../continue-all.sol-0.5.8-compact.zip | Bin .../compile/continue-all.sol-0.5.8-legacy.zip | Bin .../continue-all.sol-0.5.9-compact.zip | Bin .../compile/continue-all.sol-0.5.9-legacy.zip | Bin .../continue-all.sol-0.6.0-compact.zip | Bin .../compile/continue-all.sol-0.6.0-legacy.zip | Bin .../continue-all.sol-0.6.1-compact.zip | Bin .../compile/continue-all.sol-0.6.1-legacy.zip | Bin .../continue-all.sol-0.6.10-compact.zip | Bin .../continue-all.sol-0.6.10-legacy.zip | Bin .../continue-all.sol-0.6.11-compact.zip | Bin .../continue-all.sol-0.6.11-legacy.zip | Bin .../continue-all.sol-0.6.12-compact.zip | Bin .../continue-all.sol-0.6.12-legacy.zip | Bin .../continue-all.sol-0.6.2-compact.zip | Bin .../compile/continue-all.sol-0.6.2-legacy.zip | Bin .../continue-all.sol-0.6.3-compact.zip | Bin .../compile/continue-all.sol-0.6.3-legacy.zip | Bin .../continue-all.sol-0.6.4-compact.zip | Bin .../compile/continue-all.sol-0.6.4-legacy.zip | Bin .../continue-all.sol-0.6.5-compact.zip | Bin .../compile/continue-all.sol-0.6.5-legacy.zip | Bin .../continue-all.sol-0.6.6-compact.zip | Bin .../compile/continue-all.sol-0.6.6-legacy.zip | Bin .../continue-all.sol-0.6.7-compact.zip | Bin .../compile/continue-all.sol-0.6.7-legacy.zip | Bin .../continue-all.sol-0.6.8-compact.zip | Bin .../compile/continue-all.sol-0.6.8-legacy.zip | Bin .../continue-all.sol-0.6.9-compact.zip | Bin .../compile/continue-all.sol-0.6.9-legacy.zip | Bin .../continue-all.sol-0.7.0-compact.zip | Bin .../compile/continue-all.sol-0.7.0-legacy.zip | Bin .../continue-all.sol-0.7.1-compact.zip | Bin .../compile/continue-all.sol-0.7.1-legacy.zip | Bin .../continue-all.sol-0.7.2-compact.zip | Bin .../compile/continue-all.sol-0.7.2-legacy.zip | Bin .../continue-all.sol-0.7.3-compact.zip | Bin .../compile/continue-all.sol-0.7.3-legacy.zip | Bin .../continue-all.sol-0.7.4-compact.zip | Bin .../compile/continue-all.sol-0.7.4-legacy.zip | Bin .../continue-all.sol-0.7.5-compact.zip | Bin .../compile/continue-all.sol-0.7.5-legacy.zip | Bin .../continue-all.sol-0.7.6-compact.zip | Bin .../compile/continue-all.sol-0.7.6-legacy.zip | Bin .../continue-all.sol-0.8.0-compact.zip | Bin .../continue-all.sol-0.8.1-compact.zip | Bin .../continue-all.sol-0.8.10-compact.zip | Bin .../continue-all.sol-0.8.11-compact.zip | Bin .../continue-all.sol-0.8.12-compact.zip | Bin .../continue-all.sol-0.8.13-compact.zip | Bin .../continue-all.sol-0.8.14-compact.zip | Bin .../continue-all.sol-0.8.15-compact.zip | Bin .../continue-all.sol-0.8.2-compact.zip | Bin .../continue-all.sol-0.8.3-compact.zip | Bin .../continue-all.sol-0.8.4-compact.zip | Bin .../continue-all.sol-0.8.5-compact.zip | Bin .../continue-all.sol-0.8.6-compact.zip | Bin .../continue-all.sol-0.8.7-compact.zip | Bin .../continue-all.sol-0.8.8-compact.zip | Bin .../continue-all.sol-0.8.9-compact.zip | Bin .../contract-0.4.0.sol-0.4.0-legacy.zip | Bin .../contract-0.4.0.sol-0.4.1-legacy.zip | Bin .../contract-0.4.0.sol-0.4.10-legacy.zip | Bin .../contract-0.4.0.sol-0.4.11-legacy.zip | Bin .../contract-0.4.0.sol-0.4.12-compact.zip | Bin .../contract-0.4.0.sol-0.4.12-legacy.zip | Bin .../contract-0.4.0.sol-0.4.13-compact.zip | Bin .../contract-0.4.0.sol-0.4.13-legacy.zip | Bin .../contract-0.4.0.sol-0.4.14-compact.zip | Bin .../contract-0.4.0.sol-0.4.14-legacy.zip | Bin .../contract-0.4.0.sol-0.4.15-compact.zip | Bin .../contract-0.4.0.sol-0.4.15-legacy.zip | Bin .../contract-0.4.0.sol-0.4.16-compact.zip | Bin .../contract-0.4.0.sol-0.4.16-legacy.zip | Bin .../contract-0.4.0.sol-0.4.17-compact.zip | Bin .../contract-0.4.0.sol-0.4.17-legacy.zip | Bin .../contract-0.4.0.sol-0.4.18-compact.zip | Bin .../contract-0.4.0.sol-0.4.18-legacy.zip | Bin .../contract-0.4.0.sol-0.4.19-compact.zip | Bin .../contract-0.4.0.sol-0.4.19-legacy.zip | Bin .../contract-0.4.0.sol-0.4.2-legacy.zip | Bin .../contract-0.4.0.sol-0.4.20-compact.zip | Bin .../contract-0.4.0.sol-0.4.20-legacy.zip | Bin .../contract-0.4.0.sol-0.4.21-compact.zip | Bin .../contract-0.4.0.sol-0.4.21-legacy.zip | Bin .../contract-0.4.0.sol-0.4.3-legacy.zip | Bin .../contract-0.4.0.sol-0.4.4-legacy.zip | Bin .../contract-0.4.0.sol-0.4.5-legacy.zip | Bin .../contract-0.4.0.sol-0.4.6-legacy.zip | Bin .../contract-0.4.0.sol-0.4.7-legacy.zip | Bin .../contract-0.4.0.sol-0.4.8-legacy.zip | Bin .../contract-0.4.0.sol-0.4.9-legacy.zip | Bin .../contract-0.4.22.sol-0.4.22-compact.zip | Bin .../contract-0.4.22.sol-0.4.22-legacy.zip | Bin .../contract-0.4.22.sol-0.4.23-compact.zip | Bin .../contract-0.4.22.sol-0.4.23-legacy.zip | Bin .../contract-0.4.22.sol-0.4.24-compact.zip | Bin .../contract-0.4.22.sol-0.4.24-legacy.zip | Bin .../contract-0.4.22.sol-0.4.25-compact.zip | Bin .../contract-0.4.22.sol-0.4.25-legacy.zip | Bin .../contract-0.4.22.sol-0.4.26-compact.zip | Bin .../contract-0.4.22.sol-0.4.26-legacy.zip | Bin .../contract-0.4.22.sol-0.5.0-compact.zip | Bin .../contract-0.4.22.sol-0.5.0-legacy.zip | Bin .../contract-0.4.22.sol-0.5.1-compact.zip | Bin .../contract-0.4.22.sol-0.5.1-legacy.zip | Bin .../contract-0.4.22.sol-0.5.10-compact.zip | Bin .../contract-0.4.22.sol-0.5.10-legacy.zip | Bin .../contract-0.4.22.sol-0.5.11-compact.zip | Bin .../contract-0.4.22.sol-0.5.11-legacy.zip | Bin .../contract-0.4.22.sol-0.5.12-compact.zip | Bin .../contract-0.4.22.sol-0.5.12-legacy.zip | Bin .../contract-0.4.22.sol-0.5.13-compact.zip | Bin .../contract-0.4.22.sol-0.5.13-legacy.zip | Bin .../contract-0.4.22.sol-0.5.14-compact.zip | Bin .../contract-0.4.22.sol-0.5.14-legacy.zip | Bin .../contract-0.4.22.sol-0.5.15-compact.zip | Bin .../contract-0.4.22.sol-0.5.15-legacy.zip | Bin .../contract-0.4.22.sol-0.5.16-compact.zip | Bin .../contract-0.4.22.sol-0.5.16-legacy.zip | Bin .../contract-0.4.22.sol-0.5.17-compact.zip | Bin .../contract-0.4.22.sol-0.5.17-legacy.zip | Bin .../contract-0.4.22.sol-0.5.2-compact.zip | Bin .../contract-0.4.22.sol-0.5.2-legacy.zip | Bin .../contract-0.4.22.sol-0.5.3-compact.zip | Bin .../contract-0.4.22.sol-0.5.3-legacy.zip | Bin .../contract-0.4.22.sol-0.5.4-compact.zip | Bin .../contract-0.4.22.sol-0.5.4-legacy.zip | Bin .../contract-0.4.22.sol-0.5.5-compact.zip | Bin .../contract-0.4.22.sol-0.5.5-legacy.zip | Bin .../contract-0.4.22.sol-0.5.6-compact.zip | Bin .../contract-0.4.22.sol-0.5.6-legacy.zip | Bin .../contract-0.4.22.sol-0.5.7-compact.zip | Bin .../contract-0.4.22.sol-0.5.7-legacy.zip | Bin .../contract-0.4.22.sol-0.5.8-compact.zip | Bin .../contract-0.4.22.sol-0.5.8-legacy.zip | Bin .../contract-0.4.22.sol-0.5.9-compact.zip | Bin .../contract-0.4.22.sol-0.5.9-legacy.zip | Bin .../contract-0.6.0.sol-0.6.0-compact.zip | Bin .../contract-0.6.0.sol-0.6.0-legacy.zip | Bin .../contract-0.6.0.sol-0.6.1-compact.zip | Bin .../contract-0.6.0.sol-0.6.1-legacy.zip | Bin .../contract-0.6.0.sol-0.6.10-compact.zip | Bin .../contract-0.6.0.sol-0.6.10-legacy.zip | Bin .../contract-0.6.0.sol-0.6.11-compact.zip | Bin .../contract-0.6.0.sol-0.6.11-legacy.zip | Bin .../contract-0.6.0.sol-0.6.12-compact.zip | Bin .../contract-0.6.0.sol-0.6.12-legacy.zip | Bin .../contract-0.6.0.sol-0.6.2-compact.zip | Bin .../contract-0.6.0.sol-0.6.2-legacy.zip | Bin .../contract-0.6.0.sol-0.6.3-compact.zip | Bin .../contract-0.6.0.sol-0.6.3-legacy.zip | Bin .../contract-0.6.0.sol-0.6.4-compact.zip | Bin .../contract-0.6.0.sol-0.6.4-legacy.zip | Bin .../contract-0.6.0.sol-0.6.5-compact.zip | Bin .../contract-0.6.0.sol-0.6.5-legacy.zip | Bin .../contract-0.6.0.sol-0.6.6-compact.zip | Bin .../contract-0.6.0.sol-0.6.6-legacy.zip | Bin .../contract-0.6.0.sol-0.6.7-compact.zip | Bin .../contract-0.6.0.sol-0.6.7-legacy.zip | Bin .../contract-0.6.0.sol-0.6.8-compact.zip | Bin .../contract-0.6.0.sol-0.6.8-legacy.zip | Bin .../contract-0.6.0.sol-0.6.9-compact.zip | Bin .../contract-0.6.0.sol-0.6.9-legacy.zip | Bin .../contract-0.6.0.sol-0.7.0-compact.zip | Bin .../contract-0.6.0.sol-0.7.0-legacy.zip | Bin .../contract-0.6.0.sol-0.7.1-compact.zip | Bin .../contract-0.6.0.sol-0.7.1-legacy.zip | Bin .../contract-0.6.0.sol-0.7.2-compact.zip | Bin .../contract-0.6.0.sol-0.7.2-legacy.zip | Bin .../contract-0.6.0.sol-0.7.3-compact.zip | Bin .../contract-0.6.0.sol-0.7.3-legacy.zip | Bin .../contract-0.6.0.sol-0.7.4-compact.zip | Bin .../contract-0.6.0.sol-0.7.4-legacy.zip | Bin .../contract-0.6.0.sol-0.7.5-compact.zip | Bin .../contract-0.6.0.sol-0.7.5-legacy.zip | Bin .../contract-0.6.0.sol-0.7.6-compact.zip | Bin .../contract-0.6.0.sol-0.7.6-legacy.zip | Bin .../contract-0.6.0.sol-0.8.0-compact.zip | Bin .../contract-0.6.0.sol-0.8.1-compact.zip | Bin .../contract-0.6.0.sol-0.8.10-compact.zip | Bin .../contract-0.6.0.sol-0.8.11-compact.zip | Bin .../contract-0.6.0.sol-0.8.12-compact.zip | Bin .../contract-0.6.0.sol-0.8.13-compact.zip | Bin .../contract-0.6.0.sol-0.8.14-compact.zip | Bin .../contract-0.6.0.sol-0.8.15-compact.zip | Bin .../contract-0.6.0.sol-0.8.2-compact.zip | Bin .../contract-0.6.0.sol-0.8.3-compact.zip | Bin .../contract-0.6.0.sol-0.8.4-compact.zip | Bin .../contract-0.6.0.sol-0.8.5-compact.zip | Bin .../contract-0.6.0.sol-0.8.6-compact.zip | Bin .../contract-0.6.0.sol-0.8.7-compact.zip | Bin .../contract-0.6.0.sol-0.8.8-compact.zip | Bin .../contract-0.6.0.sol-0.8.9-compact.zip | Bin ...stom-error-selector.sol-0.8.10-compact.zip | Bin ...stom-error-selector.sol-0.8.11-compact.zip | Bin ...stom-error-selector.sol-0.8.12-compact.zip | Bin ...stom-error-selector.sol-0.8.13-compact.zip | Bin ...stom-error-selector.sol-0.8.14-compact.zip | Bin ...stom-error-selector.sol-0.8.15-compact.zip | Bin ...ustom-error-selector.sol-0.8.4-compact.zip | Bin ...ustom-error-selector.sol-0.8.5-compact.zip | Bin ...ustom-error-selector.sol-0.8.6-compact.zip | Bin ...ustom-error-selector.sol-0.8.7-compact.zip | Bin ...ustom-error-selector.sol-0.8.8-compact.zip | Bin ...ustom-error-selector.sol-0.8.9-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.0-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.1-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.10-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.11-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.12-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.12-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.13-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.13-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.14-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.14-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.15-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.15-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.16-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.16-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.17-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.17-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.18-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.18-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.19-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.19-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.2-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.20-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.20-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.21-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.21-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.22-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.22-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.23-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.23-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.24-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.24-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.25-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.25-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.26-compact.zip | Bin .../custom_error-0.4.0.sol-0.4.26-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.3-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.4-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.5-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.6-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.7-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.8-legacy.zip | Bin .../custom_error-0.4.0.sol-0.4.9-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.0-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.0-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.1-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.1-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.10-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.10-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.11-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.11-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.12-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.12-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.13-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.13-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.14-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.14-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.15-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.15-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.16-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.16-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.17-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.17-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.2-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.2-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.3-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.3-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.4-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.4-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.5-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.5-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.6-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.6-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.7-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.7-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.8-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.8-legacy.zip | Bin .../custom_error-0.4.0.sol-0.5.9-compact.zip | Bin .../custom_error-0.4.0.sol-0.5.9-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.0-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.0-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.1-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.1-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.10-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.10-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.11-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.11-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.12-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.12-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.2-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.2-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.3-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.3-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.4-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.4-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.5-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.5-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.6-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.6-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.7-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.7-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.8-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.8-legacy.zip | Bin .../custom_error-0.4.0.sol-0.6.9-compact.zip | Bin .../custom_error-0.4.0.sol-0.6.9-legacy.zip | Bin .../custom_error-0.4.0.sol-0.7.0-compact.zip | Bin .../custom_error-0.4.0.sol-0.7.0-legacy.zip | Bin .../custom_error-0.4.0.sol-0.7.1-compact.zip | Bin .../custom_error-0.4.0.sol-0.7.1-legacy.zip | Bin .../custom_error-0.4.0.sol-0.7.2-compact.zip | Bin .../custom_error-0.4.0.sol-0.7.2-legacy.zip | Bin .../custom_error-0.4.0.sol-0.7.3-compact.zip | Bin .../custom_error-0.4.0.sol-0.7.3-legacy.zip | Bin .../custom_error-0.4.0.sol-0.7.4-compact.zip | Bin .../custom_error-0.4.0.sol-0.7.4-legacy.zip | Bin .../custom_error-0.4.0.sol-0.7.5-compact.zip | Bin .../custom_error-0.4.0.sol-0.7.5-legacy.zip | Bin .../custom_error-0.4.0.sol-0.7.6-compact.zip | Bin .../custom_error-0.4.0.sol-0.7.6-legacy.zip | Bin .../custom_error-0.4.0.sol-0.8.0-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.1-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.10-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.11-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.12-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.13-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.14-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.15-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.2-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.3-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.4-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.5-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.6-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.7-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.8-compact.zip | Bin .../custom_error-0.4.0.sol-0.8.9-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.10-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.11-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.12-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.13-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.14-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.15-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.4-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.5-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.6-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.7-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.8-compact.zip | Bin .../custom_error-0.8.4.sol-0.8.9-compact.zip | Bin ...with_state_variable.sol-0.8.10-compact.zip | Bin ...with_state_variable.sol-0.8.11-compact.zip | Bin ...with_state_variable.sol-0.8.12-compact.zip | Bin ..._with_state_variable.sol-0.8.4-compact.zip | Bin ..._with_state_variable.sol-0.8.5-compact.zip | Bin ..._with_state_variable.sol-0.8.6-compact.zip | Bin ..._with_state_variable.sol-0.8.7-compact.zip | Bin ..._with_state_variable.sol-0.8.8-compact.zip | Bin ..._with_state_variable.sol-0.8.9-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.0-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.1-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.10-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.11-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.12-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.12-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.13-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.13-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.14-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.14-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.15-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.15-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.16-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.16-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.17-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.17-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.18-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.18-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.19-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.19-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.2-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.20-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.20-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.21-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.21-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.22-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.22-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.23-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.23-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.24-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.24-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.25-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.25-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.26-compact.zip | Bin .../dowhile-0.4.0.sol-0.4.26-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.3-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.4-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.5-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.6-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.7-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.8-legacy.zip | Bin .../dowhile-0.4.0.sol-0.4.9-legacy.zip | Bin .../dowhile-0.4.5.sol-0.4.5-legacy.zip | Bin .../dowhile-0.4.5.sol-0.4.6-legacy.zip | Bin .../dowhile-0.4.5.sol-0.4.7-legacy.zip | Bin .../dowhile-0.4.5.sol-0.4.8-legacy.zip | Bin .../dowhile-0.4.5.sol-0.4.9-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.0-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.0-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.1-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.1-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.10-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.10-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.11-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.11-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.12-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.12-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.13-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.13-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.14-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.14-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.15-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.15-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.16-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.16-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.17-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.17-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.2-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.2-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.3-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.3-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.4-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.4-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.5-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.5-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.6-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.6-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.7-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.7-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.8-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.8-legacy.zip | Bin .../dowhile-0.4.5.sol-0.5.9-compact.zip | Bin .../dowhile-0.4.5.sol-0.5.9-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.0-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.0-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.1-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.1-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.10-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.10-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.11-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.11-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.12-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.12-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.2-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.2-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.3-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.3-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.4-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.4-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.5-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.5-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.6-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.6-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.7-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.7-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.8-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.8-legacy.zip | Bin .../dowhile-0.4.5.sol-0.6.9-compact.zip | Bin .../dowhile-0.4.5.sol-0.6.9-legacy.zip | Bin .../dowhile-0.4.5.sol-0.7.0-compact.zip | Bin .../dowhile-0.4.5.sol-0.7.0-legacy.zip | Bin .../dowhile-0.4.5.sol-0.7.1-compact.zip | Bin .../dowhile-0.4.5.sol-0.7.1-legacy.zip | Bin .../dowhile-0.4.5.sol-0.7.2-compact.zip | Bin .../dowhile-0.4.5.sol-0.7.2-legacy.zip | Bin .../dowhile-0.4.5.sol-0.7.3-compact.zip | Bin .../dowhile-0.4.5.sol-0.7.3-legacy.zip | Bin .../dowhile-0.4.5.sol-0.7.4-compact.zip | Bin .../dowhile-0.4.5.sol-0.7.4-legacy.zip | Bin .../dowhile-0.4.5.sol-0.7.5-compact.zip | Bin .../dowhile-0.4.5.sol-0.7.5-legacy.zip | Bin .../dowhile-0.4.5.sol-0.7.6-compact.zip | Bin .../dowhile-0.4.5.sol-0.7.6-legacy.zip | Bin .../dowhile-0.4.5.sol-0.8.0-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.1-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.10-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.11-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.12-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.13-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.14-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.15-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.2-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.3-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.4-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.5-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.6-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.7-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.8-compact.zip | Bin .../dowhile-0.4.5.sol-0.8.9-compact.zip | Bin .../emit-0.4.21.sol-0.4.21-compact.zip | Bin .../compile/emit-0.4.21.sol-0.4.21-legacy.zip | Bin .../emit-0.4.21.sol-0.4.22-compact.zip | Bin .../compile/emit-0.4.21.sol-0.4.22-legacy.zip | Bin .../emit-0.4.21.sol-0.4.23-compact.zip | Bin .../compile/emit-0.4.21.sol-0.4.23-legacy.zip | Bin .../emit-0.4.21.sol-0.4.24-compact.zip | Bin .../compile/emit-0.4.21.sol-0.4.24-legacy.zip | Bin .../emit-0.4.21.sol-0.4.25-compact.zip | Bin .../compile/emit-0.4.21.sol-0.4.25-legacy.zip | Bin .../emit-0.4.21.sol-0.4.26-compact.zip | Bin .../compile/emit-0.4.21.sol-0.4.26-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.10-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.10-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.11-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.11-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.12-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.12-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.13-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.13-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.14-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.14-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.15-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.15-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.16-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.16-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.17-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.17-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.18-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.18-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.19-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.19-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.20-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.20-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.8-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.8-legacy.zip | Bin .../compile/emit-0.4.8.sol-0.4.9-compact.zip | Bin .../compile/emit-0.4.8.sol-0.4.9-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.0-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.0-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.1-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.1-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.10-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.10-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.11-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.11-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.12-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.12-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.13-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.13-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.14-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.14-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.15-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.15-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.16-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.16-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.17-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.17-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.2-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.2-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.3-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.3-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.4-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.4-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.5-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.5-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.6-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.6-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.7-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.7-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.8-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.8-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.5.9-compact.zip | Bin .../compile/emit-0.5.0.sol-0.5.9-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.0-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.0-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.1-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.1-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.10-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.10-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.11-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.11-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.12-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.12-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.2-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.2-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.3-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.3-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.4-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.4-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.5-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.5-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.6-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.6-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.7-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.7-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.8-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.8-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.6.9-compact.zip | Bin .../compile/emit-0.5.0.sol-0.6.9-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.7.0-compact.zip | Bin .../compile/emit-0.5.0.sol-0.7.0-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.7.1-compact.zip | Bin .../compile/emit-0.5.0.sol-0.7.1-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.7.2-compact.zip | Bin .../compile/emit-0.5.0.sol-0.7.2-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.7.3-compact.zip | Bin .../compile/emit-0.5.0.sol-0.7.3-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.7.4-compact.zip | Bin .../compile/emit-0.5.0.sol-0.7.4-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.7.5-compact.zip | Bin .../compile/emit-0.5.0.sol-0.7.5-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.7.6-compact.zip | Bin .../compile/emit-0.5.0.sol-0.7.6-legacy.zip | Bin .../compile/emit-0.5.0.sol-0.8.0-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.1-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.10-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.11-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.12-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.13-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.14-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.15-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.2-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.3-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.4-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.5-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.6-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.7-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.8-compact.zip | Bin .../compile/emit-0.5.0.sol-0.8.9-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.0-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.1-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.10-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.11-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.12-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.12-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.13-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.13-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.14-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.14-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.15-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.15-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.16-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.16-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.17-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.17-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.18-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.18-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.19-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.19-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.2-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.20-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.20-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.21-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.21-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.22-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.22-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.23-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.23-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.24-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.24-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.25-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.25-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.26-compact.zip | Bin .../compile/enum-0.4.0.sol-0.4.26-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.3-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.4-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.5-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.6-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.7-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.8-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.4.9-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.0-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.0-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.1-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.1-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.10-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.10-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.11-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.11-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.12-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.12-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.13-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.13-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.14-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.14-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.15-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.15-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.16-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.16-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.17-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.17-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.2-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.2-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.3-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.3-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.4-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.4-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.5-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.5-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.6-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.6-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.7-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.7-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.8-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.8-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.5.9-compact.zip | Bin .../compile/enum-0.4.0.sol-0.5.9-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.0-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.0-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.1-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.1-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.10-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.10-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.11-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.11-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.12-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.12-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.2-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.2-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.3-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.3-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.4-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.4-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.5-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.5-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.6-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.6-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.7-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.7-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.8-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.8-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.6.9-compact.zip | Bin .../compile/enum-0.4.0.sol-0.6.9-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.7.0-compact.zip | Bin .../compile/enum-0.4.0.sol-0.7.0-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.7.1-compact.zip | Bin .../compile/enum-0.4.0.sol-0.7.1-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.7.2-compact.zip | Bin .../compile/enum-0.4.0.sol-0.7.2-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.7.3-compact.zip | Bin .../compile/enum-0.4.0.sol-0.7.3-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.7.4-compact.zip | Bin .../compile/enum-0.4.0.sol-0.7.4-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.7.5-compact.zip | Bin .../compile/enum-0.4.0.sol-0.7.5-legacy.zip | Bin .../compile/enum-0.4.0.sol-0.7.6-compact.zip | Bin .../compile/enum-0.4.0.sol-0.7.6-legacy.zip | Bin .../compile/enum-0.8.0.sol-0.8.0-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.1-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.10-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.11-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.12-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.13-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.14-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.15-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.2-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.3-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.4-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.5-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.6-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.7-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.8-compact.zip | Bin .../compile/enum-0.8.0.sol-0.8.9-compact.zip | Bin .../compile/event-all.sol-0.4.0-legacy.zip | Bin .../compile/event-all.sol-0.4.1-legacy.zip | Bin .../compile/event-all.sol-0.4.10-legacy.zip | Bin .../compile/event-all.sol-0.4.11-legacy.zip | Bin .../compile/event-all.sol-0.4.12-compact.zip | Bin .../compile/event-all.sol-0.4.12-legacy.zip | Bin .../compile/event-all.sol-0.4.13-compact.zip | Bin .../compile/event-all.sol-0.4.13-legacy.zip | Bin .../compile/event-all.sol-0.4.14-compact.zip | Bin .../compile/event-all.sol-0.4.14-legacy.zip | Bin .../compile/event-all.sol-0.4.15-compact.zip | Bin .../compile/event-all.sol-0.4.15-legacy.zip | Bin .../compile/event-all.sol-0.4.16-compact.zip | Bin .../compile/event-all.sol-0.4.16-legacy.zip | Bin .../compile/event-all.sol-0.4.17-compact.zip | Bin .../compile/event-all.sol-0.4.17-legacy.zip | Bin .../compile/event-all.sol-0.4.18-compact.zip | Bin .../compile/event-all.sol-0.4.18-legacy.zip | Bin .../compile/event-all.sol-0.4.19-compact.zip | Bin .../compile/event-all.sol-0.4.19-legacy.zip | Bin .../compile/event-all.sol-0.4.2-legacy.zip | Bin .../compile/event-all.sol-0.4.20-compact.zip | Bin .../compile/event-all.sol-0.4.20-legacy.zip | Bin .../compile/event-all.sol-0.4.21-compact.zip | Bin .../compile/event-all.sol-0.4.21-legacy.zip | Bin .../compile/event-all.sol-0.4.22-compact.zip | Bin .../compile/event-all.sol-0.4.22-legacy.zip | Bin .../compile/event-all.sol-0.4.23-compact.zip | Bin .../compile/event-all.sol-0.4.23-legacy.zip | Bin .../compile/event-all.sol-0.4.24-compact.zip | Bin .../compile/event-all.sol-0.4.24-legacy.zip | Bin .../compile/event-all.sol-0.4.25-compact.zip | Bin .../compile/event-all.sol-0.4.25-legacy.zip | Bin .../compile/event-all.sol-0.4.26-compact.zip | Bin .../compile/event-all.sol-0.4.26-legacy.zip | Bin .../compile/event-all.sol-0.4.3-legacy.zip | Bin .../compile/event-all.sol-0.4.4-legacy.zip | Bin .../compile/event-all.sol-0.4.5-legacy.zip | Bin .../compile/event-all.sol-0.4.6-legacy.zip | Bin .../compile/event-all.sol-0.4.7-legacy.zip | Bin .../compile/event-all.sol-0.4.8-legacy.zip | Bin .../compile/event-all.sol-0.4.9-legacy.zip | Bin .../compile/event-all.sol-0.5.0-compact.zip | Bin .../compile/event-all.sol-0.5.0-legacy.zip | Bin .../compile/event-all.sol-0.5.1-compact.zip | Bin .../compile/event-all.sol-0.5.1-legacy.zip | Bin .../compile/event-all.sol-0.5.10-compact.zip | Bin .../compile/event-all.sol-0.5.10-legacy.zip | Bin .../compile/event-all.sol-0.5.11-compact.zip | Bin .../compile/event-all.sol-0.5.11-legacy.zip | Bin .../compile/event-all.sol-0.5.12-compact.zip | Bin .../compile/event-all.sol-0.5.12-legacy.zip | Bin .../compile/event-all.sol-0.5.13-compact.zip | Bin .../compile/event-all.sol-0.5.13-legacy.zip | Bin .../compile/event-all.sol-0.5.14-compact.zip | Bin .../compile/event-all.sol-0.5.14-legacy.zip | Bin .../compile/event-all.sol-0.5.15-compact.zip | Bin .../compile/event-all.sol-0.5.15-legacy.zip | Bin .../compile/event-all.sol-0.5.16-compact.zip | Bin .../compile/event-all.sol-0.5.16-legacy.zip | Bin .../compile/event-all.sol-0.5.17-compact.zip | Bin .../compile/event-all.sol-0.5.17-legacy.zip | Bin .../compile/event-all.sol-0.5.2-compact.zip | Bin .../compile/event-all.sol-0.5.2-legacy.zip | Bin .../compile/event-all.sol-0.5.3-compact.zip | Bin .../compile/event-all.sol-0.5.3-legacy.zip | Bin .../compile/event-all.sol-0.5.4-compact.zip | Bin .../compile/event-all.sol-0.5.4-legacy.zip | Bin .../compile/event-all.sol-0.5.5-compact.zip | Bin .../compile/event-all.sol-0.5.5-legacy.zip | Bin .../compile/event-all.sol-0.5.6-compact.zip | Bin .../compile/event-all.sol-0.5.6-legacy.zip | Bin .../compile/event-all.sol-0.5.7-compact.zip | Bin .../compile/event-all.sol-0.5.7-legacy.zip | Bin .../compile/event-all.sol-0.5.8-compact.zip | Bin .../compile/event-all.sol-0.5.8-legacy.zip | Bin .../compile/event-all.sol-0.5.9-compact.zip | Bin .../compile/event-all.sol-0.5.9-legacy.zip | Bin .../compile/event-all.sol-0.6.0-compact.zip | Bin .../compile/event-all.sol-0.6.0-legacy.zip | Bin .../compile/event-all.sol-0.6.1-compact.zip | Bin .../compile/event-all.sol-0.6.1-legacy.zip | Bin .../compile/event-all.sol-0.6.10-compact.zip | Bin .../compile/event-all.sol-0.6.10-legacy.zip | Bin .../compile/event-all.sol-0.6.11-compact.zip | Bin .../compile/event-all.sol-0.6.11-legacy.zip | Bin .../compile/event-all.sol-0.6.12-compact.zip | Bin .../compile/event-all.sol-0.6.12-legacy.zip | Bin .../compile/event-all.sol-0.6.2-compact.zip | Bin .../compile/event-all.sol-0.6.2-legacy.zip | Bin .../compile/event-all.sol-0.6.3-compact.zip | Bin .../compile/event-all.sol-0.6.3-legacy.zip | Bin .../compile/event-all.sol-0.6.4-compact.zip | Bin .../compile/event-all.sol-0.6.4-legacy.zip | Bin .../compile/event-all.sol-0.6.5-compact.zip | Bin .../compile/event-all.sol-0.6.5-legacy.zip | Bin .../compile/event-all.sol-0.6.6-compact.zip | Bin .../compile/event-all.sol-0.6.6-legacy.zip | Bin .../compile/event-all.sol-0.6.7-compact.zip | Bin .../compile/event-all.sol-0.6.7-legacy.zip | Bin .../compile/event-all.sol-0.6.8-compact.zip | Bin .../compile/event-all.sol-0.6.8-legacy.zip | Bin .../compile/event-all.sol-0.6.9-compact.zip | Bin .../compile/event-all.sol-0.6.9-legacy.zip | Bin .../compile/event-all.sol-0.7.0-compact.zip | Bin .../compile/event-all.sol-0.7.0-legacy.zip | Bin .../compile/event-all.sol-0.7.1-compact.zip | Bin .../compile/event-all.sol-0.7.1-legacy.zip | Bin .../compile/event-all.sol-0.7.2-compact.zip | Bin .../compile/event-all.sol-0.7.2-legacy.zip | Bin .../compile/event-all.sol-0.7.3-compact.zip | Bin .../compile/event-all.sol-0.7.3-legacy.zip | Bin .../compile/event-all.sol-0.7.4-compact.zip | Bin .../compile/event-all.sol-0.7.4-legacy.zip | Bin .../compile/event-all.sol-0.7.5-compact.zip | Bin .../compile/event-all.sol-0.7.5-legacy.zip | Bin .../compile/event-all.sol-0.7.6-compact.zip | Bin .../compile/event-all.sol-0.7.6-legacy.zip | Bin .../compile/event-all.sol-0.8.0-compact.zip | Bin .../compile/event-all.sol-0.8.1-compact.zip | Bin .../compile/event-all.sol-0.8.10-compact.zip | Bin .../compile/event-all.sol-0.8.11-compact.zip | Bin .../compile/event-all.sol-0.8.12-compact.zip | Bin .../compile/event-all.sol-0.8.13-compact.zip | Bin .../compile/event-all.sol-0.8.14-compact.zip | Bin .../compile/event-all.sol-0.8.15-compact.zip | Bin .../compile/event-all.sol-0.8.2-compact.zip | Bin .../compile/event-all.sol-0.8.3-compact.zip | Bin .../compile/event-all.sol-0.8.4-compact.zip | Bin .../compile/event-all.sol-0.8.5-compact.zip | Bin .../compile/event-all.sol-0.8.6-compact.zip | Bin .../compile/event-all.sol-0.8.7-compact.zip | Bin .../compile/event-all.sol-0.8.8-compact.zip | Bin .../compile/event-all.sol-0.8.9-compact.zip | Bin .../compile/for-all.sol-0.4.0-legacy.zip | Bin .../compile/for-all.sol-0.4.1-legacy.zip | Bin .../compile/for-all.sol-0.4.10-legacy.zip | Bin .../compile/for-all.sol-0.4.11-legacy.zip | Bin .../compile/for-all.sol-0.4.12-compact.zip | Bin .../compile/for-all.sol-0.4.12-legacy.zip | Bin .../compile/for-all.sol-0.4.13-compact.zip | Bin .../compile/for-all.sol-0.4.13-legacy.zip | Bin .../compile/for-all.sol-0.4.14-compact.zip | Bin .../compile/for-all.sol-0.4.14-legacy.zip | Bin .../compile/for-all.sol-0.4.15-compact.zip | Bin .../compile/for-all.sol-0.4.15-legacy.zip | Bin .../compile/for-all.sol-0.4.16-compact.zip | Bin .../compile/for-all.sol-0.4.16-legacy.zip | Bin .../compile/for-all.sol-0.4.17-compact.zip | Bin .../compile/for-all.sol-0.4.17-legacy.zip | Bin .../compile/for-all.sol-0.4.18-compact.zip | Bin .../compile/for-all.sol-0.4.18-legacy.zip | Bin .../compile/for-all.sol-0.4.19-compact.zip | Bin .../compile/for-all.sol-0.4.19-legacy.zip | Bin .../compile/for-all.sol-0.4.2-legacy.zip | Bin .../compile/for-all.sol-0.4.20-compact.zip | Bin .../compile/for-all.sol-0.4.20-legacy.zip | Bin .../compile/for-all.sol-0.4.21-compact.zip | Bin .../compile/for-all.sol-0.4.21-legacy.zip | Bin .../compile/for-all.sol-0.4.22-compact.zip | Bin .../compile/for-all.sol-0.4.22-legacy.zip | Bin .../compile/for-all.sol-0.4.23-compact.zip | Bin .../compile/for-all.sol-0.4.23-legacy.zip | Bin .../compile/for-all.sol-0.4.24-compact.zip | Bin .../compile/for-all.sol-0.4.24-legacy.zip | Bin .../compile/for-all.sol-0.4.25-compact.zip | Bin .../compile/for-all.sol-0.4.25-legacy.zip | Bin .../compile/for-all.sol-0.4.26-compact.zip | Bin .../compile/for-all.sol-0.4.26-legacy.zip | Bin .../compile/for-all.sol-0.4.3-legacy.zip | Bin .../compile/for-all.sol-0.4.4-legacy.zip | Bin .../compile/for-all.sol-0.4.5-legacy.zip | Bin .../compile/for-all.sol-0.4.6-legacy.zip | Bin .../compile/for-all.sol-0.4.7-legacy.zip | Bin .../compile/for-all.sol-0.4.8-legacy.zip | Bin .../compile/for-all.sol-0.4.9-legacy.zip | Bin .../compile/for-all.sol-0.5.0-compact.zip | Bin .../compile/for-all.sol-0.5.0-legacy.zip | Bin .../compile/for-all.sol-0.5.1-compact.zip | Bin .../compile/for-all.sol-0.5.1-legacy.zip | Bin .../compile/for-all.sol-0.5.10-compact.zip | Bin .../compile/for-all.sol-0.5.10-legacy.zip | Bin .../compile/for-all.sol-0.5.11-compact.zip | Bin .../compile/for-all.sol-0.5.11-legacy.zip | Bin .../compile/for-all.sol-0.5.12-compact.zip | Bin .../compile/for-all.sol-0.5.12-legacy.zip | Bin .../compile/for-all.sol-0.5.13-compact.zip | Bin .../compile/for-all.sol-0.5.13-legacy.zip | Bin .../compile/for-all.sol-0.5.14-compact.zip | Bin .../compile/for-all.sol-0.5.14-legacy.zip | Bin .../compile/for-all.sol-0.5.15-compact.zip | Bin .../compile/for-all.sol-0.5.15-legacy.zip | Bin .../compile/for-all.sol-0.5.16-compact.zip | Bin .../compile/for-all.sol-0.5.16-legacy.zip | Bin .../compile/for-all.sol-0.5.17-compact.zip | Bin .../compile/for-all.sol-0.5.17-legacy.zip | Bin .../compile/for-all.sol-0.5.2-compact.zip | Bin .../compile/for-all.sol-0.5.2-legacy.zip | Bin .../compile/for-all.sol-0.5.3-compact.zip | Bin .../compile/for-all.sol-0.5.3-legacy.zip | Bin .../compile/for-all.sol-0.5.4-compact.zip | Bin .../compile/for-all.sol-0.5.4-legacy.zip | Bin .../compile/for-all.sol-0.5.5-compact.zip | Bin .../compile/for-all.sol-0.5.5-legacy.zip | Bin .../compile/for-all.sol-0.5.6-compact.zip | Bin .../compile/for-all.sol-0.5.6-legacy.zip | Bin .../compile/for-all.sol-0.5.7-compact.zip | Bin .../compile/for-all.sol-0.5.7-legacy.zip | Bin .../compile/for-all.sol-0.5.8-compact.zip | Bin .../compile/for-all.sol-0.5.8-legacy.zip | Bin .../compile/for-all.sol-0.5.9-compact.zip | Bin .../compile/for-all.sol-0.5.9-legacy.zip | Bin .../compile/for-all.sol-0.6.0-compact.zip | Bin .../compile/for-all.sol-0.6.0-legacy.zip | Bin .../compile/for-all.sol-0.6.1-compact.zip | Bin .../compile/for-all.sol-0.6.1-legacy.zip | Bin .../compile/for-all.sol-0.6.10-compact.zip | Bin .../compile/for-all.sol-0.6.10-legacy.zip | Bin .../compile/for-all.sol-0.6.11-compact.zip | Bin .../compile/for-all.sol-0.6.11-legacy.zip | Bin .../compile/for-all.sol-0.6.12-compact.zip | Bin .../compile/for-all.sol-0.6.12-legacy.zip | Bin .../compile/for-all.sol-0.6.2-compact.zip | Bin .../compile/for-all.sol-0.6.2-legacy.zip | Bin .../compile/for-all.sol-0.6.3-compact.zip | Bin .../compile/for-all.sol-0.6.3-legacy.zip | Bin .../compile/for-all.sol-0.6.4-compact.zip | Bin .../compile/for-all.sol-0.6.4-legacy.zip | Bin .../compile/for-all.sol-0.6.5-compact.zip | Bin .../compile/for-all.sol-0.6.5-legacy.zip | Bin .../compile/for-all.sol-0.6.6-compact.zip | Bin .../compile/for-all.sol-0.6.6-legacy.zip | Bin .../compile/for-all.sol-0.6.7-compact.zip | Bin .../compile/for-all.sol-0.6.7-legacy.zip | Bin .../compile/for-all.sol-0.6.8-compact.zip | Bin .../compile/for-all.sol-0.6.8-legacy.zip | Bin .../compile/for-all.sol-0.6.9-compact.zip | Bin .../compile/for-all.sol-0.6.9-legacy.zip | Bin .../compile/for-all.sol-0.7.0-compact.zip | Bin .../compile/for-all.sol-0.7.0-legacy.zip | Bin .../compile/for-all.sol-0.7.1-compact.zip | Bin .../compile/for-all.sol-0.7.1-legacy.zip | Bin .../compile/for-all.sol-0.7.2-compact.zip | Bin .../compile/for-all.sol-0.7.2-legacy.zip | Bin .../compile/for-all.sol-0.7.3-compact.zip | Bin .../compile/for-all.sol-0.7.3-legacy.zip | Bin .../compile/for-all.sol-0.7.4-compact.zip | Bin .../compile/for-all.sol-0.7.4-legacy.zip | Bin .../compile/for-all.sol-0.7.5-compact.zip | Bin .../compile/for-all.sol-0.7.5-legacy.zip | Bin .../compile/for-all.sol-0.7.6-compact.zip | Bin .../compile/for-all.sol-0.7.6-legacy.zip | Bin .../compile/for-all.sol-0.8.0-compact.zip | Bin .../compile/for-all.sol-0.8.1-compact.zip | Bin .../compile/for-all.sol-0.8.10-compact.zip | Bin .../compile/for-all.sol-0.8.11-compact.zip | Bin .../compile/for-all.sol-0.8.12-compact.zip | Bin .../compile/for-all.sol-0.8.13-compact.zip | Bin .../compile/for-all.sol-0.8.14-compact.zip | Bin .../compile/for-all.sol-0.8.15-compact.zip | Bin .../compile/for-all.sol-0.8.2-compact.zip | Bin .../compile/for-all.sol-0.8.3-compact.zip | Bin .../compile/for-all.sol-0.8.4-compact.zip | Bin .../compile/for-all.sol-0.8.5-compact.zip | Bin .../compile/for-all.sol-0.8.6-compact.zip | Bin .../compile/for-all.sol-0.8.7-compact.zip | Bin .../compile/for-all.sol-0.8.8-compact.zip | Bin .../compile/for-all.sol-0.8.9-compact.zip | Bin ...libraries_from_free.sol-0.8.12-compact.zip | Bin ..._function_collision.sol-0.8.12-compact.zip | Bin .../new_operator.sol-0.8.12-compact.zip | Bin .../function-0.4.0.sol-0.4.0-legacy.zip | Bin .../function-0.4.0.sol-0.4.1-legacy.zip | Bin .../function-0.4.0.sol-0.4.10-legacy.zip | Bin .../function-0.4.0.sol-0.4.11-legacy.zip | Bin .../function-0.4.0.sol-0.4.12-compact.zip | Bin .../function-0.4.0.sol-0.4.12-legacy.zip | Bin .../function-0.4.0.sol-0.4.13-compact.zip | Bin .../function-0.4.0.sol-0.4.13-legacy.zip | Bin .../function-0.4.0.sol-0.4.14-compact.zip | Bin .../function-0.4.0.sol-0.4.14-legacy.zip | Bin .../function-0.4.0.sol-0.4.15-compact.zip | Bin .../function-0.4.0.sol-0.4.15-legacy.zip | Bin .../function-0.4.0.sol-0.4.2-legacy.zip | Bin .../function-0.4.0.sol-0.4.3-legacy.zip | Bin .../function-0.4.0.sol-0.4.4-legacy.zip | Bin .../function-0.4.0.sol-0.4.5-legacy.zip | Bin .../function-0.4.0.sol-0.4.6-legacy.zip | Bin .../function-0.4.0.sol-0.4.7-legacy.zip | Bin .../function-0.4.0.sol-0.4.8-legacy.zip | Bin .../function-0.4.0.sol-0.4.9-legacy.zip | Bin .../function-0.4.16.sol-0.4.16-compact.zip | Bin .../function-0.4.16.sol-0.4.16-legacy.zip | Bin .../function-0.4.16.sol-0.4.17-compact.zip | Bin .../function-0.4.16.sol-0.4.17-legacy.zip | Bin .../function-0.4.16.sol-0.4.18-compact.zip | Bin .../function-0.4.16.sol-0.4.18-legacy.zip | Bin .../function-0.4.16.sol-0.4.19-compact.zip | Bin .../function-0.4.16.sol-0.4.19-legacy.zip | Bin .../function-0.4.16.sol-0.4.20-compact.zip | Bin .../function-0.4.16.sol-0.4.20-legacy.zip | Bin .../function-0.4.16.sol-0.4.21-compact.zip | Bin .../function-0.4.16.sol-0.4.21-legacy.zip | Bin .../function-0.4.22.sol-0.4.22-compact.zip | Bin .../function-0.4.22.sol-0.4.22-legacy.zip | Bin .../function-0.4.23.sol-0.4.23-compact.zip | Bin .../function-0.4.23.sol-0.4.23-legacy.zip | Bin .../function-0.4.23.sol-0.4.24-compact.zip | Bin .../function-0.4.23.sol-0.4.24-legacy.zip | Bin .../function-0.4.23.sol-0.4.25-compact.zip | Bin .../function-0.4.23.sol-0.4.25-legacy.zip | Bin .../function-0.4.23.sol-0.4.26-compact.zip | Bin .../function-0.4.23.sol-0.4.26-legacy.zip | Bin .../function-0.5.0.sol-0.5.0-compact.zip | Bin .../function-0.5.0.sol-0.5.0-legacy.zip | Bin .../function-0.5.0.sol-0.5.1-compact.zip | Bin .../function-0.5.0.sol-0.5.1-legacy.zip | Bin .../function-0.5.0.sol-0.5.10-compact.zip | Bin .../function-0.5.0.sol-0.5.10-legacy.zip | Bin .../function-0.5.0.sol-0.5.11-compact.zip | Bin .../function-0.5.0.sol-0.5.11-legacy.zip | Bin .../function-0.5.0.sol-0.5.12-compact.zip | Bin .../function-0.5.0.sol-0.5.12-legacy.zip | Bin .../function-0.5.0.sol-0.5.13-compact.zip | Bin .../function-0.5.0.sol-0.5.13-legacy.zip | Bin .../function-0.5.0.sol-0.5.14-compact.zip | Bin .../function-0.5.0.sol-0.5.14-legacy.zip | Bin .../function-0.5.0.sol-0.5.15-compact.zip | Bin .../function-0.5.0.sol-0.5.15-legacy.zip | Bin .../function-0.5.0.sol-0.5.16-compact.zip | Bin .../function-0.5.0.sol-0.5.16-legacy.zip | Bin .../function-0.5.0.sol-0.5.17-compact.zip | Bin .../function-0.5.0.sol-0.5.17-legacy.zip | Bin .../function-0.5.0.sol-0.5.2-compact.zip | Bin .../function-0.5.0.sol-0.5.2-legacy.zip | Bin .../function-0.5.0.sol-0.5.3-compact.zip | Bin .../function-0.5.0.sol-0.5.3-legacy.zip | Bin .../function-0.5.0.sol-0.5.4-compact.zip | Bin .../function-0.5.0.sol-0.5.4-legacy.zip | Bin .../function-0.5.0.sol-0.5.5-compact.zip | Bin .../function-0.5.0.sol-0.5.5-legacy.zip | Bin .../function-0.5.0.sol-0.5.6-compact.zip | Bin .../function-0.5.0.sol-0.5.6-legacy.zip | Bin .../function-0.5.0.sol-0.5.7-compact.zip | Bin .../function-0.5.0.sol-0.5.7-legacy.zip | Bin .../function-0.5.0.sol-0.5.8-compact.zip | Bin .../function-0.5.0.sol-0.5.8-legacy.zip | Bin .../function-0.5.0.sol-0.5.9-compact.zip | Bin .../function-0.5.0.sol-0.5.9-legacy.zip | Bin .../function-0.6.0.sol-0.6.0-compact.zip | Bin .../function-0.6.0.sol-0.6.1-compact.zip | Bin .../function-0.6.0.sol-0.6.10-compact.zip | Bin .../function-0.6.0.sol-0.6.11-compact.zip | Bin .../function-0.6.0.sol-0.6.12-compact.zip | Bin .../function-0.6.0.sol-0.6.2-compact.zip | Bin .../function-0.6.0.sol-0.6.3-compact.zip | Bin .../function-0.6.0.sol-0.6.4-compact.zip | Bin .../function-0.6.0.sol-0.6.5-compact.zip | Bin .../function-0.6.0.sol-0.6.6-compact.zip | Bin .../function-0.6.0.sol-0.6.7-compact.zip | Bin .../function-0.6.0.sol-0.6.8-compact.zip | Bin .../function-0.6.0.sol-0.6.9-compact.zip | Bin .../function-0.7.1.sol-0.7.1-compact.zip | Bin .../function-0.7.1.sol-0.7.2-compact.zip | Bin .../function-0.7.1.sol-0.7.3-compact.zip | Bin .../function-0.7.1.sol-0.7.4-compact.zip | Bin .../function-0.7.1.sol-0.7.5-compact.zip | Bin .../function-0.7.1.sol-0.7.6-compact.zip | Bin .../function-0.7.1.sol-0.8.0-compact.zip | Bin .../function-0.7.1.sol-0.8.1-compact.zip | Bin .../function-0.7.1.sol-0.8.10-compact.zip | Bin .../function-0.7.1.sol-0.8.11-compact.zip | Bin .../function-0.7.1.sol-0.8.12-compact.zip | Bin .../function-0.7.1.sol-0.8.13-compact.zip | Bin .../function-0.7.1.sol-0.8.14-compact.zip | Bin .../function-0.7.1.sol-0.8.15-compact.zip | Bin .../function-0.7.1.sol-0.8.2-compact.zip | Bin .../function-0.7.1.sol-0.8.3-compact.zip | Bin .../function-0.7.1.sol-0.8.4-compact.zip | Bin .../function-0.7.1.sol-0.8.5-compact.zip | Bin .../function-0.7.1.sol-0.8.6-compact.zip | Bin .../function-0.7.1.sol-0.8.7-compact.zip | Bin .../function-0.7.1.sol-0.8.8-compact.zip | Bin .../function-0.7.1.sol-0.8.9-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.0-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.1-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.10-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.11-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.12-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.12-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.13-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.13-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.14-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.14-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.15-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.15-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.16-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.16-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.17-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.17-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.18-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.18-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.19-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.19-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.2-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.20-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.20-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.21-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.21-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.22-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.22-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.23-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.23-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.24-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.24-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.25-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.25-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.26-compact.zip | Bin .../functioncall-0.4.0.sol-0.4.26-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.3-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.4-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.5-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.6-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.7-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.8-legacy.zip | Bin .../functioncall-0.4.0.sol-0.4.9-legacy.zip | Bin .../functioncall-0.4.5.sol-0.4.5-legacy.zip | Bin .../functioncall-0.4.5.sol-0.4.6-legacy.zip | Bin .../functioncall-0.4.5.sol-0.4.7-legacy.zip | Bin .../functioncall-0.4.5.sol-0.4.8-legacy.zip | Bin .../functioncall-0.4.5.sol-0.4.9-legacy.zip | Bin .../functioncall-0.5.0.sol-0.5.0-compact.zip | Bin .../functioncall-0.5.0.sol-0.5.0-legacy.zip | Bin .../functioncall-0.5.0.sol-0.5.1-compact.zip | Bin .../functioncall-0.5.0.sol-0.5.1-legacy.zip | Bin .../functioncall-0.5.0.sol-0.5.2-compact.zip | Bin .../functioncall-0.5.0.sol-0.5.2-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.10-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.10-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.11-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.11-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.12-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.12-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.13-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.13-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.14-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.14-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.15-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.15-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.16-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.16-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.17-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.17-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.3-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.3-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.4-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.4-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.5-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.5-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.6-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.6-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.7-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.7-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.8-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.8-legacy.zip | Bin .../functioncall-0.5.3.sol-0.5.9-compact.zip | Bin .../functioncall-0.5.3.sol-0.5.9-legacy.zip | Bin .../functioncall-0.6.0.sol-0.6.0-compact.zip | Bin .../functioncall-0.6.0.sol-0.6.0-legacy.zip | Bin .../functioncall-0.6.0.sol-0.6.1-compact.zip | Bin .../functioncall-0.6.0.sol-0.6.1-legacy.zip | Bin .../functioncall-0.6.2.sol-0.6.2-compact.zip | Bin .../functioncall-0.6.2.sol-0.6.2-legacy.zip | Bin .../functioncall-0.6.2.sol-0.6.3-compact.zip | Bin .../functioncall-0.6.2.sol-0.6.3-legacy.zip | Bin .../functioncall-0.6.2.sol-0.6.4-compact.zip | Bin .../functioncall-0.6.2.sol-0.6.4-legacy.zip | Bin .../functioncall-0.6.2.sol-0.6.5-compact.zip | Bin .../functioncall-0.6.2.sol-0.6.5-legacy.zip | Bin .../functioncall-0.6.2.sol-0.6.6-compact.zip | Bin .../functioncall-0.6.2.sol-0.6.6-legacy.zip | Bin .../functioncall-0.6.2.sol-0.6.7-compact.zip | Bin .../functioncall-0.6.2.sol-0.6.7-legacy.zip | Bin .../functioncall-0.6.8.sol-0.6.10-compact.zip | Bin .../functioncall-0.6.8.sol-0.6.10-legacy.zip | Bin .../functioncall-0.6.8.sol-0.6.11-compact.zip | Bin .../functioncall-0.6.8.sol-0.6.11-legacy.zip | Bin .../functioncall-0.6.8.sol-0.6.12-compact.zip | Bin .../functioncall-0.6.8.sol-0.6.12-legacy.zip | Bin .../functioncall-0.6.8.sol-0.6.8-compact.zip | Bin .../functioncall-0.6.8.sol-0.6.8-legacy.zip | Bin .../functioncall-0.6.8.sol-0.6.9-compact.zip | Bin .../functioncall-0.6.8.sol-0.6.9-legacy.zip | Bin .../functioncall-0.7.0.sol-0.7.0-compact.zip | Bin .../functioncall-0.7.0.sol-0.7.0-legacy.zip | Bin .../functioncall-0.7.0.sol-0.7.1-compact.zip | Bin .../functioncall-0.7.0.sol-0.7.1-legacy.zip | Bin .../functioncall-0.7.0.sol-0.7.2-compact.zip | Bin .../functioncall-0.7.0.sol-0.7.2-legacy.zip | Bin .../functioncall-0.7.0.sol-0.7.3-compact.zip | Bin .../functioncall-0.7.0.sol-0.7.3-legacy.zip | Bin .../functioncall-0.7.0.sol-0.7.4-compact.zip | Bin .../functioncall-0.7.0.sol-0.7.4-legacy.zip | Bin .../functioncall-0.7.0.sol-0.7.5-compact.zip | Bin .../functioncall-0.7.0.sol-0.7.5-legacy.zip | Bin .../functioncall-0.7.0.sol-0.7.6-compact.zip | Bin .../functioncall-0.7.0.sol-0.7.6-legacy.zip | Bin .../functioncall-0.8.0.sol-0.8.0-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.1-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.10-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.11-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.12-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.13-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.14-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.15-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.2-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.3-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.4-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.5-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.6-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.7-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.8-compact.zip | Bin .../functioncall-0.8.0.sol-0.8.9-compact.zip | Bin .../compile/if-all.sol-0.4.0-legacy.zip | Bin .../compile/if-all.sol-0.4.1-legacy.zip | Bin .../compile/if-all.sol-0.4.10-legacy.zip | Bin .../compile/if-all.sol-0.4.11-legacy.zip | Bin .../compile/if-all.sol-0.4.12-compact.zip | Bin .../compile/if-all.sol-0.4.12-legacy.zip | Bin .../compile/if-all.sol-0.4.13-compact.zip | Bin .../compile/if-all.sol-0.4.13-legacy.zip | Bin .../compile/if-all.sol-0.4.14-compact.zip | Bin .../compile/if-all.sol-0.4.14-legacy.zip | Bin .../compile/if-all.sol-0.4.15-compact.zip | Bin .../compile/if-all.sol-0.4.15-legacy.zip | Bin .../compile/if-all.sol-0.4.16-compact.zip | Bin .../compile/if-all.sol-0.4.16-legacy.zip | Bin .../compile/if-all.sol-0.4.17-compact.zip | Bin .../compile/if-all.sol-0.4.17-legacy.zip | Bin .../compile/if-all.sol-0.4.18-compact.zip | Bin .../compile/if-all.sol-0.4.18-legacy.zip | Bin .../compile/if-all.sol-0.4.19-compact.zip | Bin .../compile/if-all.sol-0.4.19-legacy.zip | Bin .../compile/if-all.sol-0.4.2-legacy.zip | Bin .../compile/if-all.sol-0.4.20-compact.zip | Bin .../compile/if-all.sol-0.4.20-legacy.zip | Bin .../compile/if-all.sol-0.4.21-compact.zip | Bin .../compile/if-all.sol-0.4.21-legacy.zip | Bin .../compile/if-all.sol-0.4.22-compact.zip | Bin .../compile/if-all.sol-0.4.22-legacy.zip | Bin .../compile/if-all.sol-0.4.23-compact.zip | Bin .../compile/if-all.sol-0.4.23-legacy.zip | Bin .../compile/if-all.sol-0.4.24-compact.zip | Bin .../compile/if-all.sol-0.4.24-legacy.zip | Bin .../compile/if-all.sol-0.4.25-compact.zip | Bin .../compile/if-all.sol-0.4.25-legacy.zip | Bin .../compile/if-all.sol-0.4.26-compact.zip | Bin .../compile/if-all.sol-0.4.26-legacy.zip | Bin .../compile/if-all.sol-0.4.3-legacy.zip | Bin .../compile/if-all.sol-0.4.4-legacy.zip | Bin .../compile/if-all.sol-0.4.5-legacy.zip | Bin .../compile/if-all.sol-0.4.6-legacy.zip | Bin .../compile/if-all.sol-0.4.7-legacy.zip | Bin .../compile/if-all.sol-0.4.8-legacy.zip | Bin .../compile/if-all.sol-0.4.9-legacy.zip | Bin .../compile/if-all.sol-0.5.0-compact.zip | Bin .../compile/if-all.sol-0.5.0-legacy.zip | Bin .../compile/if-all.sol-0.5.1-compact.zip | Bin .../compile/if-all.sol-0.5.1-legacy.zip | Bin .../compile/if-all.sol-0.5.10-compact.zip | Bin .../compile/if-all.sol-0.5.10-legacy.zip | Bin .../compile/if-all.sol-0.5.11-compact.zip | Bin .../compile/if-all.sol-0.5.11-legacy.zip | Bin .../compile/if-all.sol-0.5.12-compact.zip | Bin .../compile/if-all.sol-0.5.12-legacy.zip | Bin .../compile/if-all.sol-0.5.13-compact.zip | Bin .../compile/if-all.sol-0.5.13-legacy.zip | Bin .../compile/if-all.sol-0.5.14-compact.zip | Bin .../compile/if-all.sol-0.5.14-legacy.zip | Bin .../compile/if-all.sol-0.5.15-compact.zip | Bin .../compile/if-all.sol-0.5.15-legacy.zip | Bin .../compile/if-all.sol-0.5.16-compact.zip | Bin .../compile/if-all.sol-0.5.16-legacy.zip | Bin .../compile/if-all.sol-0.5.17-compact.zip | Bin .../compile/if-all.sol-0.5.17-legacy.zip | Bin .../compile/if-all.sol-0.5.2-compact.zip | Bin .../compile/if-all.sol-0.5.2-legacy.zip | Bin .../compile/if-all.sol-0.5.3-compact.zip | Bin .../compile/if-all.sol-0.5.3-legacy.zip | Bin .../compile/if-all.sol-0.5.4-compact.zip | Bin .../compile/if-all.sol-0.5.4-legacy.zip | Bin .../compile/if-all.sol-0.5.5-compact.zip | Bin .../compile/if-all.sol-0.5.5-legacy.zip | Bin .../compile/if-all.sol-0.5.6-compact.zip | Bin .../compile/if-all.sol-0.5.6-legacy.zip | Bin .../compile/if-all.sol-0.5.7-compact.zip | Bin .../compile/if-all.sol-0.5.7-legacy.zip | Bin .../compile/if-all.sol-0.5.8-compact.zip | Bin .../compile/if-all.sol-0.5.8-legacy.zip | Bin .../compile/if-all.sol-0.5.9-compact.zip | Bin .../compile/if-all.sol-0.5.9-legacy.zip | Bin .../compile/if-all.sol-0.6.0-compact.zip | Bin .../compile/if-all.sol-0.6.0-legacy.zip | Bin .../compile/if-all.sol-0.6.1-compact.zip | Bin .../compile/if-all.sol-0.6.1-legacy.zip | Bin .../compile/if-all.sol-0.6.10-compact.zip | Bin .../compile/if-all.sol-0.6.10-legacy.zip | Bin .../compile/if-all.sol-0.6.11-compact.zip | Bin .../compile/if-all.sol-0.6.11-legacy.zip | Bin .../compile/if-all.sol-0.6.12-compact.zip | Bin .../compile/if-all.sol-0.6.12-legacy.zip | Bin .../compile/if-all.sol-0.6.2-compact.zip | Bin .../compile/if-all.sol-0.6.2-legacy.zip | Bin .../compile/if-all.sol-0.6.3-compact.zip | Bin .../compile/if-all.sol-0.6.3-legacy.zip | Bin .../compile/if-all.sol-0.6.4-compact.zip | Bin .../compile/if-all.sol-0.6.4-legacy.zip | Bin .../compile/if-all.sol-0.6.5-compact.zip | Bin .../compile/if-all.sol-0.6.5-legacy.zip | Bin .../compile/if-all.sol-0.6.6-compact.zip | Bin .../compile/if-all.sol-0.6.6-legacy.zip | Bin .../compile/if-all.sol-0.6.7-compact.zip | Bin .../compile/if-all.sol-0.6.7-legacy.zip | Bin .../compile/if-all.sol-0.6.8-compact.zip | Bin .../compile/if-all.sol-0.6.8-legacy.zip | Bin .../compile/if-all.sol-0.6.9-compact.zip | Bin .../compile/if-all.sol-0.6.9-legacy.zip | Bin .../compile/if-all.sol-0.7.0-compact.zip | Bin .../compile/if-all.sol-0.7.0-legacy.zip | Bin .../compile/if-all.sol-0.7.1-compact.zip | Bin .../compile/if-all.sol-0.7.1-legacy.zip | Bin .../compile/if-all.sol-0.7.2-compact.zip | Bin .../compile/if-all.sol-0.7.2-legacy.zip | Bin .../compile/if-all.sol-0.7.3-compact.zip | Bin .../compile/if-all.sol-0.7.3-legacy.zip | Bin .../compile/if-all.sol-0.7.4-compact.zip | Bin .../compile/if-all.sol-0.7.4-legacy.zip | Bin .../compile/if-all.sol-0.7.5-compact.zip | Bin .../compile/if-all.sol-0.7.5-legacy.zip | Bin .../compile/if-all.sol-0.7.6-compact.zip | Bin .../compile/if-all.sol-0.7.6-legacy.zip | Bin .../compile/if-all.sol-0.8.0-compact.zip | Bin .../compile/if-all.sol-0.8.1-compact.zip | Bin .../compile/if-all.sol-0.8.10-compact.zip | Bin .../compile/if-all.sol-0.8.11-compact.zip | Bin .../compile/if-all.sol-0.8.12-compact.zip | Bin .../compile/if-all.sol-0.8.13-compact.zip | Bin .../compile/if-all.sol-0.8.14-compact.zip | Bin .../compile/if-all.sol-0.8.15-compact.zip | Bin .../compile/if-all.sol-0.8.2-compact.zip | Bin .../compile/if-all.sol-0.8.3-compact.zip | Bin .../compile/if-all.sol-0.8.4-compact.zip | Bin .../compile/if-all.sol-0.8.5-compact.zip | Bin .../compile/if-all.sol-0.8.6-compact.zip | Bin .../compile/if-all.sol-0.8.7-compact.zip | Bin .../compile/if-all.sol-0.8.8-compact.zip | Bin .../compile/if-all.sol-0.8.9-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.4.0-legacy.zip | Bin ..._from_top_level-0.4.0.sol-0.4.1-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.4.10-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.4.11-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.12-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.12-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.13-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.13-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.14-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.14-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.15-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.15-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.16-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.16-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.17-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.17-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.18-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.18-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.19-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.19-legacy.zip | Bin ..._from_top_level-0.4.0.sol-0.4.2-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.20-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.20-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.21-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.21-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.22-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.22-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.23-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.23-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.24-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.24-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.25-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.25-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.4.26-compact.zip | Bin ...from_top_level-0.4.0.sol-0.4.26-legacy.zip | Bin ..._from_top_level-0.4.0.sol-0.4.3-legacy.zip | Bin ..._from_top_level-0.4.0.sol-0.4.4-legacy.zip | Bin ..._from_top_level-0.4.0.sol-0.4.5-legacy.zip | Bin ..._from_top_level-0.4.0.sol-0.4.6-legacy.zip | Bin ..._from_top_level-0.4.0.sol-0.4.7-legacy.zip | Bin ..._from_top_level-0.4.0.sol-0.4.8-legacy.zip | Bin ..._from_top_level-0.4.0.sol-0.4.9-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.5.0-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.5.0-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.5.1-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.5.1-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.5.10-compact.zip | Bin ...from_top_level-0.4.0.sol-0.5.10-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.5.11-compact.zip | Bin ...from_top_level-0.4.0.sol-0.5.11-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.5.12-compact.zip | Bin ...from_top_level-0.4.0.sol-0.5.12-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.5.13-compact.zip | Bin ...from_top_level-0.4.0.sol-0.5.13-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.5.14-compact.zip | Bin ...from_top_level-0.4.0.sol-0.5.14-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.5.15-compact.zip | Bin ...from_top_level-0.4.0.sol-0.5.15-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.5.16-compact.zip | Bin ...from_top_level-0.4.0.sol-0.5.16-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.5.17-compact.zip | Bin ...from_top_level-0.4.0.sol-0.5.17-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.5.2-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.5.2-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.5.3-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.5.3-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.5.4-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.5.4-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.5.5-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.5.5-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.5.6-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.5.6-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.5.7-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.5.7-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.5.8-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.5.8-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.5.9-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.5.9-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.6.0-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.6.0-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.6.1-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.6.1-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.6.10-compact.zip | Bin ...from_top_level-0.4.0.sol-0.6.10-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.6.11-compact.zip | Bin ...from_top_level-0.4.0.sol-0.6.11-legacy.zip | Bin ...rom_top_level-0.4.0.sol-0.6.12-compact.zip | Bin ...from_top_level-0.4.0.sol-0.6.12-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.6.2-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.6.2-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.6.3-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.6.3-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.6.4-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.6.4-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.6.5-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.6.5-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.6.6-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.6.6-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.6.7-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.6.7-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.6.8-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.6.8-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.6.9-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.6.9-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.7.0-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.7.0-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.7.1-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.7.1-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.7.2-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.7.2-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.7.3-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.7.3-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.7.4-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.7.4-legacy.zip | Bin ...from_top_level-0.4.0.sol-0.7.5-compact.zip | Bin ..._from_top_level-0.4.0.sol-0.7.5-legacy.zip | Bin ...from_top_level-0.7.6.sol-0.7.6-compact.zip | Bin ..._from_top_level-0.7.6.sol-0.7.6-legacy.zip | Bin ...from_top_level-0.7.6.sol-0.8.0-compact.zip | Bin ...from_top_level-0.7.6.sol-0.8.1-compact.zip | Bin ...rom_top_level-0.7.6.sol-0.8.10-compact.zip | Bin ...rom_top_level-0.7.6.sol-0.8.11-compact.zip | Bin ...rom_top_level-0.7.6.sol-0.8.12-compact.zip | Bin ...rom_top_level-0.7.6.sol-0.8.13-compact.zip | Bin ...rom_top_level-0.7.6.sol-0.8.14-compact.zip | Bin ...rom_top_level-0.7.6.sol-0.8.15-compact.zip | Bin ...from_top_level-0.7.6.sol-0.8.2-compact.zip | Bin ...from_top_level-0.7.6.sol-0.8.3-compact.zip | Bin ...from_top_level-0.7.6.sol-0.8.4-compact.zip | Bin ...from_top_level-0.7.6.sol-0.8.5-compact.zip | Bin ...from_top_level-0.7.6.sol-0.8.6-compact.zip | Bin ...from_top_level-0.7.6.sol-0.8.7-compact.zip | Bin ...from_top_level-0.7.6.sol-0.8.8-compact.zip | Bin ...from_top_level-0.7.6.sol-0.8.9-compact.zip | Bin .../indexaccess-all.sol-0.4.0-legacy.zip | Bin .../indexaccess-all.sol-0.4.1-legacy.zip | Bin .../indexaccess-all.sol-0.4.10-legacy.zip | Bin .../indexaccess-all.sol-0.4.11-legacy.zip | Bin .../indexaccess-all.sol-0.4.12-compact.zip | Bin .../indexaccess-all.sol-0.4.12-legacy.zip | Bin .../indexaccess-all.sol-0.4.13-compact.zip | Bin .../indexaccess-all.sol-0.4.13-legacy.zip | Bin .../indexaccess-all.sol-0.4.14-compact.zip | Bin .../indexaccess-all.sol-0.4.14-legacy.zip | Bin .../indexaccess-all.sol-0.4.15-compact.zip | Bin .../indexaccess-all.sol-0.4.15-legacy.zip | Bin .../indexaccess-all.sol-0.4.16-compact.zip | Bin .../indexaccess-all.sol-0.4.16-legacy.zip | Bin .../indexaccess-all.sol-0.4.17-compact.zip | Bin .../indexaccess-all.sol-0.4.17-legacy.zip | Bin .../indexaccess-all.sol-0.4.18-compact.zip | Bin .../indexaccess-all.sol-0.4.18-legacy.zip | Bin .../indexaccess-all.sol-0.4.19-compact.zip | Bin .../indexaccess-all.sol-0.4.19-legacy.zip | Bin .../indexaccess-all.sol-0.4.2-legacy.zip | Bin .../indexaccess-all.sol-0.4.20-compact.zip | Bin .../indexaccess-all.sol-0.4.20-legacy.zip | Bin .../indexaccess-all.sol-0.4.21-compact.zip | Bin .../indexaccess-all.sol-0.4.21-legacy.zip | Bin .../indexaccess-all.sol-0.4.22-compact.zip | Bin .../indexaccess-all.sol-0.4.22-legacy.zip | Bin .../indexaccess-all.sol-0.4.23-compact.zip | Bin .../indexaccess-all.sol-0.4.23-legacy.zip | Bin .../indexaccess-all.sol-0.4.24-compact.zip | Bin .../indexaccess-all.sol-0.4.24-legacy.zip | Bin .../indexaccess-all.sol-0.4.25-compact.zip | Bin .../indexaccess-all.sol-0.4.25-legacy.zip | Bin .../indexaccess-all.sol-0.4.26-compact.zip | Bin .../indexaccess-all.sol-0.4.26-legacy.zip | Bin .../indexaccess-all.sol-0.4.3-legacy.zip | Bin .../indexaccess-all.sol-0.4.4-legacy.zip | Bin .../indexaccess-all.sol-0.4.5-legacy.zip | Bin .../indexaccess-all.sol-0.4.6-legacy.zip | Bin .../indexaccess-all.sol-0.4.7-legacy.zip | Bin .../indexaccess-all.sol-0.4.8-legacy.zip | Bin .../indexaccess-all.sol-0.4.9-legacy.zip | Bin .../indexaccess-all.sol-0.5.0-compact.zip | Bin .../indexaccess-all.sol-0.5.0-legacy.zip | Bin .../indexaccess-all.sol-0.5.1-compact.zip | Bin .../indexaccess-all.sol-0.5.1-legacy.zip | Bin .../indexaccess-all.sol-0.5.10-compact.zip | Bin .../indexaccess-all.sol-0.5.10-legacy.zip | Bin .../indexaccess-all.sol-0.5.11-compact.zip | Bin .../indexaccess-all.sol-0.5.11-legacy.zip | Bin .../indexaccess-all.sol-0.5.12-compact.zip | Bin .../indexaccess-all.sol-0.5.12-legacy.zip | Bin .../indexaccess-all.sol-0.5.13-compact.zip | Bin .../indexaccess-all.sol-0.5.13-legacy.zip | Bin .../indexaccess-all.sol-0.5.14-compact.zip | Bin .../indexaccess-all.sol-0.5.14-legacy.zip | Bin .../indexaccess-all.sol-0.5.15-compact.zip | Bin .../indexaccess-all.sol-0.5.15-legacy.zip | Bin .../indexaccess-all.sol-0.5.16-compact.zip | Bin .../indexaccess-all.sol-0.5.16-legacy.zip | Bin .../indexaccess-all.sol-0.5.17-compact.zip | Bin .../indexaccess-all.sol-0.5.17-legacy.zip | Bin .../indexaccess-all.sol-0.5.2-compact.zip | Bin .../indexaccess-all.sol-0.5.2-legacy.zip | Bin .../indexaccess-all.sol-0.5.3-compact.zip | Bin .../indexaccess-all.sol-0.5.3-legacy.zip | Bin .../indexaccess-all.sol-0.5.4-compact.zip | Bin .../indexaccess-all.sol-0.5.4-legacy.zip | Bin .../indexaccess-all.sol-0.5.5-compact.zip | Bin .../indexaccess-all.sol-0.5.5-legacy.zip | Bin .../indexaccess-all.sol-0.5.6-compact.zip | Bin .../indexaccess-all.sol-0.5.6-legacy.zip | Bin .../indexaccess-all.sol-0.5.7-compact.zip | Bin .../indexaccess-all.sol-0.5.7-legacy.zip | Bin .../indexaccess-all.sol-0.5.8-compact.zip | Bin .../indexaccess-all.sol-0.5.8-legacy.zip | Bin .../indexaccess-all.sol-0.5.9-compact.zip | Bin .../indexaccess-all.sol-0.5.9-legacy.zip | Bin .../indexaccess-all.sol-0.6.0-compact.zip | Bin .../indexaccess-all.sol-0.6.0-legacy.zip | Bin .../indexaccess-all.sol-0.6.1-compact.zip | Bin .../indexaccess-all.sol-0.6.1-legacy.zip | Bin .../indexaccess-all.sol-0.6.10-compact.zip | Bin .../indexaccess-all.sol-0.6.10-legacy.zip | Bin .../indexaccess-all.sol-0.6.11-compact.zip | Bin .../indexaccess-all.sol-0.6.11-legacy.zip | Bin .../indexaccess-all.sol-0.6.12-compact.zip | Bin .../indexaccess-all.sol-0.6.12-legacy.zip | Bin .../indexaccess-all.sol-0.6.2-compact.zip | Bin .../indexaccess-all.sol-0.6.2-legacy.zip | Bin .../indexaccess-all.sol-0.6.3-compact.zip | Bin .../indexaccess-all.sol-0.6.3-legacy.zip | Bin .../indexaccess-all.sol-0.6.4-compact.zip | Bin .../indexaccess-all.sol-0.6.4-legacy.zip | Bin .../indexaccess-all.sol-0.6.5-compact.zip | Bin .../indexaccess-all.sol-0.6.5-legacy.zip | Bin .../indexaccess-all.sol-0.6.6-compact.zip | Bin .../indexaccess-all.sol-0.6.6-legacy.zip | Bin .../indexaccess-all.sol-0.6.7-compact.zip | Bin .../indexaccess-all.sol-0.6.7-legacy.zip | Bin .../indexaccess-all.sol-0.6.8-compact.zip | Bin .../indexaccess-all.sol-0.6.8-legacy.zip | Bin .../indexaccess-all.sol-0.6.9-compact.zip | Bin .../indexaccess-all.sol-0.6.9-legacy.zip | Bin .../indexaccess-all.sol-0.7.0-compact.zip | Bin .../indexaccess-all.sol-0.7.0-legacy.zip | Bin .../indexaccess-all.sol-0.7.1-compact.zip | Bin .../indexaccess-all.sol-0.7.1-legacy.zip | Bin .../indexaccess-all.sol-0.7.2-compact.zip | Bin .../indexaccess-all.sol-0.7.2-legacy.zip | Bin .../indexaccess-all.sol-0.7.3-compact.zip | Bin .../indexaccess-all.sol-0.7.3-legacy.zip | Bin .../indexaccess-all.sol-0.7.4-compact.zip | Bin .../indexaccess-all.sol-0.7.4-legacy.zip | Bin .../indexaccess-all.sol-0.7.5-compact.zip | Bin .../indexaccess-all.sol-0.7.5-legacy.zip | Bin .../indexaccess-all.sol-0.7.6-compact.zip | Bin .../indexaccess-all.sol-0.7.6-legacy.zip | Bin .../indexaccess-all.sol-0.8.0-compact.zip | Bin .../indexaccess-all.sol-0.8.1-compact.zip | Bin .../indexaccess-all.sol-0.8.10-compact.zip | Bin .../indexaccess-all.sol-0.8.11-compact.zip | Bin .../indexaccess-all.sol-0.8.12-compact.zip | Bin .../indexaccess-all.sol-0.8.13-compact.zip | Bin .../indexaccess-all.sol-0.8.14-compact.zip | Bin .../indexaccess-all.sol-0.8.15-compact.zip | Bin .../indexaccess-all.sol-0.8.2-compact.zip | Bin .../indexaccess-all.sol-0.8.3-compact.zip | Bin .../indexaccess-all.sol-0.8.4-compact.zip | Bin .../indexaccess-all.sol-0.8.5-compact.zip | Bin .../indexaccess-all.sol-0.8.6-compact.zip | Bin .../indexaccess-all.sol-0.8.7-compact.zip | Bin .../indexaccess-all.sol-0.8.8-compact.zip | Bin .../indexaccess-all.sol-0.8.9-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.4.0-legacy.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.4.1-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.10-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.11-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.12-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.12-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.13-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.13-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.14-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.14-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.15-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.15-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.16-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.16-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.17-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.17-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.18-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.18-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.19-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.19-legacy.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.4.2-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.20-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.20-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.21-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.21-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.22-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.22-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.23-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.23-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.24-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.24-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.25-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.25-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.4.26-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.4.26-legacy.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.4.3-legacy.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.4.4-legacy.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.4.5-legacy.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.4.6-legacy.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.4.7-legacy.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.4.8-legacy.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.4.9-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.0-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.5.0-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.1-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.5.1-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.5.10-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.10-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.5.11-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.11-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.5.12-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.12-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.5.13-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.13-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.5.14-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.14-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.5.15-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.15-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.5.16-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.16-legacy.zip | Bin ...exrangeaccess-0.4.0.sol-0.5.17-compact.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.17-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.2-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.5.2-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.3-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.5.3-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.4-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.5.4-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.5-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.5.5-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.6-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.5.6-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.7-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.5.7-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.8-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.5.8-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.5.9-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.5.9-legacy.zip | Bin ...dexrangeaccess-0.4.0.sol-0.6.0-compact.zip | Bin ...ndexrangeaccess-0.4.0.sol-0.6.0-legacy.zip | Bin ...dexrangeaccess-0.6.1.sol-0.6.1-compact.zip | Bin ...exrangeaccess-0.6.1.sol-0.6.10-compact.zip | Bin ...exrangeaccess-0.6.1.sol-0.6.11-compact.zip | Bin ...exrangeaccess-0.6.1.sol-0.6.12-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.6.2-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.6.3-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.6.4-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.6.5-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.6.6-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.6.7-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.6.8-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.6.9-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.7.0-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.7.1-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.7.2-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.7.3-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.7.4-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.7.5-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.7.6-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.8.0-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.8.1-compact.zip | Bin ...exrangeaccess-0.6.1.sol-0.8.10-compact.zip | Bin ...exrangeaccess-0.6.1.sol-0.8.11-compact.zip | Bin ...exrangeaccess-0.6.1.sol-0.8.12-compact.zip | Bin ...exrangeaccess-0.6.1.sol-0.8.13-compact.zip | Bin ...exrangeaccess-0.6.1.sol-0.8.14-compact.zip | Bin ...exrangeaccess-0.6.1.sol-0.8.15-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.8.2-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.8.3-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.8.4-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.8.5-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.8.6-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.8.7-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.8.8-compact.zip | Bin ...dexrangeaccess-0.6.1.sol-0.8.9-compact.zip | Bin ...ibrary_event-0.8.16.sol-0.8.16-compact.zip | Bin ...icit_conversion-0.4.0.sol-0.4.0-legacy.zip | Bin ...icit_conversion-0.4.0.sol-0.4.1-legacy.zip | Bin ...cit_conversion-0.4.0.sol-0.4.10-legacy.zip | Bin ...cit_conversion-0.4.0.sol-0.4.11-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.12-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.12-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.13-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.13-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.14-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.14-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.15-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.15-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.16-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.16-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.17-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.17-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.18-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.18-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.19-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.19-legacy.zip | Bin ...icit_conversion-0.4.0.sol-0.4.2-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.20-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.20-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.21-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.21-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.22-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.22-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.23-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.23-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.24-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.24-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.25-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.25-legacy.zip | Bin ...it_conversion-0.4.0.sol-0.4.26-compact.zip | Bin ...cit_conversion-0.4.0.sol-0.4.26-legacy.zip | Bin ...icit_conversion-0.4.0.sol-0.4.3-legacy.zip | Bin ...icit_conversion-0.4.0.sol-0.4.4-legacy.zip | Bin ...icit_conversion-0.4.0.sol-0.4.5-legacy.zip | Bin ...icit_conversion-0.4.0.sol-0.4.6-legacy.zip | Bin ...icit_conversion-0.4.0.sol-0.4.7-legacy.zip | Bin ...icit_conversion-0.4.0.sol-0.4.8-legacy.zip | Bin ...icit_conversion-0.4.0.sol-0.4.9-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.5.0-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.5.0-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.5.1-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.5.1-legacy.zip | Bin ...it_conversion-0.5.0.sol-0.5.10-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.5.10-legacy.zip | Bin ...it_conversion-0.5.0.sol-0.5.11-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.5.11-legacy.zip | Bin ...it_conversion-0.5.0.sol-0.5.12-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.5.12-legacy.zip | Bin ...it_conversion-0.5.0.sol-0.5.13-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.5.13-legacy.zip | Bin ...it_conversion-0.5.0.sol-0.5.14-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.5.14-legacy.zip | Bin ...it_conversion-0.5.0.sol-0.5.15-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.5.15-legacy.zip | Bin ...it_conversion-0.5.0.sol-0.5.16-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.5.16-legacy.zip | Bin ...it_conversion-0.5.0.sol-0.5.17-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.5.17-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.5.2-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.5.2-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.5.3-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.5.3-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.5.4-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.5.4-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.5.5-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.5.5-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.5.6-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.5.6-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.5.7-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.5.7-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.5.8-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.5.8-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.5.9-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.5.9-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.6.0-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.6.0-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.6.1-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.6.1-legacy.zip | Bin ...it_conversion-0.5.0.sol-0.6.10-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.6.10-legacy.zip | Bin ...it_conversion-0.5.0.sol-0.6.11-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.6.11-legacy.zip | Bin ...it_conversion-0.5.0.sol-0.6.12-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.6.12-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.6.2-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.6.2-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.6.3-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.6.3-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.6.4-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.6.4-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.6.5-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.6.5-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.6.6-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.6.6-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.6.7-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.6.7-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.6.8-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.6.8-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.6.9-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.6.9-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.7.0-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.7.0-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.7.1-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.7.1-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.7.2-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.7.2-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.7.3-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.7.3-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.7.4-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.7.4-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.7.5-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.7.5-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.7.6-compact.zip | Bin ...icit_conversion-0.5.0.sol-0.7.6-legacy.zip | Bin ...cit_conversion-0.5.0.sol-0.8.0-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.8.1-compact.zip | Bin ...it_conversion-0.5.0.sol-0.8.10-compact.zip | Bin ...it_conversion-0.5.0.sol-0.8.11-compact.zip | Bin ...it_conversion-0.5.0.sol-0.8.12-compact.zip | Bin ...it_conversion-0.5.0.sol-0.8.13-compact.zip | Bin ...it_conversion-0.5.0.sol-0.8.14-compact.zip | Bin ...it_conversion-0.5.0.sol-0.8.15-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.8.2-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.8.3-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.8.4-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.8.5-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.8.6-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.8.7-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.8.8-compact.zip | Bin ...cit_conversion-0.5.0.sol-0.8.9-compact.zip | Bin .../literal-0.4.0.sol-0.4.0-legacy.zip | Bin .../literal-0.4.0.sol-0.4.1-legacy.zip | Bin .../literal-0.4.0.sol-0.4.2-legacy.zip | Bin .../literal-0.4.0.sol-0.4.3-legacy.zip | Bin .../literal-0.4.0.sol-0.4.4-legacy.zip | Bin .../literal-0.4.0.sol-0.4.5-legacy.zip | Bin .../literal-0.4.0.sol-0.4.6-legacy.zip | Bin .../literal-0.4.0.sol-0.4.7-legacy.zip | Bin .../literal-0.4.0.sol-0.4.8-legacy.zip | Bin .../literal-0.4.0.sol-0.4.9-legacy.zip | Bin .../literal-0.4.10.sol-0.4.10-legacy.zip | Bin .../literal-0.4.10.sol-0.4.11-legacy.zip | Bin .../literal-0.4.10.sol-0.4.12-compact.zip | Bin .../literal-0.4.10.sol-0.4.12-legacy.zip | Bin .../literal-0.4.10.sol-0.4.13-compact.zip | Bin .../literal-0.4.10.sol-0.4.13-legacy.zip | Bin .../literal-0.4.10.sol-0.4.14-compact.zip | Bin .../literal-0.4.10.sol-0.4.14-legacy.zip | Bin .../literal-0.4.10.sol-0.4.15-compact.zip | Bin .../literal-0.4.10.sol-0.4.15-legacy.zip | Bin .../literal-0.4.10.sol-0.4.16-compact.zip | Bin .../literal-0.4.10.sol-0.4.16-legacy.zip | Bin .../literal-0.4.10.sol-0.4.17-compact.zip | Bin .../literal-0.4.10.sol-0.4.17-legacy.zip | Bin .../literal-0.4.10.sol-0.4.18-compact.zip | Bin .../literal-0.4.10.sol-0.4.18-legacy.zip | Bin .../literal-0.4.10.sol-0.4.19-compact.zip | Bin .../literal-0.4.10.sol-0.4.19-legacy.zip | Bin .../literal-0.4.10.sol-0.4.20-compact.zip | Bin .../literal-0.4.10.sol-0.4.20-legacy.zip | Bin .../literal-0.4.10.sol-0.4.21-compact.zip | Bin .../literal-0.4.10.sol-0.4.21-legacy.zip | Bin .../literal-0.4.10.sol-0.4.22-compact.zip | Bin .../literal-0.4.10.sol-0.4.22-legacy.zip | Bin .../literal-0.4.10.sol-0.4.23-compact.zip | Bin .../literal-0.4.10.sol-0.4.23-legacy.zip | Bin .../literal-0.4.10.sol-0.4.24-compact.zip | Bin .../literal-0.4.10.sol-0.4.24-legacy.zip | Bin .../literal-0.4.10.sol-0.4.25-compact.zip | Bin .../literal-0.4.10.sol-0.4.25-legacy.zip | Bin .../literal-0.4.10.sol-0.4.26-compact.zip | Bin .../literal-0.4.10.sol-0.4.26-legacy.zip | Bin .../literal-0.5.0.sol-0.5.0-compact.zip | Bin .../literal-0.5.0.sol-0.5.0-legacy.zip | Bin .../literal-0.5.0.sol-0.5.1-compact.zip | Bin .../literal-0.5.0.sol-0.5.1-legacy.zip | Bin .../literal-0.5.0.sol-0.5.10-compact.zip | Bin .../literal-0.5.0.sol-0.5.10-legacy.zip | Bin .../literal-0.5.0.sol-0.5.11-compact.zip | Bin .../literal-0.5.0.sol-0.5.11-legacy.zip | Bin .../literal-0.5.0.sol-0.5.12-compact.zip | Bin .../literal-0.5.0.sol-0.5.12-legacy.zip | Bin .../literal-0.5.0.sol-0.5.13-compact.zip | Bin .../literal-0.5.0.sol-0.5.13-legacy.zip | Bin .../literal-0.5.0.sol-0.5.14-compact.zip | Bin .../literal-0.5.0.sol-0.5.14-legacy.zip | Bin .../literal-0.5.0.sol-0.5.15-compact.zip | Bin .../literal-0.5.0.sol-0.5.15-legacy.zip | Bin .../literal-0.5.0.sol-0.5.16-compact.zip | Bin .../literal-0.5.0.sol-0.5.16-legacy.zip | Bin .../literal-0.5.0.sol-0.5.17-compact.zip | Bin .../literal-0.5.0.sol-0.5.17-legacy.zip | Bin .../literal-0.5.0.sol-0.5.2-compact.zip | Bin .../literal-0.5.0.sol-0.5.2-legacy.zip | Bin .../literal-0.5.0.sol-0.5.3-compact.zip | Bin .../literal-0.5.0.sol-0.5.3-legacy.zip | Bin .../literal-0.5.0.sol-0.5.4-compact.zip | Bin .../literal-0.5.0.sol-0.5.4-legacy.zip | Bin .../literal-0.5.0.sol-0.5.5-compact.zip | Bin .../literal-0.5.0.sol-0.5.5-legacy.zip | Bin .../literal-0.5.0.sol-0.5.6-compact.zip | Bin .../literal-0.5.0.sol-0.5.6-legacy.zip | Bin .../literal-0.5.0.sol-0.5.7-compact.zip | Bin .../literal-0.5.0.sol-0.5.7-legacy.zip | Bin .../literal-0.5.0.sol-0.5.8-compact.zip | Bin .../literal-0.5.0.sol-0.5.8-legacy.zip | Bin .../literal-0.5.0.sol-0.5.9-compact.zip | Bin .../literal-0.5.0.sol-0.5.9-legacy.zip | Bin .../literal-0.6.0.sol-0.6.0-compact.zip | Bin .../literal-0.6.0.sol-0.6.0-legacy.zip | Bin .../literal-0.6.0.sol-0.6.1-compact.zip | Bin .../literal-0.6.0.sol-0.6.1-legacy.zip | Bin .../literal-0.6.0.sol-0.6.10-compact.zip | Bin .../literal-0.6.0.sol-0.6.10-legacy.zip | Bin .../literal-0.6.0.sol-0.6.11-compact.zip | Bin .../literal-0.6.0.sol-0.6.11-legacy.zip | Bin .../literal-0.6.0.sol-0.6.12-compact.zip | Bin .../literal-0.6.0.sol-0.6.12-legacy.zip | Bin .../literal-0.6.0.sol-0.6.2-compact.zip | Bin .../literal-0.6.0.sol-0.6.2-legacy.zip | Bin .../literal-0.6.0.sol-0.6.3-compact.zip | Bin .../literal-0.6.0.sol-0.6.3-legacy.zip | Bin .../literal-0.6.0.sol-0.6.4-compact.zip | Bin .../literal-0.6.0.sol-0.6.4-legacy.zip | Bin .../literal-0.6.0.sol-0.6.5-compact.zip | Bin .../literal-0.6.0.sol-0.6.5-legacy.zip | Bin .../literal-0.6.0.sol-0.6.6-compact.zip | Bin .../literal-0.6.0.sol-0.6.6-legacy.zip | Bin .../literal-0.6.0.sol-0.6.7-compact.zip | Bin .../literal-0.6.0.sol-0.6.7-legacy.zip | Bin .../literal-0.6.0.sol-0.6.8-compact.zip | Bin .../literal-0.6.0.sol-0.6.8-legacy.zip | Bin .../literal-0.6.0.sol-0.6.9-compact.zip | Bin .../literal-0.6.0.sol-0.6.9-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.0-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.1-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.10-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.11-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.12-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.12-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.13-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.13-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.14-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.14-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.15-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.15-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.16-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.16-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.17-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.17-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.18-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.18-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.19-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.19-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.2-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.20-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.20-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.21-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.21-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.22-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.22-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.23-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.23-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.24-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.24-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.25-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.25-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.26-compact.zip | Bin .../memberaccess-0.4.0.sol-0.4.26-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.3-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.4-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.5-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.6-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.7-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.8-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.4.9-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.0-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.0-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.1-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.1-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.10-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.10-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.11-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.11-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.12-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.12-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.13-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.13-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.14-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.14-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.15-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.15-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.16-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.16-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.17-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.17-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.2-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.2-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.3-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.3-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.4-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.4-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.5-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.5-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.6-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.6-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.7-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.7-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.8-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.8-legacy.zip | Bin .../memberaccess-0.4.0.sol-0.5.9-compact.zip | Bin .../memberaccess-0.4.0.sol-0.5.9-legacy.zip | Bin .../memberaccess-0.5.3.sol-0.5.3-compact.zip | Bin .../memberaccess-0.5.3.sol-0.5.3-legacy.zip | Bin .../memberaccess-0.5.3.sol-0.5.4-compact.zip | Bin .../memberaccess-0.5.3.sol-0.5.4-legacy.zip | Bin .../memberaccess-0.5.3.sol-0.5.5-compact.zip | Bin .../memberaccess-0.5.3.sol-0.5.5-legacy.zip | Bin .../memberaccess-0.5.3.sol-0.5.6-compact.zip | Bin .../memberaccess-0.5.3.sol-0.5.6-legacy.zip | Bin .../memberaccess-0.5.3.sol-0.5.7-compact.zip | Bin .../memberaccess-0.5.3.sol-0.5.7-legacy.zip | Bin .../memberaccess-0.5.3.sol-0.5.8-compact.zip | Bin .../memberaccess-0.5.3.sol-0.5.8-legacy.zip | Bin .../memberaccess-0.5.3.sol-0.5.9-compact.zip | Bin .../memberaccess-0.5.3.sol-0.5.9-legacy.zip | Bin .../memberaccess-0.5.3.sol-0.6.0-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.1-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.10-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.11-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.12-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.2-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.3-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.4-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.5-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.6-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.7-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.8-compact.zip | Bin .../memberaccess-0.5.3.sol-0.6.9-compact.zip | Bin .../memberaccess-0.5.3.sol-0.7.0-compact.zip | Bin .../memberaccess-0.5.3.sol-0.7.1-compact.zip | Bin .../memberaccess-0.5.3.sol-0.7.2-compact.zip | Bin .../memberaccess-0.5.3.sol-0.7.3-compact.zip | Bin .../memberaccess-0.5.3.sol-0.7.4-compact.zip | Bin .../memberaccess-0.5.3.sol-0.7.5-compact.zip | Bin .../memberaccess-0.5.3.sol-0.7.6-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.0-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.1-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.10-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.11-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.12-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.13-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.14-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.15-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.2-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.3-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.4-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.5-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.6-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.7-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.8-compact.zip | Bin .../memberaccess-0.5.3.sol-0.8.9-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.4.0-legacy.zip | Bin .../compile/minmax-0.4.0.sol-0.4.1-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.10-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.11-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.12-compact.zip | Bin .../minmax-0.4.0.sol-0.4.12-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.13-compact.zip | Bin .../minmax-0.4.0.sol-0.4.13-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.14-compact.zip | Bin .../minmax-0.4.0.sol-0.4.14-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.15-compact.zip | Bin .../minmax-0.4.0.sol-0.4.15-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.16-compact.zip | Bin .../minmax-0.4.0.sol-0.4.16-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.17-compact.zip | Bin .../minmax-0.4.0.sol-0.4.17-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.18-compact.zip | Bin .../minmax-0.4.0.sol-0.4.18-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.19-compact.zip | Bin .../minmax-0.4.0.sol-0.4.19-legacy.zip | Bin .../compile/minmax-0.4.0.sol-0.4.2-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.20-compact.zip | Bin .../minmax-0.4.0.sol-0.4.20-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.21-compact.zip | Bin .../minmax-0.4.0.sol-0.4.21-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.22-compact.zip | Bin .../minmax-0.4.0.sol-0.4.22-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.23-compact.zip | Bin .../minmax-0.4.0.sol-0.4.23-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.24-compact.zip | Bin .../minmax-0.4.0.sol-0.4.24-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.25-compact.zip | Bin .../minmax-0.4.0.sol-0.4.25-legacy.zip | Bin .../minmax-0.4.0.sol-0.4.26-compact.zip | Bin .../minmax-0.4.0.sol-0.4.26-legacy.zip | Bin .../compile/minmax-0.4.0.sol-0.4.3-legacy.zip | Bin .../compile/minmax-0.4.0.sol-0.4.4-legacy.zip | Bin .../compile/minmax-0.4.0.sol-0.4.5-legacy.zip | Bin .../compile/minmax-0.4.0.sol-0.4.6-legacy.zip | Bin .../compile/minmax-0.4.0.sol-0.4.7-legacy.zip | Bin .../compile/minmax-0.4.0.sol-0.4.8-legacy.zip | Bin .../compile/minmax-0.4.0.sol-0.4.9-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.0-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.5.0-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.1-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.5.1-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.10-compact.zip | Bin .../minmax-0.4.0.sol-0.5.10-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.11-compact.zip | Bin .../minmax-0.4.0.sol-0.5.11-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.12-compact.zip | Bin .../minmax-0.4.0.sol-0.5.12-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.13-compact.zip | Bin .../minmax-0.4.0.sol-0.5.13-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.14-compact.zip | Bin .../minmax-0.4.0.sol-0.5.14-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.15-compact.zip | Bin .../minmax-0.4.0.sol-0.5.15-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.16-compact.zip | Bin .../minmax-0.4.0.sol-0.5.16-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.17-compact.zip | Bin .../minmax-0.4.0.sol-0.5.17-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.2-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.5.2-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.3-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.5.3-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.4-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.5.4-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.5-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.5.5-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.6-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.5.6-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.7-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.5.7-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.8-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.5.8-legacy.zip | Bin .../minmax-0.4.0.sol-0.5.9-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.5.9-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.0-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.6.0-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.1-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.6.1-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.10-compact.zip | Bin .../minmax-0.4.0.sol-0.6.10-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.11-compact.zip | Bin .../minmax-0.4.0.sol-0.6.11-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.12-compact.zip | Bin .../minmax-0.4.0.sol-0.6.12-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.2-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.6.2-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.3-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.6.3-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.4-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.6.4-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.5-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.6.5-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.6-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.6.6-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.7-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.6.7-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.8-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.6.8-legacy.zip | Bin .../minmax-0.4.0.sol-0.6.9-compact.zip | Bin .../compile/minmax-0.4.0.sol-0.6.9-legacy.zip | Bin .../minmax-0.6.8.sol-0.6.8-compact.zip | Bin .../compile/minmax-0.6.8.sol-0.6.8-legacy.zip | Bin .../minmax-0.6.8.sol-0.6.9-compact.zip | Bin .../compile/minmax-0.6.8.sol-0.6.9-legacy.zip | Bin .../minmax-0.6.8.sol-0.7.0-compact.zip | Bin .../compile/minmax-0.6.8.sol-0.7.0-legacy.zip | Bin .../minmax-0.6.8.sol-0.7.1-compact.zip | Bin .../compile/minmax-0.6.8.sol-0.7.1-legacy.zip | Bin .../minmax-0.6.8.sol-0.7.2-compact.zip | Bin .../compile/minmax-0.6.8.sol-0.7.2-legacy.zip | Bin .../minmax-0.6.8.sol-0.7.3-compact.zip | Bin .../compile/minmax-0.6.8.sol-0.7.3-legacy.zip | Bin .../minmax-0.6.8.sol-0.7.4-compact.zip | Bin .../compile/minmax-0.6.8.sol-0.7.4-legacy.zip | Bin .../minmax-0.6.8.sol-0.7.5-compact.zip | Bin .../compile/minmax-0.6.8.sol-0.7.5-legacy.zip | Bin .../minmax-0.6.8.sol-0.7.6-compact.zip | Bin .../compile/minmax-0.6.8.sol-0.7.6-legacy.zip | Bin .../minmax-0.6.8.sol-0.8.0-compact.zip | Bin .../minmax-0.6.8.sol-0.8.1-compact.zip | Bin .../minmax-0.6.8.sol-0.8.10-compact.zip | Bin .../minmax-0.6.8.sol-0.8.11-compact.zip | Bin .../minmax-0.6.8.sol-0.8.12-compact.zip | Bin .../minmax-0.6.8.sol-0.8.13-compact.zip | Bin .../minmax-0.6.8.sol-0.8.14-compact.zip | Bin .../minmax-0.6.8.sol-0.8.15-compact.zip | Bin .../minmax-0.6.8.sol-0.8.2-compact.zip | Bin .../minmax-0.6.8.sol-0.8.3-compact.zip | Bin .../minmax-0.6.8.sol-0.8.4-compact.zip | Bin .../minmax-0.6.8.sol-0.8.5-compact.zip | Bin .../minmax-0.6.8.sol-0.8.6-compact.zip | Bin .../minmax-0.6.8.sol-0.8.7-compact.zip | Bin .../minmax-0.6.8.sol-0.8.8-compact.zip | Bin .../minmax-0.6.8.sol-0.8.9-compact.zip | Bin .../minmax-0.8.8.sol-0.8.10-compact.zip | Bin .../minmax-0.8.8.sol-0.8.11-compact.zip | Bin .../minmax-0.8.8.sol-0.8.12-compact.zip | Bin .../minmax-0.8.8.sol-0.8.13-compact.zip | Bin .../minmax-0.8.8.sol-0.8.14-compact.zip | Bin .../minmax-0.8.8.sol-0.8.15-compact.zip | Bin .../minmax-0.8.8.sol-0.8.8-compact.zip | Bin .../minmax-0.8.8.sol-0.8.9-compact.zip | Bin .../modifier-0.7.0.sol-0.7.0-compact.zip | Bin .../modifier-0.7.0.sol-0.7.0-legacy.zip | Bin .../modifier-0.7.0.sol-0.7.1-compact.zip | Bin .../modifier-0.7.0.sol-0.7.1-legacy.zip | Bin .../modifier-0.7.0.sol-0.7.2-compact.zip | Bin .../modifier-0.7.0.sol-0.7.2-legacy.zip | Bin .../modifier-0.7.0.sol-0.7.3-compact.zip | Bin .../modifier-0.7.0.sol-0.7.3-legacy.zip | Bin .../modifier-0.7.0.sol-0.7.4-compact.zip | Bin .../modifier-0.7.0.sol-0.7.4-legacy.zip | Bin .../modifier-0.7.0.sol-0.7.5-compact.zip | Bin .../modifier-0.7.0.sol-0.7.5-legacy.zip | Bin .../modifier-0.7.0.sol-0.7.6-compact.zip | Bin .../modifier-0.7.0.sol-0.7.6-legacy.zip | Bin .../modifier-0.7.0.sol-0.8.0-compact.zip | Bin .../modifier-0.7.0.sol-0.8.1-compact.zip | Bin .../modifier-0.7.0.sol-0.8.10-compact.zip | Bin .../modifier-0.7.0.sol-0.8.11-compact.zip | Bin .../modifier-0.7.0.sol-0.8.12-compact.zip | Bin .../modifier-0.7.0.sol-0.8.13-compact.zip | Bin .../modifier-0.7.0.sol-0.8.14-compact.zip | Bin .../modifier-0.7.0.sol-0.8.15-compact.zip | Bin .../modifier-0.7.0.sol-0.8.2-compact.zip | Bin .../modifier-0.7.0.sol-0.8.3-compact.zip | Bin .../modifier-0.7.0.sol-0.8.4-compact.zip | Bin .../modifier-0.7.0.sol-0.8.5-compact.zip | Bin .../modifier-0.7.0.sol-0.8.6-compact.zip | Bin .../modifier-0.7.0.sol-0.8.7-compact.zip | Bin .../modifier-0.7.0.sol-0.8.8-compact.zip | Bin .../modifier-0.7.0.sol-0.8.9-compact.zip | Bin .../compile/modifier-all.sol-0.4.0-legacy.zip | Bin .../compile/modifier-all.sol-0.4.1-legacy.zip | Bin .../modifier-all.sol-0.4.10-legacy.zip | Bin .../modifier-all.sol-0.4.11-legacy.zip | Bin .../modifier-all.sol-0.4.12-compact.zip | Bin .../modifier-all.sol-0.4.12-legacy.zip | Bin .../modifier-all.sol-0.4.13-compact.zip | Bin .../modifier-all.sol-0.4.13-legacy.zip | Bin .../modifier-all.sol-0.4.14-compact.zip | Bin .../modifier-all.sol-0.4.14-legacy.zip | Bin .../modifier-all.sol-0.4.15-compact.zip | Bin .../modifier-all.sol-0.4.15-legacy.zip | Bin .../modifier-all.sol-0.4.16-compact.zip | Bin .../modifier-all.sol-0.4.16-legacy.zip | Bin .../modifier-all.sol-0.4.17-compact.zip | Bin .../modifier-all.sol-0.4.17-legacy.zip | Bin .../modifier-all.sol-0.4.18-compact.zip | Bin .../modifier-all.sol-0.4.18-legacy.zip | Bin .../modifier-all.sol-0.4.19-compact.zip | Bin .../modifier-all.sol-0.4.19-legacy.zip | Bin .../compile/modifier-all.sol-0.4.2-legacy.zip | Bin .../modifier-all.sol-0.4.20-compact.zip | Bin .../modifier-all.sol-0.4.20-legacy.zip | Bin .../modifier-all.sol-0.4.21-compact.zip | Bin .../modifier-all.sol-0.4.21-legacy.zip | Bin .../modifier-all.sol-0.4.22-compact.zip | Bin .../modifier-all.sol-0.4.22-legacy.zip | Bin .../modifier-all.sol-0.4.23-compact.zip | Bin .../modifier-all.sol-0.4.23-legacy.zip | Bin .../modifier-all.sol-0.4.24-compact.zip | Bin .../modifier-all.sol-0.4.24-legacy.zip | Bin .../modifier-all.sol-0.4.25-compact.zip | Bin .../modifier-all.sol-0.4.25-legacy.zip | Bin .../modifier-all.sol-0.4.26-compact.zip | Bin .../modifier-all.sol-0.4.26-legacy.zip | Bin .../compile/modifier-all.sol-0.4.3-legacy.zip | Bin .../compile/modifier-all.sol-0.4.4-legacy.zip | Bin .../compile/modifier-all.sol-0.4.5-legacy.zip | Bin .../compile/modifier-all.sol-0.4.6-legacy.zip | Bin .../compile/modifier-all.sol-0.4.7-legacy.zip | Bin .../compile/modifier-all.sol-0.4.8-legacy.zip | Bin .../compile/modifier-all.sol-0.4.9-legacy.zip | Bin .../modifier-all.sol-0.5.0-compact.zip | Bin .../compile/modifier-all.sol-0.5.0-legacy.zip | Bin .../modifier-all.sol-0.5.1-compact.zip | Bin .../compile/modifier-all.sol-0.5.1-legacy.zip | Bin .../modifier-all.sol-0.5.10-compact.zip | Bin .../modifier-all.sol-0.5.10-legacy.zip | Bin .../modifier-all.sol-0.5.11-compact.zip | Bin .../modifier-all.sol-0.5.11-legacy.zip | Bin .../modifier-all.sol-0.5.12-compact.zip | Bin .../modifier-all.sol-0.5.12-legacy.zip | Bin .../modifier-all.sol-0.5.13-compact.zip | Bin .../modifier-all.sol-0.5.13-legacy.zip | Bin .../modifier-all.sol-0.5.14-compact.zip | Bin .../modifier-all.sol-0.5.14-legacy.zip | Bin .../modifier-all.sol-0.5.15-compact.zip | Bin .../modifier-all.sol-0.5.15-legacy.zip | Bin .../modifier-all.sol-0.5.16-compact.zip | Bin .../modifier-all.sol-0.5.16-legacy.zip | Bin .../modifier-all.sol-0.5.17-compact.zip | Bin .../modifier-all.sol-0.5.17-legacy.zip | Bin .../modifier-all.sol-0.5.2-compact.zip | Bin .../compile/modifier-all.sol-0.5.2-legacy.zip | Bin .../modifier-all.sol-0.5.3-compact.zip | Bin .../compile/modifier-all.sol-0.5.3-legacy.zip | Bin .../modifier-all.sol-0.5.4-compact.zip | Bin .../compile/modifier-all.sol-0.5.4-legacy.zip | Bin .../modifier-all.sol-0.5.5-compact.zip | Bin .../compile/modifier-all.sol-0.5.5-legacy.zip | Bin .../modifier-all.sol-0.5.6-compact.zip | Bin .../compile/modifier-all.sol-0.5.6-legacy.zip | Bin .../modifier-all.sol-0.5.7-compact.zip | Bin .../compile/modifier-all.sol-0.5.7-legacy.zip | Bin .../modifier-all.sol-0.5.8-compact.zip | Bin .../compile/modifier-all.sol-0.5.8-legacy.zip | Bin .../modifier-all.sol-0.5.9-compact.zip | Bin .../compile/modifier-all.sol-0.5.9-legacy.zip | Bin .../modifier-all.sol-0.6.0-compact.zip | Bin .../compile/modifier-all.sol-0.6.0-legacy.zip | Bin .../modifier-all.sol-0.6.1-compact.zip | Bin .../compile/modifier-all.sol-0.6.1-legacy.zip | Bin .../modifier-all.sol-0.6.10-compact.zip | Bin .../modifier-all.sol-0.6.10-legacy.zip | Bin .../modifier-all.sol-0.6.11-compact.zip | Bin .../modifier-all.sol-0.6.11-legacy.zip | Bin .../modifier-all.sol-0.6.12-compact.zip | Bin .../modifier-all.sol-0.6.12-legacy.zip | Bin .../modifier-all.sol-0.6.2-compact.zip | Bin .../compile/modifier-all.sol-0.6.2-legacy.zip | Bin .../modifier-all.sol-0.6.3-compact.zip | Bin .../compile/modifier-all.sol-0.6.3-legacy.zip | Bin .../modifier-all.sol-0.6.4-compact.zip | Bin .../compile/modifier-all.sol-0.6.4-legacy.zip | Bin .../modifier-all.sol-0.6.5-compact.zip | Bin .../compile/modifier-all.sol-0.6.5-legacy.zip | Bin .../modifier-all.sol-0.6.6-compact.zip | Bin .../compile/modifier-all.sol-0.6.6-legacy.zip | Bin .../modifier-all.sol-0.6.7-compact.zip | Bin .../compile/modifier-all.sol-0.6.7-legacy.zip | Bin .../modifier-all.sol-0.6.8-compact.zip | Bin .../compile/modifier-all.sol-0.6.8-legacy.zip | Bin .../modifier-all.sol-0.6.9-compact.zip | Bin .../compile/modifier-all.sol-0.6.9-legacy.zip | Bin ...fier_identifier_path.sol-0.8.0-compact.zip | Bin ...fier_identifier_path.sol-0.8.1-compact.zip | Bin ...ier_identifier_path.sol-0.8.10-compact.zip | Bin ...ier_identifier_path.sol-0.8.11-compact.zip | Bin ...ier_identifier_path.sol-0.8.12-compact.zip | Bin ...ier_identifier_path.sol-0.8.13-compact.zip | Bin ...ier_identifier_path.sol-0.8.14-compact.zip | Bin ...ier_identifier_path.sol-0.8.15-compact.zip | Bin ...fier_identifier_path.sol-0.8.2-compact.zip | Bin ...fier_identifier_path.sol-0.8.3-compact.zip | Bin ...fier_identifier_path.sol-0.8.4-compact.zip | Bin ...fier_identifier_path.sol-0.8.5-compact.zip | Bin ...fier_identifier_path.sol-0.8.6-compact.zip | Bin ...fier_identifier_path.sol-0.8.7-compact.zip | Bin ...fier_identifier_path.sol-0.8.8-compact.zip | Bin ...fier_identifier_path.sol-0.8.9-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.0-legacy.zip | Bin .../newexpression-0.4.0.sol-0.4.1-legacy.zip | Bin .../newexpression-0.4.0.sol-0.4.10-legacy.zip | Bin .../newexpression-0.4.0.sol-0.4.11-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.12-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.12-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.13-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.13-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.14-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.14-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.15-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.15-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.16-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.16-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.17-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.17-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.18-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.18-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.19-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.19-legacy.zip | Bin .../newexpression-0.4.0.sol-0.4.2-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.20-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.20-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.21-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.21-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.22-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.22-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.23-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.23-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.24-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.24-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.25-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.25-legacy.zip | Bin ...newexpression-0.4.0.sol-0.4.26-compact.zip | Bin .../newexpression-0.4.0.sol-0.4.26-legacy.zip | Bin .../newexpression-0.4.0.sol-0.4.3-legacy.zip | Bin .../newexpression-0.4.0.sol-0.4.4-legacy.zip | Bin .../newexpression-0.4.0.sol-0.4.5-legacy.zip | Bin .../newexpression-0.4.0.sol-0.4.6-legacy.zip | Bin .../newexpression-0.4.0.sol-0.4.7-legacy.zip | Bin .../newexpression-0.4.0.sol-0.4.8-legacy.zip | Bin .../newexpression-0.4.0.sol-0.4.9-legacy.zip | Bin .../newexpression-0.5.0.sol-0.5.0-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.0-legacy.zip | Bin .../newexpression-0.5.0.sol-0.5.1-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.1-legacy.zip | Bin ...newexpression-0.5.0.sol-0.5.10-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.10-legacy.zip | Bin ...newexpression-0.5.0.sol-0.5.11-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.11-legacy.zip | Bin ...newexpression-0.5.0.sol-0.5.12-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.12-legacy.zip | Bin ...newexpression-0.5.0.sol-0.5.13-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.13-legacy.zip | Bin ...newexpression-0.5.0.sol-0.5.14-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.14-legacy.zip | Bin ...newexpression-0.5.0.sol-0.5.15-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.15-legacy.zip | Bin ...newexpression-0.5.0.sol-0.5.16-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.16-legacy.zip | Bin ...newexpression-0.5.0.sol-0.5.17-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.17-legacy.zip | Bin .../newexpression-0.5.0.sol-0.5.2-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.2-legacy.zip | Bin .../newexpression-0.5.0.sol-0.5.3-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.3-legacy.zip | Bin .../newexpression-0.5.0.sol-0.5.4-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.4-legacy.zip | Bin .../newexpression-0.5.0.sol-0.5.5-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.5-legacy.zip | Bin .../newexpression-0.5.0.sol-0.5.6-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.6-legacy.zip | Bin .../newexpression-0.5.0.sol-0.5.7-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.7-legacy.zip | Bin .../newexpression-0.5.0.sol-0.5.8-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.8-legacy.zip | Bin .../newexpression-0.5.0.sol-0.5.9-compact.zip | Bin .../newexpression-0.5.0.sol-0.5.9-legacy.zip | Bin .../newexpression-0.5.0.sol-0.6.0-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.0-legacy.zip | Bin .../newexpression-0.5.0.sol-0.6.1-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.1-legacy.zip | Bin ...newexpression-0.5.0.sol-0.6.10-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.10-legacy.zip | Bin ...newexpression-0.5.0.sol-0.6.11-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.11-legacy.zip | Bin ...newexpression-0.5.0.sol-0.6.12-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.12-legacy.zip | Bin .../newexpression-0.5.0.sol-0.6.2-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.2-legacy.zip | Bin .../newexpression-0.5.0.sol-0.6.3-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.3-legacy.zip | Bin .../newexpression-0.5.0.sol-0.6.4-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.4-legacy.zip | Bin .../newexpression-0.5.0.sol-0.6.5-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.5-legacy.zip | Bin .../newexpression-0.5.0.sol-0.6.6-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.6-legacy.zip | Bin .../newexpression-0.5.0.sol-0.6.7-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.7-legacy.zip | Bin .../newexpression-0.5.0.sol-0.6.8-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.8-legacy.zip | Bin .../newexpression-0.5.0.sol-0.6.9-compact.zip | Bin .../newexpression-0.5.0.sol-0.6.9-legacy.zip | Bin .../newexpression-0.5.0.sol-0.7.0-compact.zip | Bin .../newexpression-0.5.0.sol-0.7.0-legacy.zip | Bin .../newexpression-0.5.0.sol-0.7.1-compact.zip | Bin .../newexpression-0.5.0.sol-0.7.1-legacy.zip | Bin .../newexpression-0.5.0.sol-0.7.2-compact.zip | Bin .../newexpression-0.5.0.sol-0.7.2-legacy.zip | Bin .../newexpression-0.5.0.sol-0.7.3-compact.zip | Bin .../newexpression-0.5.0.sol-0.7.3-legacy.zip | Bin .../newexpression-0.5.0.sol-0.7.4-compact.zip | Bin .../newexpression-0.5.0.sol-0.7.4-legacy.zip | Bin .../newexpression-0.5.0.sol-0.7.5-compact.zip | Bin .../newexpression-0.5.0.sol-0.7.5-legacy.zip | Bin .../newexpression-0.5.0.sol-0.7.6-compact.zip | Bin .../newexpression-0.5.0.sol-0.7.6-legacy.zip | Bin .../newexpression-0.5.0.sol-0.8.0-compact.zip | Bin .../newexpression-0.5.0.sol-0.8.1-compact.zip | Bin ...newexpression-0.5.0.sol-0.8.10-compact.zip | Bin ...newexpression-0.5.0.sol-0.8.11-compact.zip | Bin ...newexpression-0.5.0.sol-0.8.12-compact.zip | Bin ...newexpression-0.5.0.sol-0.8.13-compact.zip | Bin ...newexpression-0.5.0.sol-0.8.14-compact.zip | Bin ...newexpression-0.5.0.sol-0.8.15-compact.zip | Bin .../newexpression-0.5.0.sol-0.8.2-compact.zip | Bin .../newexpression-0.5.0.sol-0.8.3-compact.zip | Bin .../newexpression-0.5.0.sol-0.8.4-compact.zip | Bin .../newexpression-0.5.0.sol-0.8.5-compact.zip | Bin .../newexpression-0.5.0.sol-0.8.6-compact.zip | Bin .../newexpression-0.5.0.sol-0.8.7-compact.zip | Bin .../newexpression-0.5.0.sol-0.8.8-compact.zip | Bin .../newexpression-0.5.0.sol-0.8.9-compact.zip | Bin .../compile/pragma-0.4.0.sol-0.4.0-legacy.zip | Bin .../compile/pragma-0.4.0.sol-0.4.1-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.10-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.11-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.12-compact.zip | Bin .../pragma-0.4.0.sol-0.4.12-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.13-compact.zip | Bin .../pragma-0.4.0.sol-0.4.13-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.14-compact.zip | Bin .../pragma-0.4.0.sol-0.4.14-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.15-compact.zip | Bin .../pragma-0.4.0.sol-0.4.15-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.16-compact.zip | Bin .../pragma-0.4.0.sol-0.4.16-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.17-compact.zip | Bin .../pragma-0.4.0.sol-0.4.17-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.18-compact.zip | Bin .../pragma-0.4.0.sol-0.4.18-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.19-compact.zip | Bin .../pragma-0.4.0.sol-0.4.19-legacy.zip | Bin .../compile/pragma-0.4.0.sol-0.4.2-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.20-compact.zip | Bin .../pragma-0.4.0.sol-0.4.20-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.21-compact.zip | Bin .../pragma-0.4.0.sol-0.4.21-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.22-compact.zip | Bin .../pragma-0.4.0.sol-0.4.22-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.23-compact.zip | Bin .../pragma-0.4.0.sol-0.4.23-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.24-compact.zip | Bin .../pragma-0.4.0.sol-0.4.24-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.25-compact.zip | Bin .../pragma-0.4.0.sol-0.4.25-legacy.zip | Bin .../pragma-0.4.0.sol-0.4.26-compact.zip | Bin .../pragma-0.4.0.sol-0.4.26-legacy.zip | Bin .../compile/pragma-0.4.0.sol-0.4.3-legacy.zip | Bin .../compile/pragma-0.4.0.sol-0.4.4-legacy.zip | Bin .../compile/pragma-0.4.0.sol-0.4.5-legacy.zip | Bin .../compile/pragma-0.4.0.sol-0.4.6-legacy.zip | Bin .../compile/pragma-0.4.0.sol-0.4.7-legacy.zip | Bin .../compile/pragma-0.4.0.sol-0.4.8-legacy.zip | Bin .../compile/pragma-0.4.0.sol-0.4.9-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.0-compact.zip | Bin .../compile/pragma-0.5.0.sol-0.5.0-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.1-compact.zip | Bin .../compile/pragma-0.5.0.sol-0.5.1-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.10-compact.zip | Bin .../pragma-0.5.0.sol-0.5.10-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.11-compact.zip | Bin .../pragma-0.5.0.sol-0.5.11-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.12-compact.zip | Bin .../pragma-0.5.0.sol-0.5.12-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.13-compact.zip | Bin .../pragma-0.5.0.sol-0.5.13-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.14-compact.zip | Bin .../pragma-0.5.0.sol-0.5.14-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.15-compact.zip | Bin .../pragma-0.5.0.sol-0.5.15-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.16-compact.zip | Bin .../pragma-0.5.0.sol-0.5.16-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.17-compact.zip | Bin .../pragma-0.5.0.sol-0.5.17-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.2-compact.zip | Bin .../compile/pragma-0.5.0.sol-0.5.2-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.3-compact.zip | Bin .../compile/pragma-0.5.0.sol-0.5.3-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.4-compact.zip | Bin .../compile/pragma-0.5.0.sol-0.5.4-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.5-compact.zip | Bin .../compile/pragma-0.5.0.sol-0.5.5-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.6-compact.zip | Bin .../compile/pragma-0.5.0.sol-0.5.6-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.7-compact.zip | Bin .../compile/pragma-0.5.0.sol-0.5.7-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.8-compact.zip | Bin .../compile/pragma-0.5.0.sol-0.5.8-legacy.zip | Bin .../pragma-0.5.0.sol-0.5.9-compact.zip | Bin .../compile/pragma-0.5.0.sol-0.5.9-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.0-compact.zip | Bin .../compile/pragma-0.6.0.sol-0.6.0-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.1-compact.zip | Bin .../compile/pragma-0.6.0.sol-0.6.1-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.10-compact.zip | Bin .../pragma-0.6.0.sol-0.6.10-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.11-compact.zip | Bin .../pragma-0.6.0.sol-0.6.11-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.12-compact.zip | Bin .../pragma-0.6.0.sol-0.6.12-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.2-compact.zip | Bin .../compile/pragma-0.6.0.sol-0.6.2-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.3-compact.zip | Bin .../compile/pragma-0.6.0.sol-0.6.3-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.4-compact.zip | Bin .../compile/pragma-0.6.0.sol-0.6.4-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.5-compact.zip | Bin .../compile/pragma-0.6.0.sol-0.6.5-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.6-compact.zip | Bin .../compile/pragma-0.6.0.sol-0.6.6-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.7-compact.zip | Bin .../compile/pragma-0.6.0.sol-0.6.7-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.8-compact.zip | Bin .../compile/pragma-0.6.0.sol-0.6.8-legacy.zip | Bin .../pragma-0.6.0.sol-0.6.9-compact.zip | Bin .../compile/pragma-0.6.0.sol-0.6.9-legacy.zip | Bin .../pragma-0.7.0.sol-0.7.0-compact.zip | Bin .../compile/pragma-0.7.0.sol-0.7.0-legacy.zip | Bin .../pragma-0.7.0.sol-0.7.1-compact.zip | Bin .../compile/pragma-0.7.0.sol-0.7.1-legacy.zip | Bin .../pragma-0.7.0.sol-0.7.2-compact.zip | Bin .../compile/pragma-0.7.0.sol-0.7.2-legacy.zip | Bin .../pragma-0.7.0.sol-0.7.3-compact.zip | Bin .../compile/pragma-0.7.0.sol-0.7.3-legacy.zip | Bin .../pragma-0.7.0.sol-0.7.4-compact.zip | Bin .../compile/pragma-0.7.0.sol-0.7.4-legacy.zip | Bin .../pragma-0.7.0.sol-0.7.5-compact.zip | Bin .../compile/pragma-0.7.0.sol-0.7.5-legacy.zip | Bin .../pragma-0.7.0.sol-0.7.6-compact.zip | Bin .../compile/pragma-0.7.0.sol-0.7.6-legacy.zip | Bin .../pragma-0.8.0.sol-0.8.0-compact.zip | Bin .../pragma-0.8.0.sol-0.8.1-compact.zip | Bin .../pragma-0.8.0.sol-0.8.10-compact.zip | Bin .../pragma-0.8.0.sol-0.8.11-compact.zip | Bin .../pragma-0.8.0.sol-0.8.12-compact.zip | Bin .../pragma-0.8.0.sol-0.8.13-compact.zip | Bin .../pragma-0.8.0.sol-0.8.14-compact.zip | Bin .../pragma-0.8.0.sol-0.8.15-compact.zip | Bin .../pragma-0.8.0.sol-0.8.2-compact.zip | Bin .../pragma-0.8.0.sol-0.8.3-compact.zip | Bin .../pragma-0.8.0.sol-0.8.4-compact.zip | Bin .../pragma-0.8.0.sol-0.8.5-compact.zip | Bin .../pragma-0.8.0.sol-0.8.6-compact.zip | Bin .../pragma-0.8.0.sol-0.8.7-compact.zip | Bin .../pragma-0.8.0.sol-0.8.8-compact.zip | Bin .../pragma-0.8.0.sol-0.8.9-compact.zip | Bin .../compile/push-all.sol-0.4.0-legacy.zip | Bin .../compile/push-all.sol-0.4.1-legacy.zip | Bin .../compile/push-all.sol-0.4.10-legacy.zip | Bin .../compile/push-all.sol-0.4.11-legacy.zip | Bin .../compile/push-all.sol-0.4.12-compact.zip | Bin .../compile/push-all.sol-0.4.12-legacy.zip | Bin .../compile/push-all.sol-0.4.13-compact.zip | Bin .../compile/push-all.sol-0.4.13-legacy.zip | Bin .../compile/push-all.sol-0.4.14-compact.zip | Bin .../compile/push-all.sol-0.4.14-legacy.zip | Bin .../compile/push-all.sol-0.4.15-compact.zip | Bin .../compile/push-all.sol-0.4.15-legacy.zip | Bin .../compile/push-all.sol-0.4.16-compact.zip | Bin .../compile/push-all.sol-0.4.16-legacy.zip | Bin .../compile/push-all.sol-0.4.17-compact.zip | Bin .../compile/push-all.sol-0.4.17-legacy.zip | Bin .../compile/push-all.sol-0.4.18-compact.zip | Bin .../compile/push-all.sol-0.4.18-legacy.zip | Bin .../compile/push-all.sol-0.4.19-compact.zip | Bin .../compile/push-all.sol-0.4.19-legacy.zip | Bin .../compile/push-all.sol-0.4.2-legacy.zip | Bin .../compile/push-all.sol-0.4.20-compact.zip | Bin .../compile/push-all.sol-0.4.20-legacy.zip | Bin .../compile/push-all.sol-0.4.21-compact.zip | Bin .../compile/push-all.sol-0.4.21-legacy.zip | Bin .../compile/push-all.sol-0.4.22-compact.zip | Bin .../compile/push-all.sol-0.4.22-legacy.zip | Bin .../compile/push-all.sol-0.4.23-compact.zip | Bin .../compile/push-all.sol-0.4.23-legacy.zip | Bin .../compile/push-all.sol-0.4.24-compact.zip | Bin .../compile/push-all.sol-0.4.24-legacy.zip | Bin .../compile/push-all.sol-0.4.25-compact.zip | Bin .../compile/push-all.sol-0.4.25-legacy.zip | Bin .../compile/push-all.sol-0.4.26-compact.zip | Bin .../compile/push-all.sol-0.4.26-legacy.zip | Bin .../compile/push-all.sol-0.4.3-legacy.zip | Bin .../compile/push-all.sol-0.4.4-legacy.zip | Bin .../compile/push-all.sol-0.4.5-legacy.zip | Bin .../compile/push-all.sol-0.4.6-legacy.zip | Bin .../compile/push-all.sol-0.4.7-legacy.zip | Bin .../compile/push-all.sol-0.4.8-legacy.zip | Bin .../compile/push-all.sol-0.4.9-legacy.zip | Bin .../compile/push-all.sol-0.5.0-compact.zip | Bin .../compile/push-all.sol-0.5.0-legacy.zip | Bin .../compile/push-all.sol-0.5.1-compact.zip | Bin .../compile/push-all.sol-0.5.1-legacy.zip | Bin .../compile/push-all.sol-0.5.10-compact.zip | Bin .../compile/push-all.sol-0.5.10-legacy.zip | Bin .../compile/push-all.sol-0.5.11-compact.zip | Bin .../compile/push-all.sol-0.5.11-legacy.zip | Bin .../compile/push-all.sol-0.5.12-compact.zip | Bin .../compile/push-all.sol-0.5.12-legacy.zip | Bin .../compile/push-all.sol-0.5.13-compact.zip | Bin .../compile/push-all.sol-0.5.13-legacy.zip | Bin .../compile/push-all.sol-0.5.14-compact.zip | Bin .../compile/push-all.sol-0.5.14-legacy.zip | Bin .../compile/push-all.sol-0.5.15-compact.zip | Bin .../compile/push-all.sol-0.5.15-legacy.zip | Bin .../compile/push-all.sol-0.5.16-compact.zip | Bin .../compile/push-all.sol-0.5.16-legacy.zip | Bin .../compile/push-all.sol-0.5.17-compact.zip | Bin .../compile/push-all.sol-0.5.17-legacy.zip | Bin .../compile/push-all.sol-0.5.2-compact.zip | Bin .../compile/push-all.sol-0.5.2-legacy.zip | Bin .../compile/push-all.sol-0.5.3-compact.zip | Bin .../compile/push-all.sol-0.5.3-legacy.zip | Bin .../compile/push-all.sol-0.5.4-compact.zip | Bin .../compile/push-all.sol-0.5.4-legacy.zip | Bin .../compile/push-all.sol-0.5.5-compact.zip | Bin .../compile/push-all.sol-0.5.5-legacy.zip | Bin .../compile/push-all.sol-0.5.6-compact.zip | Bin .../compile/push-all.sol-0.5.6-legacy.zip | Bin .../compile/push-all.sol-0.5.7-compact.zip | Bin .../compile/push-all.sol-0.5.7-legacy.zip | Bin .../compile/push-all.sol-0.5.8-compact.zip | Bin .../compile/push-all.sol-0.5.8-legacy.zip | Bin .../compile/push-all.sol-0.5.9-compact.zip | Bin .../compile/push-all.sol-0.5.9-legacy.zip | Bin .../compile/push-all.sol-0.6.0-compact.zip | Bin .../compile/push-all.sol-0.6.0-legacy.zip | Bin .../compile/push-all.sol-0.6.1-compact.zip | Bin .../compile/push-all.sol-0.6.1-legacy.zip | Bin .../compile/push-all.sol-0.6.10-compact.zip | Bin .../compile/push-all.sol-0.6.10-legacy.zip | Bin .../compile/push-all.sol-0.6.11-compact.zip | Bin .../compile/push-all.sol-0.6.11-legacy.zip | Bin .../compile/push-all.sol-0.6.12-compact.zip | Bin .../compile/push-all.sol-0.6.12-legacy.zip | Bin .../compile/push-all.sol-0.6.2-compact.zip | Bin .../compile/push-all.sol-0.6.2-legacy.zip | Bin .../compile/push-all.sol-0.6.3-compact.zip | Bin .../compile/push-all.sol-0.6.3-legacy.zip | Bin .../compile/push-all.sol-0.6.4-compact.zip | Bin .../compile/push-all.sol-0.6.4-legacy.zip | Bin .../compile/push-all.sol-0.6.5-compact.zip | Bin .../compile/push-all.sol-0.6.5-legacy.zip | Bin .../compile/push-all.sol-0.6.6-compact.zip | Bin .../compile/push-all.sol-0.6.6-legacy.zip | Bin .../compile/push-all.sol-0.6.7-compact.zip | Bin .../compile/push-all.sol-0.6.7-legacy.zip | Bin .../compile/push-all.sol-0.6.8-compact.zip | Bin .../compile/push-all.sol-0.6.8-legacy.zip | Bin .../compile/push-all.sol-0.6.9-compact.zip | Bin .../compile/push-all.sol-0.6.9-legacy.zip | Bin .../compile/push-all.sol-0.7.0-compact.zip | Bin .../compile/push-all.sol-0.7.0-legacy.zip | Bin .../compile/push-all.sol-0.7.1-compact.zip | Bin .../compile/push-all.sol-0.7.1-legacy.zip | Bin .../compile/push-all.sol-0.7.2-compact.zip | Bin .../compile/push-all.sol-0.7.2-legacy.zip | Bin .../compile/push-all.sol-0.7.3-compact.zip | Bin .../compile/push-all.sol-0.7.3-legacy.zip | Bin .../compile/push-all.sol-0.7.4-compact.zip | Bin .../compile/push-all.sol-0.7.4-legacy.zip | Bin .../compile/push-all.sol-0.7.5-compact.zip | Bin .../compile/push-all.sol-0.7.5-legacy.zip | Bin .../compile/push-all.sol-0.7.6-compact.zip | Bin .../compile/push-all.sol-0.7.6-legacy.zip | Bin .../compile/push-all.sol-0.8.0-compact.zip | Bin .../compile/push-all.sol-0.8.1-compact.zip | Bin .../compile/push-all.sol-0.8.10-compact.zip | Bin .../compile/push-all.sol-0.8.11-compact.zip | Bin .../compile/push-all.sol-0.8.12-compact.zip | Bin .../compile/push-all.sol-0.8.13-compact.zip | Bin .../compile/push-all.sol-0.8.14-compact.zip | Bin .../compile/push-all.sol-0.8.15-compact.zip | Bin .../compile/push-all.sol-0.8.2-compact.zip | Bin .../compile/push-all.sol-0.8.3-compact.zip | Bin .../compile/push-all.sol-0.8.4-compact.zip | Bin .../compile/push-all.sol-0.8.5-compact.zip | Bin .../compile/push-all.sol-0.8.6-compact.zip | Bin .../compile/push-all.sol-0.8.7-compact.zip | Bin .../compile/push-all.sol-0.8.8-compact.zip | Bin .../compile/push-all.sol-0.8.9-compact.zip | Bin .../compile/return-all.sol-0.4.0-legacy.zip | Bin .../compile/return-all.sol-0.4.1-legacy.zip | Bin .../compile/return-all.sol-0.4.10-legacy.zip | Bin .../compile/return-all.sol-0.4.11-legacy.zip | Bin .../compile/return-all.sol-0.4.12-compact.zip | Bin .../compile/return-all.sol-0.4.12-legacy.zip | Bin .../compile/return-all.sol-0.4.13-compact.zip | Bin .../compile/return-all.sol-0.4.13-legacy.zip | Bin .../compile/return-all.sol-0.4.14-compact.zip | Bin .../compile/return-all.sol-0.4.14-legacy.zip | Bin .../compile/return-all.sol-0.4.15-compact.zip | Bin .../compile/return-all.sol-0.4.15-legacy.zip | Bin .../compile/return-all.sol-0.4.16-compact.zip | Bin .../compile/return-all.sol-0.4.16-legacy.zip | Bin .../compile/return-all.sol-0.4.17-compact.zip | Bin .../compile/return-all.sol-0.4.17-legacy.zip | Bin .../compile/return-all.sol-0.4.18-compact.zip | Bin .../compile/return-all.sol-0.4.18-legacy.zip | Bin .../compile/return-all.sol-0.4.19-compact.zip | Bin .../compile/return-all.sol-0.4.19-legacy.zip | Bin .../compile/return-all.sol-0.4.2-legacy.zip | Bin .../compile/return-all.sol-0.4.20-compact.zip | Bin .../compile/return-all.sol-0.4.20-legacy.zip | Bin .../compile/return-all.sol-0.4.21-compact.zip | Bin .../compile/return-all.sol-0.4.21-legacy.zip | Bin .../compile/return-all.sol-0.4.22-compact.zip | Bin .../compile/return-all.sol-0.4.22-legacy.zip | Bin .../compile/return-all.sol-0.4.23-compact.zip | Bin .../compile/return-all.sol-0.4.23-legacy.zip | Bin .../compile/return-all.sol-0.4.24-compact.zip | Bin .../compile/return-all.sol-0.4.24-legacy.zip | Bin .../compile/return-all.sol-0.4.25-compact.zip | Bin .../compile/return-all.sol-0.4.25-legacy.zip | Bin .../compile/return-all.sol-0.4.26-compact.zip | Bin .../compile/return-all.sol-0.4.26-legacy.zip | Bin .../compile/return-all.sol-0.4.3-legacy.zip | Bin .../compile/return-all.sol-0.4.4-legacy.zip | Bin .../compile/return-all.sol-0.4.5-legacy.zip | Bin .../compile/return-all.sol-0.4.6-legacy.zip | Bin .../compile/return-all.sol-0.4.7-legacy.zip | Bin .../compile/return-all.sol-0.4.8-legacy.zip | Bin .../compile/return-all.sol-0.4.9-legacy.zip | Bin .../compile/return-all.sol-0.5.0-compact.zip | Bin .../compile/return-all.sol-0.5.0-legacy.zip | Bin .../compile/return-all.sol-0.5.1-compact.zip | Bin .../compile/return-all.sol-0.5.1-legacy.zip | Bin .../compile/return-all.sol-0.5.10-compact.zip | Bin .../compile/return-all.sol-0.5.10-legacy.zip | Bin .../compile/return-all.sol-0.5.11-compact.zip | Bin .../compile/return-all.sol-0.5.11-legacy.zip | Bin .../compile/return-all.sol-0.5.12-compact.zip | Bin .../compile/return-all.sol-0.5.12-legacy.zip | Bin .../compile/return-all.sol-0.5.13-compact.zip | Bin .../compile/return-all.sol-0.5.13-legacy.zip | Bin .../compile/return-all.sol-0.5.14-compact.zip | Bin .../compile/return-all.sol-0.5.14-legacy.zip | Bin .../compile/return-all.sol-0.5.15-compact.zip | Bin .../compile/return-all.sol-0.5.15-legacy.zip | Bin .../compile/return-all.sol-0.5.16-compact.zip | Bin .../compile/return-all.sol-0.5.16-legacy.zip | Bin .../compile/return-all.sol-0.5.17-compact.zip | Bin .../compile/return-all.sol-0.5.17-legacy.zip | Bin .../compile/return-all.sol-0.5.2-compact.zip | Bin .../compile/return-all.sol-0.5.2-legacy.zip | Bin .../compile/return-all.sol-0.5.3-compact.zip | Bin .../compile/return-all.sol-0.5.3-legacy.zip | Bin .../compile/return-all.sol-0.5.4-compact.zip | Bin .../compile/return-all.sol-0.5.4-legacy.zip | Bin .../compile/return-all.sol-0.5.5-compact.zip | Bin .../compile/return-all.sol-0.5.5-legacy.zip | Bin .../compile/return-all.sol-0.5.6-compact.zip | Bin .../compile/return-all.sol-0.5.6-legacy.zip | Bin .../compile/return-all.sol-0.5.7-compact.zip | Bin .../compile/return-all.sol-0.5.7-legacy.zip | Bin .../compile/return-all.sol-0.5.8-compact.zip | Bin .../compile/return-all.sol-0.5.8-legacy.zip | Bin .../compile/return-all.sol-0.5.9-compact.zip | Bin .../compile/return-all.sol-0.5.9-legacy.zip | Bin .../compile/return-all.sol-0.6.0-compact.zip | Bin .../compile/return-all.sol-0.6.0-legacy.zip | Bin .../compile/return-all.sol-0.6.1-compact.zip | Bin .../compile/return-all.sol-0.6.1-legacy.zip | Bin .../compile/return-all.sol-0.6.10-compact.zip | Bin .../compile/return-all.sol-0.6.10-legacy.zip | Bin .../compile/return-all.sol-0.6.11-compact.zip | Bin .../compile/return-all.sol-0.6.11-legacy.zip | Bin .../compile/return-all.sol-0.6.12-compact.zip | Bin .../compile/return-all.sol-0.6.12-legacy.zip | Bin .../compile/return-all.sol-0.6.2-compact.zip | Bin .../compile/return-all.sol-0.6.2-legacy.zip | Bin .../compile/return-all.sol-0.6.3-compact.zip | Bin .../compile/return-all.sol-0.6.3-legacy.zip | Bin .../compile/return-all.sol-0.6.4-compact.zip | Bin .../compile/return-all.sol-0.6.4-legacy.zip | Bin .../compile/return-all.sol-0.6.5-compact.zip | Bin .../compile/return-all.sol-0.6.5-legacy.zip | Bin .../compile/return-all.sol-0.6.6-compact.zip | Bin .../compile/return-all.sol-0.6.6-legacy.zip | Bin .../compile/return-all.sol-0.6.7-compact.zip | Bin .../compile/return-all.sol-0.6.7-legacy.zip | Bin .../compile/return-all.sol-0.6.8-compact.zip | Bin .../compile/return-all.sol-0.6.8-legacy.zip | Bin .../compile/return-all.sol-0.6.9-compact.zip | Bin .../compile/return-all.sol-0.6.9-legacy.zip | Bin .../compile/return-all.sol-0.7.0-compact.zip | Bin .../compile/return-all.sol-0.7.0-legacy.zip | Bin .../compile/return-all.sol-0.7.1-compact.zip | Bin .../compile/return-all.sol-0.7.1-legacy.zip | Bin .../compile/return-all.sol-0.7.2-compact.zip | Bin .../compile/return-all.sol-0.7.2-legacy.zip | Bin .../compile/return-all.sol-0.7.3-compact.zip | Bin .../compile/return-all.sol-0.7.3-legacy.zip | Bin .../compile/return-all.sol-0.7.4-compact.zip | Bin .../compile/return-all.sol-0.7.4-legacy.zip | Bin .../compile/return-all.sol-0.7.5-compact.zip | Bin .../compile/return-all.sol-0.7.5-legacy.zip | Bin .../compile/return-all.sol-0.7.6-compact.zip | Bin .../compile/return-all.sol-0.7.6-legacy.zip | Bin .../compile/return-all.sol-0.8.0-compact.zip | Bin .../compile/return-all.sol-0.8.1-compact.zip | Bin .../compile/return-all.sol-0.8.10-compact.zip | Bin .../compile/return-all.sol-0.8.11-compact.zip | Bin .../compile/return-all.sol-0.8.12-compact.zip | Bin .../compile/return-all.sol-0.8.13-compact.zip | Bin .../compile/return-all.sol-0.8.14-compact.zip | Bin .../compile/return-all.sol-0.8.15-compact.zip | Bin .../compile/return-all.sol-0.8.2-compact.zip | Bin .../compile/return-all.sol-0.8.3-compact.zip | Bin .../compile/return-all.sol-0.8.4-compact.zip | Bin .../compile/return-all.sol-0.8.5-compact.zip | Bin .../compile/return-all.sol-0.8.6-compact.zip | Bin .../compile/return-all.sol-0.8.7-compact.zip | Bin .../compile/return-all.sol-0.8.8-compact.zip | Bin .../compile/return-all.sol-0.8.9-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.0-legacy.zip | Bin .../compile/scope-0.4.0.sol-0.4.1-legacy.zip | Bin .../compile/scope-0.4.0.sol-0.4.10-legacy.zip | Bin .../compile/scope-0.4.0.sol-0.4.11-legacy.zip | Bin .../scope-0.4.0.sol-0.4.12-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.12-legacy.zip | Bin .../scope-0.4.0.sol-0.4.13-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.13-legacy.zip | Bin .../scope-0.4.0.sol-0.4.14-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.14-legacy.zip | Bin .../scope-0.4.0.sol-0.4.15-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.15-legacy.zip | Bin .../scope-0.4.0.sol-0.4.16-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.16-legacy.zip | Bin .../scope-0.4.0.sol-0.4.17-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.17-legacy.zip | Bin .../scope-0.4.0.sol-0.4.18-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.18-legacy.zip | Bin .../scope-0.4.0.sol-0.4.19-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.19-legacy.zip | Bin .../compile/scope-0.4.0.sol-0.4.2-legacy.zip | Bin .../scope-0.4.0.sol-0.4.20-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.20-legacy.zip | Bin .../scope-0.4.0.sol-0.4.21-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.21-legacy.zip | Bin .../scope-0.4.0.sol-0.4.22-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.22-legacy.zip | Bin .../scope-0.4.0.sol-0.4.23-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.23-legacy.zip | Bin .../scope-0.4.0.sol-0.4.24-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.24-legacy.zip | Bin .../scope-0.4.0.sol-0.4.25-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.25-legacy.zip | Bin .../scope-0.4.0.sol-0.4.26-compact.zip | Bin .../compile/scope-0.4.0.sol-0.4.26-legacy.zip | Bin .../compile/scope-0.4.0.sol-0.4.3-legacy.zip | Bin .../compile/scope-0.4.0.sol-0.4.4-legacy.zip | Bin .../compile/scope-0.4.0.sol-0.4.5-legacy.zip | Bin .../compile/scope-0.4.0.sol-0.4.6-legacy.zip | Bin .../compile/scope-0.4.0.sol-0.4.7-legacy.zip | Bin .../compile/scope-0.4.0.sol-0.4.8-legacy.zip | Bin .../compile/scope-0.4.0.sol-0.4.9-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.5.0-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.0-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.5.1-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.1-legacy.zip | Bin .../scope-0.5.0.sol-0.5.10-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.10-legacy.zip | Bin .../scope-0.5.0.sol-0.5.11-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.11-legacy.zip | Bin .../scope-0.5.0.sol-0.5.12-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.12-legacy.zip | Bin .../scope-0.5.0.sol-0.5.13-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.13-legacy.zip | Bin .../scope-0.5.0.sol-0.5.14-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.14-legacy.zip | Bin .../scope-0.5.0.sol-0.5.15-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.15-legacy.zip | Bin .../scope-0.5.0.sol-0.5.16-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.16-legacy.zip | Bin .../scope-0.5.0.sol-0.5.17-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.17-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.5.2-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.2-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.5.3-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.3-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.5.4-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.4-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.5.5-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.5-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.5.6-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.6-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.5.7-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.7-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.5.8-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.8-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.5.9-compact.zip | Bin .../compile/scope-0.5.0.sol-0.5.9-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.6.0-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.0-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.6.1-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.1-legacy.zip | Bin .../scope-0.5.0.sol-0.6.10-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.10-legacy.zip | Bin .../scope-0.5.0.sol-0.6.11-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.11-legacy.zip | Bin .../scope-0.5.0.sol-0.6.12-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.12-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.6.2-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.2-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.6.3-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.3-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.6.4-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.4-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.6.5-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.5-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.6.6-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.6-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.6.7-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.7-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.6.8-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.8-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.6.9-compact.zip | Bin .../compile/scope-0.5.0.sol-0.6.9-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.7.0-compact.zip | Bin .../compile/scope-0.5.0.sol-0.7.0-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.7.1-compact.zip | Bin .../compile/scope-0.5.0.sol-0.7.1-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.7.2-compact.zip | Bin .../compile/scope-0.5.0.sol-0.7.2-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.7.3-compact.zip | Bin .../compile/scope-0.5.0.sol-0.7.3-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.7.4-compact.zip | Bin .../compile/scope-0.5.0.sol-0.7.4-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.7.5-compact.zip | Bin .../compile/scope-0.5.0.sol-0.7.5-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.7.6-compact.zip | Bin .../compile/scope-0.5.0.sol-0.7.6-legacy.zip | Bin .../compile/scope-0.5.0.sol-0.8.0-compact.zip | Bin .../compile/scope-0.5.0.sol-0.8.1-compact.zip | Bin .../scope-0.5.0.sol-0.8.10-compact.zip | Bin .../scope-0.5.0.sol-0.8.11-compact.zip | Bin .../scope-0.5.0.sol-0.8.12-compact.zip | Bin .../scope-0.5.0.sol-0.8.13-compact.zip | Bin .../scope-0.5.0.sol-0.8.14-compact.zip | Bin .../scope-0.5.0.sol-0.8.15-compact.zip | Bin .../compile/scope-0.5.0.sol-0.8.2-compact.zip | Bin .../compile/scope-0.5.0.sol-0.8.3-compact.zip | Bin .../compile/scope-0.5.0.sol-0.8.4-compact.zip | Bin .../compile/scope-0.5.0.sol-0.8.5-compact.zip | Bin .../compile/scope-0.5.0.sol-0.8.6-compact.zip | Bin .../compile/scope-0.5.0.sol-0.8.7-compact.zip | Bin .../compile/scope-0.5.0.sol-0.8.8-compact.zip | Bin .../compile/scope-0.5.0.sol-0.8.9-compact.zip | Bin .../compile/struct-0.4.0.sol-0.4.0-legacy.zip | Bin .../compile/struct-0.4.0.sol-0.4.1-legacy.zip | Bin .../struct-0.4.0.sol-0.4.10-legacy.zip | Bin .../struct-0.4.0.sol-0.4.11-legacy.zip | Bin .../struct-0.4.0.sol-0.4.12-compact.zip | Bin .../struct-0.4.0.sol-0.4.12-legacy.zip | Bin .../struct-0.4.0.sol-0.4.13-compact.zip | Bin .../struct-0.4.0.sol-0.4.13-legacy.zip | Bin .../struct-0.4.0.sol-0.4.14-compact.zip | Bin .../struct-0.4.0.sol-0.4.14-legacy.zip | Bin .../struct-0.4.0.sol-0.4.15-compact.zip | Bin .../struct-0.4.0.sol-0.4.15-legacy.zip | Bin .../struct-0.4.0.sol-0.4.16-compact.zip | Bin .../struct-0.4.0.sol-0.4.16-legacy.zip | Bin .../struct-0.4.0.sol-0.4.17-compact.zip | Bin .../struct-0.4.0.sol-0.4.17-legacy.zip | Bin .../struct-0.4.0.sol-0.4.18-compact.zip | Bin .../struct-0.4.0.sol-0.4.18-legacy.zip | Bin .../struct-0.4.0.sol-0.4.19-compact.zip | Bin .../struct-0.4.0.sol-0.4.19-legacy.zip | Bin .../compile/struct-0.4.0.sol-0.4.2-legacy.zip | Bin .../struct-0.4.0.sol-0.4.20-compact.zip | Bin .../struct-0.4.0.sol-0.4.20-legacy.zip | Bin .../struct-0.4.0.sol-0.4.21-compact.zip | Bin .../struct-0.4.0.sol-0.4.21-legacy.zip | Bin .../struct-0.4.0.sol-0.4.22-compact.zip | Bin .../struct-0.4.0.sol-0.4.22-legacy.zip | Bin .../struct-0.4.0.sol-0.4.23-compact.zip | Bin .../struct-0.4.0.sol-0.4.23-legacy.zip | Bin .../struct-0.4.0.sol-0.4.24-compact.zip | Bin .../struct-0.4.0.sol-0.4.24-legacy.zip | Bin .../struct-0.4.0.sol-0.4.25-compact.zip | Bin .../struct-0.4.0.sol-0.4.25-legacy.zip | Bin .../struct-0.4.0.sol-0.4.26-compact.zip | Bin .../struct-0.4.0.sol-0.4.26-legacy.zip | Bin .../compile/struct-0.4.0.sol-0.4.3-legacy.zip | Bin .../compile/struct-0.4.0.sol-0.4.4-legacy.zip | Bin .../compile/struct-0.4.0.sol-0.4.5-legacy.zip | Bin .../compile/struct-0.4.0.sol-0.4.6-legacy.zip | Bin .../compile/struct-0.4.0.sol-0.4.7-legacy.zip | Bin .../compile/struct-0.4.0.sol-0.4.8-legacy.zip | Bin .../compile/struct-0.4.0.sol-0.4.9-legacy.zip | Bin .../struct-0.4.0.sol-0.5.0-compact.zip | Bin .../compile/struct-0.4.0.sol-0.5.0-legacy.zip | Bin .../struct-0.4.0.sol-0.5.1-compact.zip | Bin .../compile/struct-0.4.0.sol-0.5.1-legacy.zip | Bin .../struct-0.4.0.sol-0.5.10-compact.zip | Bin .../struct-0.4.0.sol-0.5.10-legacy.zip | Bin .../struct-0.4.0.sol-0.5.11-compact.zip | Bin .../struct-0.4.0.sol-0.5.11-legacy.zip | Bin .../struct-0.4.0.sol-0.5.12-compact.zip | Bin .../struct-0.4.0.sol-0.5.12-legacy.zip | Bin .../struct-0.4.0.sol-0.5.13-compact.zip | Bin .../struct-0.4.0.sol-0.5.13-legacy.zip | Bin .../struct-0.4.0.sol-0.5.14-compact.zip | Bin .../struct-0.4.0.sol-0.5.14-legacy.zip | Bin .../struct-0.4.0.sol-0.5.15-compact.zip | Bin .../struct-0.4.0.sol-0.5.15-legacy.zip | Bin .../struct-0.4.0.sol-0.5.16-compact.zip | Bin .../struct-0.4.0.sol-0.5.16-legacy.zip | Bin .../struct-0.4.0.sol-0.5.17-compact.zip | Bin .../struct-0.4.0.sol-0.5.17-legacy.zip | Bin .../struct-0.4.0.sol-0.5.2-compact.zip | Bin .../compile/struct-0.4.0.sol-0.5.2-legacy.zip | Bin .../struct-0.4.0.sol-0.5.3-compact.zip | Bin .../compile/struct-0.4.0.sol-0.5.3-legacy.zip | Bin .../struct-0.4.0.sol-0.5.4-compact.zip | Bin .../compile/struct-0.4.0.sol-0.5.4-legacy.zip | Bin .../struct-0.4.0.sol-0.5.5-compact.zip | Bin .../compile/struct-0.4.0.sol-0.5.5-legacy.zip | Bin .../struct-0.4.0.sol-0.5.6-compact.zip | Bin .../compile/struct-0.4.0.sol-0.5.6-legacy.zip | Bin .../struct-0.4.0.sol-0.5.7-compact.zip | Bin .../compile/struct-0.4.0.sol-0.5.7-legacy.zip | Bin .../struct-0.4.0.sol-0.5.8-compact.zip | Bin .../compile/struct-0.4.0.sol-0.5.8-legacy.zip | Bin .../struct-0.4.0.sol-0.5.9-compact.zip | Bin .../compile/struct-0.4.0.sol-0.5.9-legacy.zip | Bin .../struct-0.6.0.sol-0.6.0-compact.zip | Bin .../struct-0.6.0.sol-0.6.1-compact.zip | Bin .../struct-0.6.0.sol-0.6.10-compact.zip | Bin .../struct-0.6.0.sol-0.6.11-compact.zip | Bin .../struct-0.6.0.sol-0.6.12-compact.zip | Bin .../struct-0.6.0.sol-0.6.2-compact.zip | Bin .../struct-0.6.0.sol-0.6.3-compact.zip | Bin .../struct-0.6.0.sol-0.6.4-compact.zip | Bin .../struct-0.6.0.sol-0.6.5-compact.zip | Bin .../struct-0.6.0.sol-0.6.6-compact.zip | Bin .../struct-0.6.0.sol-0.6.7-compact.zip | Bin .../struct-0.6.0.sol-0.6.8-compact.zip | Bin .../struct-0.6.0.sol-0.6.9-compact.zip | Bin .../struct-0.6.0.sol-0.7.0-compact.zip | Bin .../struct-0.6.0.sol-0.7.1-compact.zip | Bin .../struct-0.6.0.sol-0.7.2-compact.zip | Bin .../struct-0.6.0.sol-0.7.3-compact.zip | Bin .../struct-0.6.0.sol-0.7.4-compact.zip | Bin .../struct-0.6.0.sol-0.7.5-compact.zip | Bin .../struct-0.6.0.sol-0.7.6-compact.zip | Bin .../struct-0.6.0.sol-0.8.0-compact.zip | Bin .../struct-0.6.0.sol-0.8.1-compact.zip | Bin .../struct-0.6.0.sol-0.8.10-compact.zip | Bin .../struct-0.6.0.sol-0.8.11-compact.zip | Bin .../struct-0.6.0.sol-0.8.12-compact.zip | Bin .../struct-0.6.0.sol-0.8.13-compact.zip | Bin .../struct-0.6.0.sol-0.8.14-compact.zip | Bin .../struct-0.6.0.sol-0.8.15-compact.zip | Bin .../struct-0.6.0.sol-0.8.2-compact.zip | Bin .../struct-0.6.0.sol-0.8.3-compact.zip | Bin .../struct-0.6.0.sol-0.8.4-compact.zip | Bin .../struct-0.6.0.sol-0.8.5-compact.zip | Bin .../struct-0.6.0.sol-0.8.6-compact.zip | Bin .../struct-0.6.0.sol-0.8.7-compact.zip | Bin .../struct-0.6.0.sol-0.8.8-compact.zip | Bin .../struct-0.6.0.sol-0.8.9-compact.zip | Bin .../ternary-with-max.sol-0.8.15-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.0-legacy.zip | Bin .../compile/throw-0.4.0.sol-0.4.1-legacy.zip | Bin .../compile/throw-0.4.0.sol-0.4.10-legacy.zip | Bin .../compile/throw-0.4.0.sol-0.4.11-legacy.zip | Bin .../throw-0.4.0.sol-0.4.12-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.12-legacy.zip | Bin .../throw-0.4.0.sol-0.4.13-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.13-legacy.zip | Bin .../throw-0.4.0.sol-0.4.14-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.14-legacy.zip | Bin .../throw-0.4.0.sol-0.4.15-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.15-legacy.zip | Bin .../throw-0.4.0.sol-0.4.16-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.16-legacy.zip | Bin .../throw-0.4.0.sol-0.4.17-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.17-legacy.zip | Bin .../throw-0.4.0.sol-0.4.18-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.18-legacy.zip | Bin .../throw-0.4.0.sol-0.4.19-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.19-legacy.zip | Bin .../compile/throw-0.4.0.sol-0.4.2-legacy.zip | Bin .../throw-0.4.0.sol-0.4.20-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.20-legacy.zip | Bin .../throw-0.4.0.sol-0.4.21-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.21-legacy.zip | Bin .../throw-0.4.0.sol-0.4.22-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.22-legacy.zip | Bin .../throw-0.4.0.sol-0.4.23-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.23-legacy.zip | Bin .../throw-0.4.0.sol-0.4.24-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.24-legacy.zip | Bin .../throw-0.4.0.sol-0.4.25-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.25-legacy.zip | Bin .../throw-0.4.0.sol-0.4.26-compact.zip | Bin .../compile/throw-0.4.0.sol-0.4.26-legacy.zip | Bin .../compile/throw-0.4.0.sol-0.4.3-legacy.zip | Bin .../compile/throw-0.4.0.sol-0.4.4-legacy.zip | Bin .../compile/throw-0.4.0.sol-0.4.5-legacy.zip | Bin .../compile/throw-0.4.0.sol-0.4.6-legacy.zip | Bin .../compile/throw-0.4.0.sol-0.4.7-legacy.zip | Bin .../compile/throw-0.4.0.sol-0.4.8-legacy.zip | Bin .../compile/throw-0.4.0.sol-0.4.9-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.5.0-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.0-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.5.1-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.1-legacy.zip | Bin .../throw-0.5.0.sol-0.5.10-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.10-legacy.zip | Bin .../throw-0.5.0.sol-0.5.11-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.11-legacy.zip | Bin .../throw-0.5.0.sol-0.5.12-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.12-legacy.zip | Bin .../throw-0.5.0.sol-0.5.13-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.13-legacy.zip | Bin .../throw-0.5.0.sol-0.5.14-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.14-legacy.zip | Bin .../throw-0.5.0.sol-0.5.15-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.15-legacy.zip | Bin .../throw-0.5.0.sol-0.5.16-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.16-legacy.zip | Bin .../throw-0.5.0.sol-0.5.17-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.17-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.5.2-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.2-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.5.3-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.3-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.5.4-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.4-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.5.5-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.5-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.5.6-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.6-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.5.7-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.7-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.5.8-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.8-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.5.9-compact.zip | Bin .../compile/throw-0.5.0.sol-0.5.9-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.6.0-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.0-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.6.1-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.1-legacy.zip | Bin .../throw-0.5.0.sol-0.6.10-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.10-legacy.zip | Bin .../throw-0.5.0.sol-0.6.11-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.11-legacy.zip | Bin .../throw-0.5.0.sol-0.6.12-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.12-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.6.2-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.2-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.6.3-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.3-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.6.4-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.4-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.6.5-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.5-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.6.6-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.6-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.6.7-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.7-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.6.8-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.8-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.6.9-compact.zip | Bin .../compile/throw-0.5.0.sol-0.6.9-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.7.0-compact.zip | Bin .../compile/throw-0.5.0.sol-0.7.0-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.7.1-compact.zip | Bin .../compile/throw-0.5.0.sol-0.7.1-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.7.2-compact.zip | Bin .../compile/throw-0.5.0.sol-0.7.2-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.7.3-compact.zip | Bin .../compile/throw-0.5.0.sol-0.7.3-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.7.4-compact.zip | Bin .../compile/throw-0.5.0.sol-0.7.4-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.7.5-compact.zip | Bin .../compile/throw-0.5.0.sol-0.7.5-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.7.6-compact.zip | Bin .../compile/throw-0.5.0.sol-0.7.6-legacy.zip | Bin .../compile/throw-0.5.0.sol-0.8.0-compact.zip | Bin .../compile/throw-0.5.0.sol-0.8.1-compact.zip | Bin .../throw-0.5.0.sol-0.8.10-compact.zip | Bin .../throw-0.5.0.sol-0.8.11-compact.zip | Bin .../throw-0.5.0.sol-0.8.12-compact.zip | Bin .../throw-0.5.0.sol-0.8.13-compact.zip | Bin .../throw-0.5.0.sol-0.8.14-compact.zip | Bin .../throw-0.5.0.sol-0.8.15-compact.zip | Bin .../compile/throw-0.5.0.sol-0.8.2-compact.zip | Bin .../compile/throw-0.5.0.sol-0.8.3-compact.zip | Bin .../compile/throw-0.5.0.sol-0.8.4-compact.zip | Bin .../compile/throw-0.5.0.sol-0.8.5-compact.zip | Bin .../compile/throw-0.5.0.sol-0.8.6-compact.zip | Bin .../compile/throw-0.5.0.sol-0.8.7-compact.zip | Bin .../compile/throw-0.5.0.sol-0.8.8-compact.zip | Bin .../compile/throw-0.5.0.sol-0.8.9-compact.zip | Bin .../top-level-0.4.0.sol-0.4.0-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.1-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.10-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.11-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.12-compact.zip | Bin .../top-level-0.4.0.sol-0.4.12-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.13-compact.zip | Bin .../top-level-0.4.0.sol-0.4.13-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.14-compact.zip | Bin .../top-level-0.4.0.sol-0.4.14-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.15-compact.zip | Bin .../top-level-0.4.0.sol-0.4.15-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.16-compact.zip | Bin .../top-level-0.4.0.sol-0.4.16-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.17-compact.zip | Bin .../top-level-0.4.0.sol-0.4.17-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.18-compact.zip | Bin .../top-level-0.4.0.sol-0.4.18-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.19-compact.zip | Bin .../top-level-0.4.0.sol-0.4.19-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.2-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.20-compact.zip | Bin .../top-level-0.4.0.sol-0.4.20-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.21-compact.zip | Bin .../top-level-0.4.0.sol-0.4.21-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.22-compact.zip | Bin .../top-level-0.4.0.sol-0.4.22-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.23-compact.zip | Bin .../top-level-0.4.0.sol-0.4.23-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.24-compact.zip | Bin .../top-level-0.4.0.sol-0.4.24-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.25-compact.zip | Bin .../top-level-0.4.0.sol-0.4.25-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.26-compact.zip | Bin .../top-level-0.4.0.sol-0.4.26-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.3-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.4-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.5-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.6-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.7-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.8-legacy.zip | Bin .../top-level-0.4.0.sol-0.4.9-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.0-compact.zip | Bin .../top-level-0.4.0.sol-0.5.0-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.1-compact.zip | Bin .../top-level-0.4.0.sol-0.5.1-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.10-compact.zip | Bin .../top-level-0.4.0.sol-0.5.10-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.11-compact.zip | Bin .../top-level-0.4.0.sol-0.5.11-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.12-compact.zip | Bin .../top-level-0.4.0.sol-0.5.12-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.13-compact.zip | Bin .../top-level-0.4.0.sol-0.5.13-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.14-compact.zip | Bin .../top-level-0.4.0.sol-0.5.14-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.15-compact.zip | Bin .../top-level-0.4.0.sol-0.5.15-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.16-compact.zip | Bin .../top-level-0.4.0.sol-0.5.16-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.17-compact.zip | Bin .../top-level-0.4.0.sol-0.5.17-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.2-compact.zip | Bin .../top-level-0.4.0.sol-0.5.2-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.3-compact.zip | Bin .../top-level-0.4.0.sol-0.5.3-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.4-compact.zip | Bin .../top-level-0.4.0.sol-0.5.4-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.5-compact.zip | Bin .../top-level-0.4.0.sol-0.5.5-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.6-compact.zip | Bin .../top-level-0.4.0.sol-0.5.6-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.7-compact.zip | Bin .../top-level-0.4.0.sol-0.5.7-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.8-compact.zip | Bin .../top-level-0.4.0.sol-0.5.8-legacy.zip | Bin .../top-level-0.4.0.sol-0.5.9-compact.zip | Bin .../top-level-0.4.0.sol-0.5.9-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.0-compact.zip | Bin .../top-level-0.4.0.sol-0.6.0-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.1-compact.zip | Bin .../top-level-0.4.0.sol-0.6.1-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.10-compact.zip | Bin .../top-level-0.4.0.sol-0.6.10-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.11-compact.zip | Bin .../top-level-0.4.0.sol-0.6.11-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.12-compact.zip | Bin .../top-level-0.4.0.sol-0.6.12-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.2-compact.zip | Bin .../top-level-0.4.0.sol-0.6.2-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.3-compact.zip | Bin .../top-level-0.4.0.sol-0.6.3-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.4-compact.zip | Bin .../top-level-0.4.0.sol-0.6.4-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.5-compact.zip | Bin .../top-level-0.4.0.sol-0.6.5-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.6-compact.zip | Bin .../top-level-0.4.0.sol-0.6.6-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.7-compact.zip | Bin .../top-level-0.4.0.sol-0.6.7-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.8-compact.zip | Bin .../top-level-0.4.0.sol-0.6.8-legacy.zip | Bin .../top-level-0.4.0.sol-0.6.9-compact.zip | Bin .../top-level-0.4.0.sol-0.6.9-legacy.zip | Bin .../top-level-0.4.0.sol-0.7.0-compact.zip | Bin .../top-level-0.4.0.sol-0.7.0-legacy.zip | Bin .../top-level-0.7.1.sol-0.7.1-compact.zip | Bin .../top-level-0.7.1.sol-0.7.1-legacy.zip | Bin .../top-level-0.7.1.sol-0.7.2-compact.zip | Bin .../top-level-0.7.1.sol-0.7.2-legacy.zip | Bin .../top-level-0.7.1.sol-0.7.3-compact.zip | Bin .../top-level-0.7.1.sol-0.7.3-legacy.zip | Bin .../top-level-0.7.4.sol-0.7.4-compact.zip | Bin .../top-level-0.7.4.sol-0.7.4-legacy.zip | Bin .../top-level-0.7.4.sol-0.7.5-compact.zip | Bin .../top-level-0.7.4.sol-0.7.5-legacy.zip | Bin .../top-level-0.7.4.sol-0.7.6-compact.zip | Bin .../top-level-0.7.4.sol-0.7.6-legacy.zip | Bin .../top-level-0.7.4.sol-0.8.0-compact.zip | Bin .../top-level-0.7.4.sol-0.8.1-compact.zip | Bin .../top-level-0.7.4.sol-0.8.10-compact.zip | Bin .../top-level-0.7.4.sol-0.8.11-compact.zip | Bin .../top-level-0.7.4.sol-0.8.12-compact.zip | Bin .../top-level-0.7.4.sol-0.8.13-compact.zip | Bin .../top-level-0.7.4.sol-0.8.14-compact.zip | Bin .../top-level-0.7.4.sol-0.8.15-compact.zip | Bin .../top-level-0.7.4.sol-0.8.2-compact.zip | Bin .../top-level-0.7.4.sol-0.8.3-compact.zip | Bin .../top-level-0.7.4.sol-0.8.4-compact.zip | Bin .../top-level-0.7.4.sol-0.8.5-compact.zip | Bin .../top-level-0.7.4.sol-0.8.6-compact.zip | Bin .../top-level-0.7.4.sol-0.8.7-compact.zip | Bin .../top-level-0.7.4.sol-0.8.8-compact.zip | Bin .../top-level-0.7.4.sol-0.8.9-compact.zip | Bin ...op-level-import-0.4.0.sol-0.4.0-legacy.zip | Bin ...op-level-import-0.4.0.sol-0.4.1-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.4.10-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.4.11-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.12-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.12-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.13-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.13-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.14-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.14-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.15-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.15-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.16-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.16-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.17-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.17-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.18-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.18-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.19-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.19-legacy.zip | Bin ...op-level-import-0.4.0.sol-0.4.2-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.20-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.20-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.21-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.21-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.22-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.22-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.23-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.23-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.24-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.24-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.25-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.25-legacy.zip | Bin ...-level-import-0.4.0.sol-0.4.26-compact.zip | Bin ...p-level-import-0.4.0.sol-0.4.26-legacy.zip | Bin ...op-level-import-0.4.0.sol-0.4.3-legacy.zip | Bin ...op-level-import-0.4.0.sol-0.4.4-legacy.zip | Bin ...op-level-import-0.4.0.sol-0.4.5-legacy.zip | Bin ...op-level-import-0.4.0.sol-0.4.6-legacy.zip | Bin ...op-level-import-0.4.0.sol-0.4.7-legacy.zip | Bin ...op-level-import-0.4.0.sol-0.4.8-legacy.zip | Bin ...op-level-import-0.4.0.sol-0.4.9-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.5.0-compact.zip | Bin ...op-level-import-0.4.0.sol-0.5.0-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.5.1-compact.zip | Bin ...op-level-import-0.4.0.sol-0.5.1-legacy.zip | Bin ...-level-import-0.4.0.sol-0.5.10-compact.zip | Bin ...p-level-import-0.4.0.sol-0.5.10-legacy.zip | Bin ...-level-import-0.4.0.sol-0.5.11-compact.zip | Bin ...p-level-import-0.4.0.sol-0.5.11-legacy.zip | Bin ...-level-import-0.4.0.sol-0.5.12-compact.zip | Bin ...p-level-import-0.4.0.sol-0.5.12-legacy.zip | Bin ...-level-import-0.4.0.sol-0.5.13-compact.zip | Bin ...p-level-import-0.4.0.sol-0.5.13-legacy.zip | Bin ...-level-import-0.4.0.sol-0.5.14-compact.zip | Bin ...p-level-import-0.4.0.sol-0.5.14-legacy.zip | Bin ...-level-import-0.4.0.sol-0.5.15-compact.zip | Bin ...p-level-import-0.4.0.sol-0.5.15-legacy.zip | Bin ...-level-import-0.4.0.sol-0.5.16-compact.zip | Bin ...p-level-import-0.4.0.sol-0.5.16-legacy.zip | Bin ...-level-import-0.4.0.sol-0.5.17-compact.zip | Bin ...p-level-import-0.4.0.sol-0.5.17-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.5.2-compact.zip | Bin ...op-level-import-0.4.0.sol-0.5.2-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.5.3-compact.zip | Bin ...op-level-import-0.4.0.sol-0.5.3-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.5.4-compact.zip | Bin ...op-level-import-0.4.0.sol-0.5.4-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.5.5-compact.zip | Bin ...op-level-import-0.4.0.sol-0.5.5-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.5.6-compact.zip | Bin ...op-level-import-0.4.0.sol-0.5.6-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.5.7-compact.zip | Bin ...op-level-import-0.4.0.sol-0.5.7-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.5.8-compact.zip | Bin ...op-level-import-0.4.0.sol-0.5.8-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.5.9-compact.zip | Bin ...op-level-import-0.4.0.sol-0.5.9-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.6.0-compact.zip | Bin ...op-level-import-0.4.0.sol-0.6.0-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.6.1-compact.zip | Bin ...op-level-import-0.4.0.sol-0.6.1-legacy.zip | Bin ...-level-import-0.4.0.sol-0.6.10-compact.zip | Bin ...p-level-import-0.4.0.sol-0.6.10-legacy.zip | Bin ...-level-import-0.4.0.sol-0.6.11-compact.zip | Bin ...p-level-import-0.4.0.sol-0.6.11-legacy.zip | Bin ...-level-import-0.4.0.sol-0.6.12-compact.zip | Bin ...p-level-import-0.4.0.sol-0.6.12-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.6.2-compact.zip | Bin ...op-level-import-0.4.0.sol-0.6.2-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.6.3-compact.zip | Bin ...op-level-import-0.4.0.sol-0.6.3-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.6.4-compact.zip | Bin ...op-level-import-0.4.0.sol-0.6.4-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.6.5-compact.zip | Bin ...op-level-import-0.4.0.sol-0.6.5-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.6.6-compact.zip | Bin ...op-level-import-0.4.0.sol-0.6.6-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.6.7-compact.zip | Bin ...op-level-import-0.4.0.sol-0.6.7-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.6.8-compact.zip | Bin ...op-level-import-0.4.0.sol-0.6.8-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.6.9-compact.zip | Bin ...op-level-import-0.4.0.sol-0.6.9-legacy.zip | Bin ...p-level-import-0.4.0.sol-0.7.0-compact.zip | Bin ...op-level-import-0.4.0.sol-0.7.0-legacy.zip | Bin ...p-level-import-0.7.1.sol-0.7.1-compact.zip | Bin ...op-level-import-0.7.1.sol-0.7.1-legacy.zip | Bin ...p-level-import-0.7.1.sol-0.7.2-compact.zip | Bin ...op-level-import-0.7.1.sol-0.7.2-legacy.zip | Bin ...p-level-import-0.7.1.sol-0.7.3-compact.zip | Bin ...op-level-import-0.7.1.sol-0.7.3-legacy.zip | Bin ...p-level-import-0.7.1.sol-0.7.4-compact.zip | Bin ...op-level-import-0.7.1.sol-0.7.4-legacy.zip | Bin ...p-level-import-0.7.1.sol-0.7.5-compact.zip | Bin ...op-level-import-0.7.1.sol-0.7.5-legacy.zip | Bin ...p-level-import-0.7.1.sol-0.7.6-compact.zip | Bin ...op-level-import-0.7.1.sol-0.7.6-legacy.zip | Bin ...p-level-import-0.7.1.sol-0.8.0-compact.zip | Bin ...p-level-import-0.7.1.sol-0.8.1-compact.zip | Bin ...-level-import-0.7.1.sol-0.8.10-compact.zip | Bin ...-level-import-0.7.1.sol-0.8.11-compact.zip | Bin ...-level-import-0.7.1.sol-0.8.12-compact.zip | Bin ...-level-import-0.7.1.sol-0.8.13-compact.zip | Bin ...-level-import-0.7.1.sol-0.8.14-compact.zip | Bin ...-level-import-0.7.1.sol-0.8.15-compact.zip | Bin ...p-level-import-0.7.1.sol-0.8.2-compact.zip | Bin ...p-level-import-0.7.1.sol-0.8.3-compact.zip | Bin ...p-level-import-0.7.1.sol-0.8.4-compact.zip | Bin ...p-level-import-0.7.1.sol-0.8.5-compact.zip | Bin ...p-level-import-0.7.1.sol-0.8.6-compact.zip | Bin ...p-level-import-0.7.1.sol-0.8.7-compact.zip | Bin ...p-level-import-0.7.1.sol-0.8.8-compact.zip | Bin ...p-level-import-0.7.1.sol-0.8.9-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.4.0-legacy.zip | Bin ...evel-import-bis-0.4.0.sol-0.4.1-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.10-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.11-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.12-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.12-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.13-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.13-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.14-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.14-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.15-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.15-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.16-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.16-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.17-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.17-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.18-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.18-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.19-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.19-legacy.zip | Bin ...evel-import-bis-0.4.0.sol-0.4.2-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.20-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.20-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.21-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.21-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.22-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.22-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.23-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.23-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.24-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.24-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.25-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.25-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.4.26-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.4.26-legacy.zip | Bin ...evel-import-bis-0.4.0.sol-0.4.3-legacy.zip | Bin ...evel-import-bis-0.4.0.sol-0.4.4-legacy.zip | Bin ...evel-import-bis-0.4.0.sol-0.4.5-legacy.zip | Bin ...evel-import-bis-0.4.0.sol-0.4.6-legacy.zip | Bin ...evel-import-bis-0.4.0.sol-0.4.7-legacy.zip | Bin ...evel-import-bis-0.4.0.sol-0.4.8-legacy.zip | Bin ...evel-import-bis-0.4.0.sol-0.4.9-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.0-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.5.0-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.1-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.5.1-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.5.10-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.10-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.5.11-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.11-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.5.12-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.12-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.5.13-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.13-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.5.14-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.14-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.5.15-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.15-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.5.16-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.16-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.5.17-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.17-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.2-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.5.2-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.3-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.5.3-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.4-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.5.4-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.5-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.5.5-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.6-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.5.6-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.7-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.5.7-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.8-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.5.8-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.5.9-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.5.9-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.0-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.6.0-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.1-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.6.1-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.6.10-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.10-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.6.11-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.11-legacy.zip | Bin ...el-import-bis-0.4.0.sol-0.6.12-compact.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.12-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.2-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.6.2-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.3-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.6.3-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.4-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.6.4-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.5-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.6.5-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.6-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.6.6-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.7-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.6.7-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.8-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.6.8-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.6.9-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.6.9-legacy.zip | Bin ...vel-import-bis-0.4.0.sol-0.7.0-compact.zip | Bin ...evel-import-bis-0.4.0.sol-0.7.0-legacy.zip | Bin ...vel-import-bis-0.7.1.sol-0.7.1-compact.zip | Bin ...evel-import-bis-0.7.1.sol-0.7.1-legacy.zip | Bin ...vel-import-bis-0.7.1.sol-0.7.2-compact.zip | Bin ...evel-import-bis-0.7.1.sol-0.7.2-legacy.zip | Bin ...vel-import-bis-0.7.1.sol-0.7.3-compact.zip | Bin ...evel-import-bis-0.7.1.sol-0.7.3-legacy.zip | Bin ...vel-import-bis-0.7.1.sol-0.7.4-compact.zip | Bin ...evel-import-bis-0.7.1.sol-0.7.4-legacy.zip | Bin ...vel-import-bis-0.7.1.sol-0.7.5-compact.zip | Bin ...evel-import-bis-0.7.1.sol-0.7.5-legacy.zip | Bin ...vel-import-bis-0.7.1.sol-0.7.6-compact.zip | Bin ...evel-import-bis-0.7.1.sol-0.7.6-legacy.zip | Bin ...vel-import-bis-0.7.1.sol-0.8.0-compact.zip | Bin ...vel-import-bis-0.7.1.sol-0.8.1-compact.zip | Bin ...el-import-bis-0.7.1.sol-0.8.10-compact.zip | Bin ...el-import-bis-0.7.1.sol-0.8.11-compact.zip | Bin ...el-import-bis-0.7.1.sol-0.8.12-compact.zip | Bin ...el-import-bis-0.7.1.sol-0.8.13-compact.zip | Bin ...el-import-bis-0.7.1.sol-0.8.14-compact.zip | Bin ...el-import-bis-0.7.1.sol-0.8.15-compact.zip | Bin ...vel-import-bis-0.7.1.sol-0.8.2-compact.zip | Bin ...vel-import-bis-0.7.1.sol-0.8.3-compact.zip | Bin ...vel-import-bis-0.7.1.sol-0.8.4-compact.zip | Bin ...vel-import-bis-0.7.1.sol-0.8.5-compact.zip | Bin ...vel-import-bis-0.7.1.sol-0.8.6-compact.zip | Bin ...vel-import-bis-0.7.1.sol-0.8.7-compact.zip | Bin ...vel-import-bis-0.7.1.sol-0.8.8-compact.zip | Bin ...vel-import-bis-0.7.1.sol-0.8.9-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.4.0-legacy.zip | Bin ...l-nested-import-0.4.0.sol-0.4.1-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.4.10-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.4.11-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.12-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.12-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.13-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.13-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.14-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.14-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.15-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.15-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.16-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.16-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.17-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.17-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.18-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.18-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.19-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.19-legacy.zip | Bin ...l-nested-import-0.4.0.sol-0.4.2-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.20-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.20-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.21-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.21-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.22-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.22-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.23-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.23-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.24-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.24-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.25-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.25-legacy.zip | Bin ...nested-import-0.4.0.sol-0.4.26-compact.zip | Bin ...-nested-import-0.4.0.sol-0.4.26-legacy.zip | Bin ...l-nested-import-0.4.0.sol-0.4.3-legacy.zip | Bin ...l-nested-import-0.4.0.sol-0.4.4-legacy.zip | Bin ...l-nested-import-0.4.0.sol-0.4.5-legacy.zip | Bin ...l-nested-import-0.4.0.sol-0.4.6-legacy.zip | Bin ...l-nested-import-0.4.0.sol-0.4.7-legacy.zip | Bin ...l-nested-import-0.4.0.sol-0.4.8-legacy.zip | Bin ...l-nested-import-0.4.0.sol-0.4.9-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.5.0-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.5.0-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.5.1-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.5.1-legacy.zip | Bin ...nested-import-0.4.0.sol-0.5.10-compact.zip | Bin ...-nested-import-0.4.0.sol-0.5.10-legacy.zip | Bin ...nested-import-0.4.0.sol-0.5.11-compact.zip | Bin ...-nested-import-0.4.0.sol-0.5.11-legacy.zip | Bin ...nested-import-0.4.0.sol-0.5.12-compact.zip | Bin ...-nested-import-0.4.0.sol-0.5.12-legacy.zip | Bin ...nested-import-0.4.0.sol-0.5.13-compact.zip | Bin ...-nested-import-0.4.0.sol-0.5.13-legacy.zip | Bin ...nested-import-0.4.0.sol-0.5.14-compact.zip | Bin ...-nested-import-0.4.0.sol-0.5.14-legacy.zip | Bin ...nested-import-0.4.0.sol-0.5.15-compact.zip | Bin ...-nested-import-0.4.0.sol-0.5.15-legacy.zip | Bin ...nested-import-0.4.0.sol-0.5.16-compact.zip | Bin ...-nested-import-0.4.0.sol-0.5.16-legacy.zip | Bin ...nested-import-0.4.0.sol-0.5.17-compact.zip | Bin ...-nested-import-0.4.0.sol-0.5.17-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.5.2-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.5.2-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.5.3-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.5.3-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.5.4-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.5.4-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.5.5-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.5.5-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.5.6-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.5.6-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.5.7-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.5.7-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.5.8-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.5.8-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.5.9-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.5.9-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.6.0-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.6.0-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.6.1-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.6.1-legacy.zip | Bin ...nested-import-0.4.0.sol-0.6.10-compact.zip | Bin ...-nested-import-0.4.0.sol-0.6.10-legacy.zip | Bin ...nested-import-0.4.0.sol-0.6.11-compact.zip | Bin ...-nested-import-0.4.0.sol-0.6.11-legacy.zip | Bin ...nested-import-0.4.0.sol-0.6.12-compact.zip | Bin ...-nested-import-0.4.0.sol-0.6.12-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.6.2-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.6.2-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.6.3-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.6.3-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.6.4-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.6.4-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.6.5-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.6.5-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.6.6-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.6.6-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.6.7-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.6.7-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.6.8-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.6.8-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.6.9-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.6.9-legacy.zip | Bin ...-nested-import-0.4.0.sol-0.7.0-compact.zip | Bin ...l-nested-import-0.4.0.sol-0.7.0-legacy.zip | Bin ...-nested-import-0.7.1.sol-0.7.1-compact.zip | Bin ...l-nested-import-0.7.1.sol-0.7.1-legacy.zip | Bin ...-nested-import-0.7.1.sol-0.7.2-compact.zip | Bin ...l-nested-import-0.7.1.sol-0.7.2-legacy.zip | Bin ...-nested-import-0.7.1.sol-0.7.3-compact.zip | Bin ...l-nested-import-0.7.1.sol-0.7.3-legacy.zip | Bin ...-nested-import-0.7.1.sol-0.7.4-compact.zip | Bin ...l-nested-import-0.7.1.sol-0.7.4-legacy.zip | Bin ...-nested-import-0.7.1.sol-0.7.5-compact.zip | Bin ...l-nested-import-0.7.1.sol-0.7.5-legacy.zip | Bin ...-nested-import-0.7.1.sol-0.7.6-compact.zip | Bin ...l-nested-import-0.7.1.sol-0.7.6-legacy.zip | Bin ...-nested-import-0.7.1.sol-0.8.0-compact.zip | Bin ...-nested-import-0.7.1.sol-0.8.1-compact.zip | Bin ...nested-import-0.7.1.sol-0.8.10-compact.zip | Bin ...nested-import-0.7.1.sol-0.8.11-compact.zip | Bin ...nested-import-0.7.1.sol-0.8.12-compact.zip | Bin ...nested-import-0.7.1.sol-0.8.13-compact.zip | Bin ...nested-import-0.7.1.sol-0.8.14-compact.zip | Bin ...nested-import-0.7.1.sol-0.8.15-compact.zip | Bin ...-nested-import-0.7.1.sol-0.8.2-compact.zip | Bin ...-nested-import-0.7.1.sol-0.8.3-compact.zip | Bin ...-nested-import-0.7.1.sol-0.8.4-compact.zip | Bin ...-nested-import-0.7.1.sol-0.8.5-compact.zip | Bin ...-nested-import-0.7.1.sol-0.8.6-compact.zip | Bin ...-nested-import-0.7.1.sol-0.8.7-compact.zip | Bin ...-nested-import-0.7.1.sol-0.8.8-compact.zip | Bin ...-nested-import-0.7.1.sol-0.8.9-compact.zip | Bin ...p-level-struct-0.8.0.sol-0.8.0-compact.zip | Bin ..._level_variable-0.4.0.sol-0.4.0-legacy.zip | Bin ..._level_variable-0.4.0.sol-0.4.1-legacy.zip | Bin ...level_variable-0.4.0.sol-0.4.10-legacy.zip | Bin ...level_variable-0.4.0.sol-0.4.11-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.12-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.12-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.13-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.13-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.14-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.14-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.15-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.15-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.16-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.16-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.17-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.17-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.18-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.18-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.19-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.19-legacy.zip | Bin ..._level_variable-0.4.0.sol-0.4.2-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.20-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.20-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.21-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.21-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.22-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.22-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.23-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.23-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.24-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.24-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.25-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.25-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.4.26-compact.zip | Bin ...level_variable-0.4.0.sol-0.4.26-legacy.zip | Bin ..._level_variable-0.4.0.sol-0.4.3-legacy.zip | Bin ..._level_variable-0.4.0.sol-0.4.4-legacy.zip | Bin ..._level_variable-0.4.0.sol-0.4.5-legacy.zip | Bin ..._level_variable-0.4.0.sol-0.4.6-legacy.zip | Bin ..._level_variable-0.4.0.sol-0.4.7-legacy.zip | Bin ..._level_variable-0.4.0.sol-0.4.8-legacy.zip | Bin ..._level_variable-0.4.0.sol-0.4.9-legacy.zip | Bin ...level_variable-0.4.0.sol-0.5.0-compact.zip | Bin ..._level_variable-0.4.0.sol-0.5.0-legacy.zip | Bin ...level_variable-0.4.0.sol-0.5.1-compact.zip | Bin ..._level_variable-0.4.0.sol-0.5.1-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.5.10-compact.zip | Bin ...level_variable-0.4.0.sol-0.5.10-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.5.11-compact.zip | Bin ...level_variable-0.4.0.sol-0.5.11-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.5.12-compact.zip | Bin ...level_variable-0.4.0.sol-0.5.12-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.5.13-compact.zip | Bin ...level_variable-0.4.0.sol-0.5.13-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.5.14-compact.zip | Bin ...level_variable-0.4.0.sol-0.5.14-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.5.15-compact.zip | Bin ...level_variable-0.4.0.sol-0.5.15-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.5.16-compact.zip | Bin ...level_variable-0.4.0.sol-0.5.16-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.5.17-compact.zip | Bin ...level_variable-0.4.0.sol-0.5.17-legacy.zip | Bin ...level_variable-0.4.0.sol-0.5.2-compact.zip | Bin ..._level_variable-0.4.0.sol-0.5.2-legacy.zip | Bin ...level_variable-0.4.0.sol-0.5.3-compact.zip | Bin ..._level_variable-0.4.0.sol-0.5.3-legacy.zip | Bin ...level_variable-0.4.0.sol-0.5.4-compact.zip | Bin ..._level_variable-0.4.0.sol-0.5.4-legacy.zip | Bin ...level_variable-0.4.0.sol-0.5.5-compact.zip | Bin ..._level_variable-0.4.0.sol-0.5.5-legacy.zip | Bin ...level_variable-0.4.0.sol-0.5.6-compact.zip | Bin ..._level_variable-0.4.0.sol-0.5.6-legacy.zip | Bin ...level_variable-0.4.0.sol-0.5.7-compact.zip | Bin ..._level_variable-0.4.0.sol-0.5.7-legacy.zip | Bin ...level_variable-0.4.0.sol-0.5.8-compact.zip | Bin ..._level_variable-0.4.0.sol-0.5.8-legacy.zip | Bin ...level_variable-0.4.0.sol-0.5.9-compact.zip | Bin ..._level_variable-0.4.0.sol-0.5.9-legacy.zip | Bin ...level_variable-0.4.0.sol-0.6.0-compact.zip | Bin ..._level_variable-0.4.0.sol-0.6.0-legacy.zip | Bin ...level_variable-0.4.0.sol-0.6.1-compact.zip | Bin ..._level_variable-0.4.0.sol-0.6.1-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.6.10-compact.zip | Bin ...level_variable-0.4.0.sol-0.6.10-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.6.11-compact.zip | Bin ...level_variable-0.4.0.sol-0.6.11-legacy.zip | Bin ...evel_variable-0.4.0.sol-0.6.12-compact.zip | Bin ...level_variable-0.4.0.sol-0.6.12-legacy.zip | Bin ...level_variable-0.4.0.sol-0.6.2-compact.zip | Bin ..._level_variable-0.4.0.sol-0.6.2-legacy.zip | Bin ...level_variable-0.4.0.sol-0.6.3-compact.zip | Bin ..._level_variable-0.4.0.sol-0.6.3-legacy.zip | Bin ...level_variable-0.4.0.sol-0.6.4-compact.zip | Bin ..._level_variable-0.4.0.sol-0.6.4-legacy.zip | Bin ...level_variable-0.4.0.sol-0.6.5-compact.zip | Bin ..._level_variable-0.4.0.sol-0.6.5-legacy.zip | Bin ...level_variable-0.4.0.sol-0.6.6-compact.zip | Bin ..._level_variable-0.4.0.sol-0.6.6-legacy.zip | Bin ...level_variable-0.4.0.sol-0.6.7-compact.zip | Bin ..._level_variable-0.4.0.sol-0.6.7-legacy.zip | Bin ...level_variable-0.4.0.sol-0.6.8-compact.zip | Bin ..._level_variable-0.4.0.sol-0.6.8-legacy.zip | Bin ...level_variable-0.4.0.sol-0.6.9-compact.zip | Bin ..._level_variable-0.4.0.sol-0.6.9-legacy.zip | Bin ...level_variable-0.4.0.sol-0.7.0-compact.zip | Bin ..._level_variable-0.4.0.sol-0.7.0-legacy.zip | Bin ...level_variable-0.4.0.sol-0.7.1-compact.zip | Bin ..._level_variable-0.4.0.sol-0.7.1-legacy.zip | Bin ...level_variable-0.4.0.sol-0.7.2-compact.zip | Bin ..._level_variable-0.4.0.sol-0.7.2-legacy.zip | Bin ...level_variable-0.4.0.sol-0.7.3-compact.zip | Bin ..._level_variable-0.4.0.sol-0.7.3-legacy.zip | Bin ...level_variable-0.4.0.sol-0.7.4-compact.zip | Bin ..._level_variable-0.4.0.sol-0.7.4-legacy.zip | Bin ...level_variable-0.4.0.sol-0.7.5-compact.zip | Bin ..._level_variable-0.4.0.sol-0.7.5-legacy.zip | Bin ...level_variable-0.4.0.sol-0.7.6-compact.zip | Bin ..._level_variable-0.4.0.sol-0.7.6-legacy.zip | Bin ...level_variable-0.8.0.sol-0.8.0-compact.zip | Bin ...level_variable-0.8.0.sol-0.8.1-compact.zip | Bin ...evel_variable-0.8.0.sol-0.8.10-compact.zip | Bin ...evel_variable-0.8.0.sol-0.8.11-compact.zip | Bin ...evel_variable-0.8.0.sol-0.8.12-compact.zip | Bin ...evel_variable-0.8.0.sol-0.8.13-compact.zip | Bin ...evel_variable-0.8.0.sol-0.8.14-compact.zip | Bin ...evel_variable-0.8.0.sol-0.8.15-compact.zip | Bin ...level_variable-0.8.0.sol-0.8.2-compact.zip | Bin ...level_variable-0.8.0.sol-0.8.3-compact.zip | Bin ...level_variable-0.8.0.sol-0.8.4-compact.zip | Bin ...level_variable-0.8.0.sol-0.8.5-compact.zip | Bin ...level_variable-0.8.0.sol-0.8.6-compact.zip | Bin ...level_variable-0.8.0.sol-0.8.7-compact.zip | Bin ...level_variable-0.8.0.sol-0.8.8-compact.zip | Bin ...level_variable-0.8.0.sol-0.8.9-compact.zip | Bin ...level_variable2-0.4.0.sol-0.4.0-legacy.zip | Bin ...level_variable2-0.4.0.sol-0.4.1-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.4.10-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.4.11-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.12-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.12-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.13-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.13-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.14-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.14-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.15-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.15-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.16-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.16-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.17-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.17-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.18-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.18-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.19-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.19-legacy.zip | Bin ...level_variable2-0.4.0.sol-0.4.2-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.20-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.20-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.21-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.21-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.22-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.22-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.23-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.23-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.24-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.24-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.25-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.25-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.4.26-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.4.26-legacy.zip | Bin ...level_variable2-0.4.0.sol-0.4.3-legacy.zip | Bin ...level_variable2-0.4.0.sol-0.4.4-legacy.zip | Bin ...level_variable2-0.4.0.sol-0.4.5-legacy.zip | Bin ...level_variable2-0.4.0.sol-0.4.6-legacy.zip | Bin ...level_variable2-0.4.0.sol-0.4.7-legacy.zip | Bin ...level_variable2-0.4.0.sol-0.4.8-legacy.zip | Bin ...level_variable2-0.4.0.sol-0.4.9-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.5.0-compact.zip | Bin ...level_variable2-0.4.0.sol-0.5.0-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.5.1-compact.zip | Bin ...level_variable2-0.4.0.sol-0.5.1-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.5.10-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.5.10-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.5.11-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.5.11-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.5.12-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.5.12-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.5.13-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.5.13-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.5.14-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.5.14-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.5.15-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.5.15-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.5.16-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.5.16-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.5.17-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.5.17-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.5.2-compact.zip | Bin ...level_variable2-0.4.0.sol-0.5.2-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.5.3-compact.zip | Bin ...level_variable2-0.4.0.sol-0.5.3-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.5.4-compact.zip | Bin ...level_variable2-0.4.0.sol-0.5.4-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.5.5-compact.zip | Bin ...level_variable2-0.4.0.sol-0.5.5-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.5.6-compact.zip | Bin ...level_variable2-0.4.0.sol-0.5.6-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.5.7-compact.zip | Bin ...level_variable2-0.4.0.sol-0.5.7-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.5.8-compact.zip | Bin ...level_variable2-0.4.0.sol-0.5.8-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.5.9-compact.zip | Bin ...level_variable2-0.4.0.sol-0.5.9-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.6.0-compact.zip | Bin ...level_variable2-0.4.0.sol-0.6.0-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.6.1-compact.zip | Bin ...level_variable2-0.4.0.sol-0.6.1-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.6.10-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.6.10-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.6.11-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.6.11-legacy.zip | Bin ...vel_variable2-0.4.0.sol-0.6.12-compact.zip | Bin ...evel_variable2-0.4.0.sol-0.6.12-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.6.2-compact.zip | Bin ...level_variable2-0.4.0.sol-0.6.2-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.6.3-compact.zip | Bin ...level_variable2-0.4.0.sol-0.6.3-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.6.4-compact.zip | Bin ...level_variable2-0.4.0.sol-0.6.4-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.6.5-compact.zip | Bin ...level_variable2-0.4.0.sol-0.6.5-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.6.6-compact.zip | Bin ...level_variable2-0.4.0.sol-0.6.6-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.6.7-compact.zip | Bin ...level_variable2-0.4.0.sol-0.6.7-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.6.8-compact.zip | Bin ...level_variable2-0.4.0.sol-0.6.8-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.6.9-compact.zip | Bin ...level_variable2-0.4.0.sol-0.6.9-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.7.0-compact.zip | Bin ...level_variable2-0.4.0.sol-0.7.0-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.7.1-compact.zip | Bin ...level_variable2-0.4.0.sol-0.7.1-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.7.2-compact.zip | Bin ...level_variable2-0.4.0.sol-0.7.2-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.7.3-compact.zip | Bin ...level_variable2-0.4.0.sol-0.7.3-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.7.4-compact.zip | Bin ...level_variable2-0.4.0.sol-0.7.4-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.7.5-compact.zip | Bin ...level_variable2-0.4.0.sol-0.7.5-legacy.zip | Bin ...evel_variable2-0.4.0.sol-0.7.6-compact.zip | Bin ...level_variable2-0.4.0.sol-0.7.6-legacy.zip | Bin ...evel_variable2-0.8.0.sol-0.8.0-compact.zip | Bin ...evel_variable2-0.8.0.sol-0.8.1-compact.zip | Bin ...vel_variable2-0.8.0.sol-0.8.10-compact.zip | Bin ...vel_variable2-0.8.0.sol-0.8.11-compact.zip | Bin ...vel_variable2-0.8.0.sol-0.8.12-compact.zip | Bin ...vel_variable2-0.8.0.sol-0.8.13-compact.zip | Bin ...vel_variable2-0.8.0.sol-0.8.14-compact.zip | Bin ...vel_variable2-0.8.0.sol-0.8.15-compact.zip | Bin ...evel_variable2-0.8.0.sol-0.8.2-compact.zip | Bin ...evel_variable2-0.8.0.sol-0.8.3-compact.zip | Bin ...evel_variable2-0.8.0.sol-0.8.4-compact.zip | Bin ...evel_variable2-0.8.0.sol-0.8.5-compact.zip | Bin ...evel_variable2-0.8.0.sol-0.8.6-compact.zip | Bin ...evel_variable2-0.8.0.sol-0.8.7-compact.zip | Bin ...evel_variable2-0.8.0.sol-0.8.8-compact.zip | Bin ...evel_variable2-0.8.0.sol-0.8.9-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.0-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.1-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.10-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.11-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.12-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.12-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.13-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.13-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.14-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.14-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.15-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.15-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.16-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.16-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.17-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.17-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.18-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.18-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.19-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.19-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.2-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.20-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.20-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.21-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.21-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.22-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.22-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.23-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.23-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.24-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.24-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.25-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.25-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.26-compact.zip | Bin .../trycatch-0.4.0.sol-0.4.26-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.3-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.4-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.5-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.6-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.7-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.8-legacy.zip | Bin .../trycatch-0.4.0.sol-0.4.9-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.0-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.0-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.1-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.1-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.10-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.10-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.11-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.11-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.12-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.12-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.13-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.13-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.14-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.14-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.15-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.15-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.16-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.16-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.17-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.17-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.2-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.2-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.3-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.3-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.4-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.4-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.5-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.5-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.6-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.6-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.7-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.7-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.8-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.8-legacy.zip | Bin .../trycatch-0.4.0.sol-0.5.9-compact.zip | Bin .../trycatch-0.4.0.sol-0.5.9-legacy.zip | Bin .../trycatch-0.6.0.sol-0.6.0-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.1-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.10-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.11-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.12-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.2-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.3-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.4-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.5-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.6-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.7-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.8-compact.zip | Bin .../trycatch-0.6.0.sol-0.6.9-compact.zip | Bin .../trycatch-0.6.0.sol-0.7.0-compact.zip | Bin .../trycatch-0.6.0.sol-0.7.1-compact.zip | Bin .../trycatch-0.6.0.sol-0.7.2-compact.zip | Bin .../trycatch-0.6.0.sol-0.7.3-compact.zip | Bin .../trycatch-0.6.0.sol-0.7.4-compact.zip | Bin .../trycatch-0.6.0.sol-0.7.5-compact.zip | Bin .../trycatch-0.6.0.sol-0.7.6-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.0-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.1-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.10-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.11-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.12-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.13-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.14-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.15-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.2-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.3-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.4-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.5-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.6-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.7-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.8-compact.zip | Bin .../trycatch-0.6.0.sol-0.8.9-compact.zip | Bin ...tupleexpression-0.4.0.sol-0.4.0-legacy.zip | Bin ...tupleexpression-0.4.0.sol-0.4.1-legacy.zip | Bin ...upleexpression-0.4.0.sol-0.4.10-legacy.zip | Bin ...upleexpression-0.4.0.sol-0.4.11-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.12-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.12-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.13-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.13-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.14-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.14-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.15-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.15-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.16-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.16-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.17-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.17-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.18-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.18-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.19-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.19-legacy.zip | Bin ...tupleexpression-0.4.0.sol-0.4.2-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.20-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.20-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.21-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.21-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.22-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.22-legacy.zip | Bin ...pleexpression-0.4.0.sol-0.4.23-compact.zip | Bin ...upleexpression-0.4.0.sol-0.4.23-legacy.zip | Bin ...tupleexpression-0.4.0.sol-0.4.3-legacy.zip | Bin ...tupleexpression-0.4.0.sol-0.4.4-legacy.zip | Bin ...tupleexpression-0.4.0.sol-0.4.5-legacy.zip | Bin ...tupleexpression-0.4.0.sol-0.4.6-legacy.zip | Bin ...tupleexpression-0.4.0.sol-0.4.7-legacy.zip | Bin ...tupleexpression-0.4.0.sol-0.4.8-legacy.zip | Bin ...tupleexpression-0.4.0.sol-0.4.9-legacy.zip | Bin ...leexpression-0.4.24.sol-0.4.24-compact.zip | Bin ...pleexpression-0.4.24.sol-0.4.24-legacy.zip | Bin ...leexpression-0.4.24.sol-0.4.25-compact.zip | Bin ...pleexpression-0.4.24.sol-0.4.25-legacy.zip | Bin ...leexpression-0.4.24.sol-0.4.26-compact.zip | Bin ...pleexpression-0.4.24.sol-0.4.26-legacy.zip | Bin ...pleexpression-0.4.24.sol-0.5.0-compact.zip | Bin ...upleexpression-0.4.24.sol-0.5.0-legacy.zip | Bin ...pleexpression-0.4.24.sol-0.5.1-compact.zip | Bin ...upleexpression-0.4.24.sol-0.5.1-legacy.zip | Bin ...leexpression-0.4.24.sol-0.5.10-compact.zip | Bin ...pleexpression-0.4.24.sol-0.5.10-legacy.zip | Bin ...leexpression-0.4.24.sol-0.5.11-compact.zip | Bin ...pleexpression-0.4.24.sol-0.5.11-legacy.zip | Bin ...leexpression-0.4.24.sol-0.5.12-compact.zip | Bin ...pleexpression-0.4.24.sol-0.5.12-legacy.zip | Bin ...leexpression-0.4.24.sol-0.5.13-compact.zip | Bin ...pleexpression-0.4.24.sol-0.5.13-legacy.zip | Bin ...leexpression-0.4.24.sol-0.5.14-compact.zip | Bin ...pleexpression-0.4.24.sol-0.5.14-legacy.zip | Bin ...leexpression-0.4.24.sol-0.5.15-compact.zip | Bin ...pleexpression-0.4.24.sol-0.5.15-legacy.zip | Bin ...leexpression-0.4.24.sol-0.5.16-compact.zip | Bin ...pleexpression-0.4.24.sol-0.5.16-legacy.zip | Bin ...leexpression-0.4.24.sol-0.5.17-compact.zip | Bin ...pleexpression-0.4.24.sol-0.5.17-legacy.zip | Bin ...pleexpression-0.4.24.sol-0.5.2-compact.zip | Bin ...upleexpression-0.4.24.sol-0.5.2-legacy.zip | Bin ...pleexpression-0.4.24.sol-0.5.3-compact.zip | Bin ...upleexpression-0.4.24.sol-0.5.3-legacy.zip | Bin ...pleexpression-0.4.24.sol-0.5.4-compact.zip | Bin ...upleexpression-0.4.24.sol-0.5.4-legacy.zip | Bin ...pleexpression-0.4.24.sol-0.5.5-compact.zip | Bin ...upleexpression-0.4.24.sol-0.5.5-legacy.zip | Bin ...pleexpression-0.4.24.sol-0.5.6-compact.zip | Bin ...upleexpression-0.4.24.sol-0.5.6-legacy.zip | Bin ...pleexpression-0.4.24.sol-0.5.7-compact.zip | Bin ...upleexpression-0.4.24.sol-0.5.7-legacy.zip | Bin ...pleexpression-0.4.24.sol-0.5.8-compact.zip | Bin ...upleexpression-0.4.24.sol-0.5.8-legacy.zip | Bin ...pleexpression-0.4.24.sol-0.5.9-compact.zip | Bin ...upleexpression-0.4.24.sol-0.5.9-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.5.3-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.5.3-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.5.4-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.5.4-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.5.5-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.5.5-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.5.6-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.5.6-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.5.7-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.5.7-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.5.8-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.5.8-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.5.9-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.5.9-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.6.0-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.6.0-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.6.1-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.6.1-legacy.zip | Bin ...pleexpression-0.5.3.sol-0.6.10-compact.zip | Bin ...upleexpression-0.5.3.sol-0.6.10-legacy.zip | Bin ...pleexpression-0.5.3.sol-0.6.11-compact.zip | Bin ...upleexpression-0.5.3.sol-0.6.11-legacy.zip | Bin ...pleexpression-0.5.3.sol-0.6.12-compact.zip | Bin ...upleexpression-0.5.3.sol-0.6.12-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.6.2-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.6.2-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.6.3-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.6.3-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.6.4-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.6.4-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.6.5-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.6.5-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.6.6-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.6.6-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.6.7-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.6.7-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.6.8-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.6.8-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.6.9-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.6.9-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.7.0-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.7.0-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.7.1-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.7.1-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.7.2-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.7.2-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.7.3-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.7.3-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.7.4-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.7.4-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.7.5-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.7.5-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.7.6-compact.zip | Bin ...tupleexpression-0.5.3.sol-0.7.6-legacy.zip | Bin ...upleexpression-0.5.3.sol-0.8.0-compact.zip | Bin ...upleexpression-0.5.3.sol-0.8.1-compact.zip | Bin ...pleexpression-0.5.3.sol-0.8.10-compact.zip | Bin ...pleexpression-0.5.3.sol-0.8.11-compact.zip | Bin ...pleexpression-0.5.3.sol-0.8.12-compact.zip | Bin ...pleexpression-0.5.3.sol-0.8.13-compact.zip | Bin ...pleexpression-0.5.3.sol-0.8.14-compact.zip | Bin ...pleexpression-0.5.3.sol-0.8.15-compact.zip | Bin ...upleexpression-0.5.3.sol-0.8.2-compact.zip | Bin ...upleexpression-0.5.3.sol-0.8.3-compact.zip | Bin ...upleexpression-0.5.3.sol-0.8.4-compact.zip | Bin ...upleexpression-0.5.3.sol-0.8.5-compact.zip | Bin ...upleexpression-0.5.3.sol-0.8.6-compact.zip | Bin ...upleexpression-0.5.3.sol-0.8.7-compact.zip | Bin ...upleexpression-0.5.3.sol-0.8.8-compact.zip | Bin ...upleexpression-0.5.3.sol-0.8.9-compact.zip | Bin ...unaryexpression-0.4.0.sol-0.4.0-legacy.zip | Bin ...unaryexpression-0.4.0.sol-0.4.1-legacy.zip | Bin ...naryexpression-0.4.0.sol-0.4.10-legacy.zip | Bin ...naryexpression-0.4.0.sol-0.4.11-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.12-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.12-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.13-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.13-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.14-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.14-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.15-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.15-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.16-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.16-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.17-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.17-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.18-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.18-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.19-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.19-legacy.zip | Bin ...unaryexpression-0.4.0.sol-0.4.2-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.20-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.20-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.21-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.21-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.22-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.22-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.23-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.23-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.24-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.24-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.25-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.25-legacy.zip | Bin ...aryexpression-0.4.0.sol-0.4.26-compact.zip | Bin ...naryexpression-0.4.0.sol-0.4.26-legacy.zip | Bin ...unaryexpression-0.4.0.sol-0.4.3-legacy.zip | Bin ...unaryexpression-0.4.0.sol-0.4.4-legacy.zip | Bin ...unaryexpression-0.4.0.sol-0.4.5-legacy.zip | Bin ...unaryexpression-0.4.0.sol-0.4.6-legacy.zip | Bin ...unaryexpression-0.4.0.sol-0.4.7-legacy.zip | Bin ...unaryexpression-0.4.0.sol-0.4.8-legacy.zip | Bin ...unaryexpression-0.4.0.sol-0.4.9-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.5.0-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.5.0-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.5.1-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.5.1-legacy.zip | Bin ...aryexpression-0.5.0.sol-0.5.10-compact.zip | Bin ...naryexpression-0.5.0.sol-0.5.10-legacy.zip | Bin ...aryexpression-0.5.0.sol-0.5.11-compact.zip | Bin ...naryexpression-0.5.0.sol-0.5.11-legacy.zip | Bin ...aryexpression-0.5.0.sol-0.5.12-compact.zip | Bin ...naryexpression-0.5.0.sol-0.5.12-legacy.zip | Bin ...aryexpression-0.5.0.sol-0.5.13-compact.zip | Bin ...naryexpression-0.5.0.sol-0.5.13-legacy.zip | Bin ...aryexpression-0.5.0.sol-0.5.14-compact.zip | Bin ...naryexpression-0.5.0.sol-0.5.14-legacy.zip | Bin ...aryexpression-0.5.0.sol-0.5.15-compact.zip | Bin ...naryexpression-0.5.0.sol-0.5.15-legacy.zip | Bin ...aryexpression-0.5.0.sol-0.5.16-compact.zip | Bin ...naryexpression-0.5.0.sol-0.5.16-legacy.zip | Bin ...aryexpression-0.5.0.sol-0.5.17-compact.zip | Bin ...naryexpression-0.5.0.sol-0.5.17-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.5.2-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.5.2-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.5.3-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.5.3-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.5.4-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.5.4-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.5.5-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.5.5-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.5.6-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.5.6-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.5.7-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.5.7-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.5.8-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.5.8-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.5.9-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.5.9-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.6.0-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.6.0-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.6.1-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.6.1-legacy.zip | Bin ...aryexpression-0.5.0.sol-0.6.10-compact.zip | Bin ...naryexpression-0.5.0.sol-0.6.10-legacy.zip | Bin ...aryexpression-0.5.0.sol-0.6.11-compact.zip | Bin ...naryexpression-0.5.0.sol-0.6.11-legacy.zip | Bin ...aryexpression-0.5.0.sol-0.6.12-compact.zip | Bin ...naryexpression-0.5.0.sol-0.6.12-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.6.2-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.6.2-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.6.3-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.6.3-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.6.4-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.6.4-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.6.5-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.6.5-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.6.6-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.6.6-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.6.7-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.6.7-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.6.8-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.6.8-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.6.9-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.6.9-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.7.0-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.7.0-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.7.1-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.7.1-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.7.2-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.7.2-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.7.3-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.7.3-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.7.4-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.7.4-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.7.5-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.7.5-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.7.6-compact.zip | Bin ...unaryexpression-0.5.0.sol-0.7.6-legacy.zip | Bin ...naryexpression-0.5.0.sol-0.8.0-compact.zip | Bin ...naryexpression-0.5.0.sol-0.8.1-compact.zip | Bin ...aryexpression-0.5.0.sol-0.8.10-compact.zip | Bin ...aryexpression-0.5.0.sol-0.8.11-compact.zip | Bin ...aryexpression-0.5.0.sol-0.8.12-compact.zip | Bin ...aryexpression-0.5.0.sol-0.8.13-compact.zip | Bin ...aryexpression-0.5.0.sol-0.8.14-compact.zip | Bin ...aryexpression-0.5.0.sol-0.8.15-compact.zip | Bin ...naryexpression-0.5.0.sol-0.8.2-compact.zip | Bin ...naryexpression-0.5.0.sol-0.8.3-compact.zip | Bin ...naryexpression-0.5.0.sol-0.8.4-compact.zip | Bin ...naryexpression-0.5.0.sol-0.8.5-compact.zip | Bin ...naryexpression-0.5.0.sol-0.8.6-compact.zip | Bin ...naryexpression-0.5.0.sol-0.8.7-compact.zip | Bin ...naryexpression-0.5.0.sol-0.8.8-compact.zip | Bin ...naryexpression-0.5.0.sol-0.8.9-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.0-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.1-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.10-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.11-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.12-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.12-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.13-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.13-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.14-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.14-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.15-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.15-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.16-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.16-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.17-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.17-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.18-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.18-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.19-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.19-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.2-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.20-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.20-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.21-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.21-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.22-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.22-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.23-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.23-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.24-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.24-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.25-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.25-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.26-compact.zip | Bin .../unchecked-0.4.0.sol-0.4.26-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.3-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.4-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.5-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.6-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.7-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.8-legacy.zip | Bin .../unchecked-0.4.0.sol-0.4.9-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.0-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.0-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.1-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.1-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.10-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.10-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.11-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.11-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.12-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.12-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.13-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.13-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.14-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.14-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.15-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.15-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.16-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.16-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.17-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.17-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.2-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.2-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.3-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.3-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.4-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.4-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.5-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.5-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.6-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.6-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.7-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.7-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.8-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.8-legacy.zip | Bin .../unchecked-0.4.0.sol-0.5.9-compact.zip | Bin .../unchecked-0.4.0.sol-0.5.9-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.0-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.0-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.1-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.1-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.10-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.10-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.11-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.11-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.12-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.12-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.2-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.2-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.3-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.3-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.4-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.4-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.5-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.5-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.6-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.6-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.7-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.7-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.8-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.8-legacy.zip | Bin .../unchecked-0.4.0.sol-0.6.9-compact.zip | Bin .../unchecked-0.4.0.sol-0.6.9-legacy.zip | Bin .../unchecked-0.4.0.sol-0.7.0-compact.zip | Bin .../unchecked-0.4.0.sol-0.7.0-legacy.zip | Bin .../unchecked-0.4.0.sol-0.7.1-compact.zip | Bin .../unchecked-0.4.0.sol-0.7.1-legacy.zip | Bin .../unchecked-0.4.0.sol-0.7.2-compact.zip | Bin .../unchecked-0.4.0.sol-0.7.2-legacy.zip | Bin .../unchecked-0.4.0.sol-0.7.3-compact.zip | Bin .../unchecked-0.4.0.sol-0.7.3-legacy.zip | Bin .../unchecked-0.4.0.sol-0.7.4-compact.zip | Bin .../unchecked-0.4.0.sol-0.7.4-legacy.zip | Bin .../unchecked-0.4.0.sol-0.7.5-compact.zip | Bin .../unchecked-0.4.0.sol-0.7.5-legacy.zip | Bin .../unchecked-0.4.0.sol-0.7.6-compact.zip | Bin .../unchecked-0.4.0.sol-0.7.6-legacy.zip | Bin .../unchecked-0.8.0.sol-0.8.0-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.1-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.10-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.11-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.12-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.13-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.14-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.15-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.2-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.3-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.4-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.5-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.6-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.7-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.8-compact.zip | Bin .../unchecked-0.8.0.sol-0.8.9-compact.zip | Bin ...lobal_variables-0.4.0.sol-0.4.0-legacy.zip | Bin ...lobal_variables-0.4.0.sol-0.4.1-legacy.zip | Bin ...obal_variables-0.4.0.sol-0.4.10-legacy.zip | Bin ...obal_variables-0.4.0.sol-0.4.11-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.12-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.12-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.13-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.13-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.14-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.14-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.15-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.15-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.16-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.16-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.17-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.17-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.18-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.18-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.19-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.19-legacy.zip | Bin ...lobal_variables-0.4.0.sol-0.4.2-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.20-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.20-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.21-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.21-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.22-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.22-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.23-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.23-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.24-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.24-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.25-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.25-legacy.zip | Bin ...bal_variables-0.4.0.sol-0.4.26-compact.zip | Bin ...obal_variables-0.4.0.sol-0.4.26-legacy.zip | Bin ...lobal_variables-0.4.0.sol-0.4.3-legacy.zip | Bin ...lobal_variables-0.4.0.sol-0.4.4-legacy.zip | Bin ...lobal_variables-0.4.0.sol-0.4.5-legacy.zip | Bin ...lobal_variables-0.4.0.sol-0.4.6-legacy.zip | Bin ...lobal_variables-0.4.0.sol-0.4.7-legacy.zip | Bin ...lobal_variables-0.4.0.sol-0.4.8-legacy.zip | Bin ...lobal_variables-0.4.0.sol-0.4.9-legacy.zip | Bin ...obal_variables-0.5.0.sol-0.5.0-compact.zip | Bin ...lobal_variables-0.5.0.sol-0.5.0-legacy.zip | Bin ...obal_variables-0.5.0.sol-0.5.1-compact.zip | Bin ...lobal_variables-0.5.0.sol-0.5.1-legacy.zip | Bin ...obal_variables-0.5.0.sol-0.5.2-compact.zip | Bin ...lobal_variables-0.5.0.sol-0.5.2-legacy.zip | Bin ...obal_variables-0.5.0.sol-0.5.3-compact.zip | Bin ...lobal_variables-0.5.0.sol-0.5.3-legacy.zip | Bin ...bal_variables-0.5.4.sol-0.5.10-compact.zip | Bin ...obal_variables-0.5.4.sol-0.5.10-legacy.zip | Bin ...bal_variables-0.5.4.sol-0.5.11-compact.zip | Bin ...obal_variables-0.5.4.sol-0.5.11-legacy.zip | Bin ...bal_variables-0.5.4.sol-0.5.12-compact.zip | Bin ...obal_variables-0.5.4.sol-0.5.12-legacy.zip | Bin ...bal_variables-0.5.4.sol-0.5.13-compact.zip | Bin ...obal_variables-0.5.4.sol-0.5.13-legacy.zip | Bin ...bal_variables-0.5.4.sol-0.5.14-compact.zip | Bin ...obal_variables-0.5.4.sol-0.5.14-legacy.zip | Bin ...bal_variables-0.5.4.sol-0.5.15-compact.zip | Bin ...obal_variables-0.5.4.sol-0.5.15-legacy.zip | Bin ...bal_variables-0.5.4.sol-0.5.16-compact.zip | Bin ...obal_variables-0.5.4.sol-0.5.16-legacy.zip | Bin ...bal_variables-0.5.4.sol-0.5.17-compact.zip | Bin ...obal_variables-0.5.4.sol-0.5.17-legacy.zip | Bin ...obal_variables-0.5.4.sol-0.5.4-compact.zip | Bin ...lobal_variables-0.5.4.sol-0.5.4-legacy.zip | Bin ...obal_variables-0.5.4.sol-0.5.5-compact.zip | Bin ...lobal_variables-0.5.4.sol-0.5.5-legacy.zip | Bin ...obal_variables-0.5.4.sol-0.5.6-compact.zip | Bin ...lobal_variables-0.5.4.sol-0.5.6-legacy.zip | Bin ...obal_variables-0.5.4.sol-0.5.7-compact.zip | Bin ...lobal_variables-0.5.4.sol-0.5.7-legacy.zip | Bin ...obal_variables-0.5.4.sol-0.5.8-compact.zip | Bin ...lobal_variables-0.5.4.sol-0.5.8-legacy.zip | Bin ...obal_variables-0.5.4.sol-0.5.9-compact.zip | Bin ...lobal_variables-0.5.4.sol-0.5.9-legacy.zip | Bin ...obal_variables-0.6.0.sol-0.6.0-compact.zip | Bin ...lobal_variables-0.6.0.sol-0.6.0-legacy.zip | Bin ...obal_variables-0.6.0.sol-0.6.1-compact.zip | Bin ...lobal_variables-0.6.0.sol-0.6.1-legacy.zip | Bin ...bal_variables-0.6.0.sol-0.6.10-compact.zip | Bin ...obal_variables-0.6.0.sol-0.6.10-legacy.zip | Bin ...bal_variables-0.6.0.sol-0.6.11-compact.zip | Bin ...obal_variables-0.6.0.sol-0.6.11-legacy.zip | Bin ...bal_variables-0.6.0.sol-0.6.12-compact.zip | Bin ...obal_variables-0.6.0.sol-0.6.12-legacy.zip | Bin ...obal_variables-0.6.0.sol-0.6.2-compact.zip | Bin ...lobal_variables-0.6.0.sol-0.6.2-legacy.zip | Bin ...obal_variables-0.6.0.sol-0.6.3-compact.zip | Bin ...lobal_variables-0.6.0.sol-0.6.3-legacy.zip | Bin ...obal_variables-0.6.0.sol-0.6.4-compact.zip | Bin ...lobal_variables-0.6.0.sol-0.6.4-legacy.zip | Bin ...obal_variables-0.6.0.sol-0.6.5-compact.zip | Bin ...lobal_variables-0.6.0.sol-0.6.5-legacy.zip | Bin ...obal_variables-0.6.0.sol-0.6.6-compact.zip | Bin ...lobal_variables-0.6.0.sol-0.6.6-legacy.zip | Bin ...obal_variables-0.6.0.sol-0.6.7-compact.zip | Bin ...lobal_variables-0.6.0.sol-0.6.7-legacy.zip | Bin ...obal_variables-0.6.0.sol-0.6.8-compact.zip | Bin ...lobal_variables-0.6.0.sol-0.6.8-legacy.zip | Bin ...obal_variables-0.6.0.sol-0.6.9-compact.zip | Bin ...lobal_variables-0.6.0.sol-0.6.9-legacy.zip | Bin ...obal_variables-0.7.0.sol-0.7.0-compact.zip | Bin ...lobal_variables-0.7.0.sol-0.7.0-legacy.zip | Bin ...obal_variables-0.7.0.sol-0.7.1-compact.zip | Bin ...lobal_variables-0.7.0.sol-0.7.1-legacy.zip | Bin ...obal_variables-0.7.0.sol-0.7.2-compact.zip | Bin ...lobal_variables-0.7.0.sol-0.7.2-legacy.zip | Bin ...obal_variables-0.7.0.sol-0.7.3-compact.zip | Bin ...lobal_variables-0.7.0.sol-0.7.3-legacy.zip | Bin ...obal_variables-0.7.0.sol-0.7.4-compact.zip | Bin ...lobal_variables-0.7.0.sol-0.7.4-legacy.zip | Bin ...obal_variables-0.7.0.sol-0.7.5-compact.zip | Bin ...lobal_variables-0.7.0.sol-0.7.5-legacy.zip | Bin ...obal_variables-0.7.0.sol-0.7.6-compact.zip | Bin ...lobal_variables-0.7.0.sol-0.7.6-legacy.zip | Bin ...obal_variables-0.8.0.sol-0.8.0-compact.zip | Bin ...obal_variables-0.8.0.sol-0.8.1-compact.zip | Bin ...bal_variables-0.8.0.sol-0.8.10-compact.zip | Bin ...bal_variables-0.8.0.sol-0.8.11-compact.zip | Bin ...bal_variables-0.8.0.sol-0.8.12-compact.zip | Bin ...bal_variables-0.8.0.sol-0.8.13-compact.zip | Bin ...bal_variables-0.8.0.sol-0.8.14-compact.zip | Bin ...bal_variables-0.8.0.sol-0.8.15-compact.zip | Bin ...obal_variables-0.8.0.sol-0.8.2-compact.zip | Bin ...obal_variables-0.8.0.sol-0.8.3-compact.zip | Bin ...obal_variables-0.8.0.sol-0.8.4-compact.zip | Bin ...obal_variables-0.8.0.sol-0.8.5-compact.zip | Bin ...obal_variables-0.8.0.sol-0.8.6-compact.zip | Bin ...obal_variables-0.8.0.sol-0.8.7-compact.zip | Bin ...obal_variables-0.8.0.sol-0.8.8-compact.zip | Bin ...obal_variables-0.8.0.sol-0.8.9-compact.zip | Bin ...obal_variables-0.8.4.sol-0.8.4-compact.zip | Bin ...obal_variables-0.8.4.sol-0.8.5-compact.zip | Bin ...obal_variables-0.8.4.sol-0.8.6-compact.zip | Bin ...obal_variables-0.8.7.sol-0.8.7-compact.zip | Bin ...obal_variables-0.8.7.sol-0.8.8-compact.zip | Bin ...obal_variables-0.8.7.sol-0.8.9-compact.zip | Bin .../argument-0.8.8.sol-0.8.10-compact.zip | Bin .../argument-0.8.8.sol-0.8.11-compact.zip | Bin .../argument-0.8.8.sol-0.8.12-compact.zip | Bin .../argument-0.8.8.sol-0.8.13-compact.zip | Bin .../argument-0.8.8.sol-0.8.14-compact.zip | Bin .../argument-0.8.8.sol-0.8.15-compact.zip | Bin .../argument-0.8.8.sol-0.8.8-compact.zip | Bin .../calldata-0.8.8.sol-0.8.10-compact.zip | Bin .../calldata-0.8.8.sol-0.8.11-compact.zip | Bin .../calldata-0.8.8.sol-0.8.12-compact.zip | Bin .../calldata-0.8.8.sol-0.8.13-compact.zip | Bin .../calldata-0.8.8.sol-0.8.14-compact.zip | Bin .../calldata-0.8.8.sol-0.8.15-compact.zip | Bin .../calldata-0.8.8.sol-0.8.8-compact.zip | Bin .../constant-0.8.8.sol-0.8.10-compact.zip | Bin .../constant-0.8.8.sol-0.8.11-compact.zip | Bin .../constant-0.8.8.sol-0.8.12-compact.zip | Bin .../constant-0.8.8.sol-0.8.13-compact.zip | Bin .../constant-0.8.8.sol-0.8.14-compact.zip | Bin .../constant-0.8.8.sol-0.8.15-compact.zip | Bin .../constant-0.8.8.sol-0.8.8-compact.zip | Bin .../erc20-0.8.8.sol-0.8.10-compact.zip | Bin .../erc20-0.8.8.sol-0.8.11-compact.zip | Bin .../erc20-0.8.8.sol-0.8.12-compact.zip | Bin .../erc20-0.8.8.sol-0.8.13-compact.zip | Bin .../erc20-0.8.8.sol-0.8.14-compact.zip | Bin .../erc20-0.8.8.sol-0.8.15-compact.zip | Bin .../erc20-0.8.8.sol-0.8.8-compact.zip | Bin ...n_parenthesis-0.8.8.sol-0.8.10-compact.zip | Bin ...n_parenthesis-0.8.8.sol-0.8.11-compact.zip | Bin ...n_parenthesis-0.8.8.sol-0.8.12-compact.zip | Bin ...n_parenthesis-0.8.8.sol-0.8.13-compact.zip | Bin ...n_parenthesis-0.8.8.sol-0.8.14-compact.zip | Bin ...n_parenthesis-0.8.8.sol-0.8.15-compact.zip | Bin ...in_parenthesis-0.8.8.sol-0.8.8-compact.zip | Bin .../top-level-0.8.8.sol-0.8.10-compact.zip | Bin .../top-level-0.8.8.sol-0.8.11-compact.zip | Bin .../top-level-0.8.8.sol-0.8.12-compact.zip | Bin .../top-level-0.8.8.sol-0.8.13-compact.zip | Bin .../top-level-0.8.8.sol-0.8.14-compact.zip | Bin .../top-level-0.8.8.sol-0.8.15-compact.zip | Bin .../top-level-0.8.8.sol-0.8.8-compact.zip | Bin ...defined_types-0.8.8.sol-0.8.10-compact.zip | Bin ...defined_types-0.8.8.sol-0.8.11-compact.zip | Bin ...defined_types-0.8.8.sol-0.8.12-compact.zip | Bin ...defined_types-0.8.8.sol-0.8.13-compact.zip | Bin ...defined_types-0.8.8.sol-0.8.14-compact.zip | Bin ...defined_types-0.8.8.sol-0.8.15-compact.zip | Bin ..._defined_types-0.8.8.sol-0.8.8-compact.zip | Bin .../using-for-0.8.8.sol-0.8.10-compact.zip | Bin .../using-for-0.8.8.sol-0.8.11-compact.zip | Bin .../using-for-0.8.8.sol-0.8.12-compact.zip | Bin .../using-for-0.8.8.sol-0.8.13-compact.zip | Bin .../using-for-0.8.8.sol-0.8.14-compact.zip | Bin .../using-for-0.8.8.sol-0.8.15-compact.zip | Bin .../using-for-0.8.8.sol-0.8.8-compact.zip | Bin .../using-for-0.4.0.sol-0.4.0-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.1-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.10-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.11-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.12-compact.zip | Bin .../using-for-0.4.1.sol-0.4.12-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.13-compact.zip | Bin .../using-for-0.4.1.sol-0.4.13-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.14-compact.zip | Bin .../using-for-0.4.1.sol-0.4.14-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.15-compact.zip | Bin .../using-for-0.4.1.sol-0.4.15-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.16-compact.zip | Bin .../using-for-0.4.1.sol-0.4.16-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.17-compact.zip | Bin .../using-for-0.4.1.sol-0.4.17-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.18-compact.zip | Bin .../using-for-0.4.1.sol-0.4.18-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.19-compact.zip | Bin .../using-for-0.4.1.sol-0.4.19-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.2-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.20-compact.zip | Bin .../using-for-0.4.1.sol-0.4.20-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.21-compact.zip | Bin .../using-for-0.4.1.sol-0.4.21-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.22-compact.zip | Bin .../using-for-0.4.1.sol-0.4.22-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.23-compact.zip | Bin .../using-for-0.4.1.sol-0.4.23-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.24-compact.zip | Bin .../using-for-0.4.1.sol-0.4.24-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.25-compact.zip | Bin .../using-for-0.4.1.sol-0.4.25-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.26-compact.zip | Bin .../using-for-0.4.1.sol-0.4.26-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.3-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.4-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.5-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.6-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.7-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.8-legacy.zip | Bin .../using-for-0.4.1.sol-0.4.9-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.0-compact.zip | Bin .../using-for-0.4.1.sol-0.5.0-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.1-compact.zip | Bin .../using-for-0.4.1.sol-0.5.1-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.10-compact.zip | Bin .../using-for-0.4.1.sol-0.5.10-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.11-compact.zip | Bin .../using-for-0.4.1.sol-0.5.11-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.12-compact.zip | Bin .../using-for-0.4.1.sol-0.5.12-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.13-compact.zip | Bin .../using-for-0.4.1.sol-0.5.13-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.14-compact.zip | Bin .../using-for-0.4.1.sol-0.5.14-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.15-compact.zip | Bin .../using-for-0.4.1.sol-0.5.15-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.16-compact.zip | Bin .../using-for-0.4.1.sol-0.5.16-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.17-compact.zip | Bin .../using-for-0.4.1.sol-0.5.17-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.2-compact.zip | Bin .../using-for-0.4.1.sol-0.5.2-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.3-compact.zip | Bin .../using-for-0.4.1.sol-0.5.3-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.4-compact.zip | Bin .../using-for-0.4.1.sol-0.5.4-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.5-compact.zip | Bin .../using-for-0.4.1.sol-0.5.5-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.6-compact.zip | Bin .../using-for-0.4.1.sol-0.5.6-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.7-compact.zip | Bin .../using-for-0.4.1.sol-0.5.7-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.8-compact.zip | Bin .../using-for-0.4.1.sol-0.5.8-legacy.zip | Bin .../using-for-0.4.1.sol-0.5.9-compact.zip | Bin .../using-for-0.4.1.sol-0.5.9-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.0-compact.zip | Bin .../using-for-0.4.1.sol-0.6.0-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.1-compact.zip | Bin .../using-for-0.4.1.sol-0.6.1-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.10-compact.zip | Bin .../using-for-0.4.1.sol-0.6.10-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.11-compact.zip | Bin .../using-for-0.4.1.sol-0.6.11-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.12-compact.zip | Bin .../using-for-0.4.1.sol-0.6.12-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.2-compact.zip | Bin .../using-for-0.4.1.sol-0.6.2-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.3-compact.zip | Bin .../using-for-0.4.1.sol-0.6.3-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.4-compact.zip | Bin .../using-for-0.4.1.sol-0.6.4-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.5-compact.zip | Bin .../using-for-0.4.1.sol-0.6.5-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.6-compact.zip | Bin .../using-for-0.4.1.sol-0.6.6-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.7-compact.zip | Bin .../using-for-0.4.1.sol-0.6.7-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.8-compact.zip | Bin .../using-for-0.4.1.sol-0.6.8-legacy.zip | Bin .../using-for-0.4.1.sol-0.6.9-compact.zip | Bin .../using-for-0.4.1.sol-0.6.9-legacy.zip | Bin .../using-for-0.4.1.sol-0.7.0-compact.zip | Bin .../using-for-0.4.1.sol-0.7.0-legacy.zip | Bin .../using-for-0.4.1.sol-0.7.1-compact.zip | Bin .../using-for-0.4.1.sol-0.7.1-legacy.zip | Bin .../using-for-0.4.1.sol-0.7.2-compact.zip | Bin .../using-for-0.4.1.sol-0.7.2-legacy.zip | Bin .../using-for-0.4.1.sol-0.7.3-compact.zip | Bin .../using-for-0.4.1.sol-0.7.3-legacy.zip | Bin .../using-for-0.4.1.sol-0.7.4-compact.zip | Bin .../using-for-0.4.1.sol-0.7.4-legacy.zip | Bin .../using-for-0.4.1.sol-0.7.5-compact.zip | Bin .../using-for-0.4.1.sol-0.7.5-legacy.zip | Bin .../using-for-0.4.1.sol-0.7.6-compact.zip | Bin .../using-for-0.4.1.sol-0.7.6-legacy.zip | Bin .../using-for-0.4.1.sol-0.8.0-compact.zip | Bin .../using-for-0.4.1.sol-0.8.1-compact.zip | Bin .../using-for-0.4.1.sol-0.8.10-compact.zip | Bin .../using-for-0.4.1.sol-0.8.11-compact.zip | Bin .../using-for-0.4.1.sol-0.8.12-compact.zip | Bin .../using-for-0.4.1.sol-0.8.13-compact.zip | Bin .../using-for-0.4.1.sol-0.8.14-compact.zip | Bin .../using-for-0.4.1.sol-0.8.15-compact.zip | Bin .../using-for-0.4.1.sol-0.8.2-compact.zip | Bin .../using-for-0.4.1.sol-0.8.3-compact.zip | Bin .../using-for-0.4.1.sol-0.8.4-compact.zip | Bin .../using-for-0.4.1.sol-0.8.5-compact.zip | Bin .../using-for-0.4.1.sol-0.8.6-compact.zip | Bin .../using-for-0.4.1.sol-0.8.7-compact.zip | Bin .../using-for-0.4.1.sol-0.8.8-compact.zip | Bin .../using-for-0.4.1.sol-0.8.9-compact.zip | Bin .../using-for-1-0.8.0.sol-0.8.15-compact.zip | Bin .../using-for-2-0.8.0.sol-0.8.15-compact.zip | Bin .../using-for-3-0.8.0.sol-0.8.15-compact.zip | Bin .../using-for-4-0.8.0.sol-0.8.15-compact.zip | Bin ...lias-contract-0.8.0.sol-0.8.15-compact.zip | Bin ...ias-top-level-0.8.0.sol-0.8.15-compact.zip | Bin ...ctions-list-1-0.8.0.sol-0.8.15-compact.zip | Bin ...ctions-list-2-0.8.0.sol-0.8.15-compact.zip | Bin ...ctions-list-3-0.8.0.sol-0.8.15-compact.zip | Bin ...ctions-list-4-0.8.0.sol-0.8.15-compact.zip | Bin ...ng-for-global-0.8.0.sol-0.8.15-compact.zip | Bin ...or-in-library-0.8.0.sol-0.8.15-compact.zip | Bin .../variable-0.4.0.sol-0.4.0-legacy.zip | Bin .../variable-0.4.0.sol-0.4.1-legacy.zip | Bin .../variable-0.4.0.sol-0.4.10-legacy.zip | Bin .../variable-0.4.0.sol-0.4.11-legacy.zip | Bin .../variable-0.4.0.sol-0.4.12-compact.zip | Bin .../variable-0.4.0.sol-0.4.12-legacy.zip | Bin .../variable-0.4.0.sol-0.4.13-compact.zip | Bin .../variable-0.4.0.sol-0.4.13-legacy.zip | Bin .../variable-0.4.0.sol-0.4.14-compact.zip | Bin .../variable-0.4.0.sol-0.4.14-legacy.zip | Bin .../variable-0.4.0.sol-0.4.15-compact.zip | Bin .../variable-0.4.0.sol-0.4.15-legacy.zip | Bin .../variable-0.4.0.sol-0.4.16-compact.zip | Bin .../variable-0.4.0.sol-0.4.16-legacy.zip | Bin .../variable-0.4.0.sol-0.4.17-compact.zip | Bin .../variable-0.4.0.sol-0.4.17-legacy.zip | Bin .../variable-0.4.0.sol-0.4.18-compact.zip | Bin .../variable-0.4.0.sol-0.4.18-legacy.zip | Bin .../variable-0.4.0.sol-0.4.19-compact.zip | Bin .../variable-0.4.0.sol-0.4.19-legacy.zip | Bin .../variable-0.4.0.sol-0.4.2-legacy.zip | Bin .../variable-0.4.0.sol-0.4.20-compact.zip | Bin .../variable-0.4.0.sol-0.4.20-legacy.zip | Bin .../variable-0.4.0.sol-0.4.21-compact.zip | Bin .../variable-0.4.0.sol-0.4.21-legacy.zip | Bin .../variable-0.4.0.sol-0.4.22-compact.zip | Bin .../variable-0.4.0.sol-0.4.22-legacy.zip | Bin .../variable-0.4.0.sol-0.4.23-compact.zip | Bin .../variable-0.4.0.sol-0.4.23-legacy.zip | Bin .../variable-0.4.0.sol-0.4.24-compact.zip | Bin .../variable-0.4.0.sol-0.4.24-legacy.zip | Bin .../variable-0.4.0.sol-0.4.25-compact.zip | Bin .../variable-0.4.0.sol-0.4.25-legacy.zip | Bin .../variable-0.4.0.sol-0.4.26-compact.zip | Bin .../variable-0.4.0.sol-0.4.26-legacy.zip | Bin .../variable-0.4.0.sol-0.4.3-legacy.zip | Bin .../variable-0.4.0.sol-0.4.4-legacy.zip | Bin .../variable-0.4.0.sol-0.4.5-legacy.zip | Bin .../variable-0.4.0.sol-0.4.6-legacy.zip | Bin .../variable-0.4.0.sol-0.4.7-legacy.zip | Bin .../variable-0.4.0.sol-0.4.8-legacy.zip | Bin .../variable-0.4.0.sol-0.4.9-legacy.zip | Bin .../variable-0.4.14.sol-0.4.14-compact.zip | Bin .../variable-0.4.14.sol-0.4.14-legacy.zip | Bin .../variable-0.4.14.sol-0.4.15-compact.zip | Bin .../variable-0.4.14.sol-0.4.15-legacy.zip | Bin .../variable-0.4.16.sol-0.4.16-compact.zip | Bin .../variable-0.4.16.sol-0.4.16-legacy.zip | Bin .../variable-0.4.16.sol-0.4.17-compact.zip | Bin .../variable-0.4.16.sol-0.4.17-legacy.zip | Bin .../variable-0.4.16.sol-0.4.18-compact.zip | Bin .../variable-0.4.16.sol-0.4.18-legacy.zip | Bin .../variable-0.4.16.sol-0.4.19-compact.zip | Bin .../variable-0.4.16.sol-0.4.19-legacy.zip | Bin .../variable-0.4.16.sol-0.4.20-compact.zip | Bin .../variable-0.4.16.sol-0.4.20-legacy.zip | Bin .../variable-0.4.16.sol-0.4.21-compact.zip | Bin .../variable-0.4.16.sol-0.4.21-legacy.zip | Bin .../variable-0.4.16.sol-0.4.22-compact.zip | Bin .../variable-0.4.16.sol-0.4.22-legacy.zip | Bin .../variable-0.4.16.sol-0.4.23-compact.zip | Bin .../variable-0.4.16.sol-0.4.23-legacy.zip | Bin .../variable-0.4.16.sol-0.4.24-compact.zip | Bin .../variable-0.4.16.sol-0.4.24-legacy.zip | Bin .../variable-0.4.16.sol-0.4.25-compact.zip | Bin .../variable-0.4.16.sol-0.4.25-legacy.zip | Bin .../variable-0.4.16.sol-0.4.26-compact.zip | Bin .../variable-0.4.16.sol-0.4.26-legacy.zip | Bin .../variable-0.4.5.sol-0.4.10-legacy.zip | Bin .../variable-0.4.5.sol-0.4.11-legacy.zip | Bin .../variable-0.4.5.sol-0.4.12-compact.zip | Bin .../variable-0.4.5.sol-0.4.12-legacy.zip | Bin .../variable-0.4.5.sol-0.4.13-compact.zip | Bin .../variable-0.4.5.sol-0.4.13-legacy.zip | Bin .../variable-0.4.5.sol-0.4.5-legacy.zip | Bin .../variable-0.4.5.sol-0.4.6-legacy.zip | Bin .../variable-0.4.5.sol-0.4.7-legacy.zip | Bin .../variable-0.4.5.sol-0.4.8-legacy.zip | Bin .../variable-0.4.5.sol-0.4.9-legacy.zip | Bin .../variable-0.5.0.sol-0.5.0-compact.zip | Bin .../variable-0.5.0.sol-0.5.0-legacy.zip | Bin .../variable-0.5.0.sol-0.5.1-compact.zip | Bin .../variable-0.5.0.sol-0.5.1-legacy.zip | Bin .../variable-0.5.0.sol-0.5.10-compact.zip | Bin .../variable-0.5.0.sol-0.5.10-legacy.zip | Bin .../variable-0.5.0.sol-0.5.11-compact.zip | Bin .../variable-0.5.0.sol-0.5.11-legacy.zip | Bin .../variable-0.5.0.sol-0.5.12-compact.zip | Bin .../variable-0.5.0.sol-0.5.12-legacy.zip | Bin .../variable-0.5.0.sol-0.5.13-compact.zip | Bin .../variable-0.5.0.sol-0.5.13-legacy.zip | Bin .../variable-0.5.0.sol-0.5.14-compact.zip | Bin .../variable-0.5.0.sol-0.5.14-legacy.zip | Bin .../variable-0.5.0.sol-0.5.15-compact.zip | Bin .../variable-0.5.0.sol-0.5.15-legacy.zip | Bin .../variable-0.5.0.sol-0.5.16-compact.zip | Bin .../variable-0.5.0.sol-0.5.16-legacy.zip | Bin .../variable-0.5.0.sol-0.5.17-compact.zip | Bin .../variable-0.5.0.sol-0.5.17-legacy.zip | Bin .../variable-0.5.0.sol-0.5.2-compact.zip | Bin .../variable-0.5.0.sol-0.5.2-legacy.zip | Bin .../variable-0.5.0.sol-0.5.3-compact.zip | Bin .../variable-0.5.0.sol-0.5.3-legacy.zip | Bin .../variable-0.5.0.sol-0.5.4-compact.zip | Bin .../variable-0.5.0.sol-0.5.4-legacy.zip | Bin .../variable-0.5.0.sol-0.5.5-compact.zip | Bin .../variable-0.5.0.sol-0.5.5-legacy.zip | Bin .../variable-0.5.0.sol-0.5.6-compact.zip | Bin .../variable-0.5.0.sol-0.5.6-legacy.zip | Bin .../variable-0.5.0.sol-0.5.7-compact.zip | Bin .../variable-0.5.0.sol-0.5.7-legacy.zip | Bin .../variable-0.5.0.sol-0.5.8-compact.zip | Bin .../variable-0.5.0.sol-0.5.8-legacy.zip | Bin .../variable-0.5.0.sol-0.5.9-compact.zip | Bin .../variable-0.5.0.sol-0.5.9-legacy.zip | Bin .../variable-0.5.0.sol-0.6.0-compact.zip | Bin .../variable-0.5.0.sol-0.6.0-legacy.zip | Bin .../variable-0.5.0.sol-0.6.1-compact.zip | Bin .../variable-0.5.0.sol-0.6.1-legacy.zip | Bin .../variable-0.5.0.sol-0.6.2-compact.zip | Bin .../variable-0.5.0.sol-0.6.2-legacy.zip | Bin .../variable-0.5.0.sol-0.6.3-compact.zip | Bin .../variable-0.5.0.sol-0.6.3-legacy.zip | Bin .../variable-0.5.0.sol-0.6.4-compact.zip | Bin .../variable-0.5.0.sol-0.6.4-legacy.zip | Bin .../variable-0.6.5.sol-0.6.5-compact.zip | Bin .../variable-0.6.5.sol-0.6.5-legacy.zip | Bin .../variable-0.6.5.sol-0.6.6-compact.zip | Bin .../variable-0.6.5.sol-0.6.6-legacy.zip | Bin .../variable-0.6.5.sol-0.6.7-compact.zip | Bin .../variable-0.6.5.sol-0.6.7-legacy.zip | Bin .../variable-0.6.5.sol-0.6.8-compact.zip | Bin .../variable-0.6.5.sol-0.6.8-legacy.zip | Bin .../variable-0.6.9.sol-0.6.10-compact.zip | Bin .../variable-0.6.9.sol-0.6.10-legacy.zip | Bin .../variable-0.6.9.sol-0.6.11-compact.zip | Bin .../variable-0.6.9.sol-0.6.11-legacy.zip | Bin .../variable-0.6.9.sol-0.6.12-compact.zip | Bin .../variable-0.6.9.sol-0.6.12-legacy.zip | Bin .../variable-0.6.9.sol-0.6.9-compact.zip | Bin .../variable-0.6.9.sol-0.6.9-legacy.zip | Bin .../variable-0.6.9.sol-0.7.0-compact.zip | Bin .../variable-0.6.9.sol-0.7.0-legacy.zip | Bin .../variable-0.6.9.sol-0.7.1-compact.zip | Bin .../variable-0.6.9.sol-0.7.1-legacy.zip | Bin .../variable-0.6.9.sol-0.7.2-compact.zip | Bin .../variable-0.6.9.sol-0.7.2-legacy.zip | Bin .../variable-0.6.9.sol-0.7.3-compact.zip | Bin .../variable-0.6.9.sol-0.7.3-legacy.zip | Bin .../variable-0.6.9.sol-0.7.4-compact.zip | Bin .../variable-0.6.9.sol-0.7.4-legacy.zip | Bin .../variable-0.6.9.sol-0.7.5-compact.zip | Bin .../variable-0.6.9.sol-0.7.5-legacy.zip | Bin .../variable-0.6.9.sol-0.7.6-compact.zip | Bin .../variable-0.6.9.sol-0.7.6-legacy.zip | Bin .../variable-0.8.0.sol-0.8.0-compact.zip | Bin .../variable-0.8.0.sol-0.8.1-compact.zip | Bin .../variable-0.8.0.sol-0.8.10-compact.zip | Bin .../variable-0.8.0.sol-0.8.11-compact.zip | Bin .../variable-0.8.0.sol-0.8.12-compact.zip | Bin .../variable-0.8.0.sol-0.8.13-compact.zip | Bin .../variable-0.8.0.sol-0.8.14-compact.zip | Bin .../variable-0.8.0.sol-0.8.15-compact.zip | Bin .../variable-0.8.0.sol-0.8.2-compact.zip | Bin .../variable-0.8.0.sol-0.8.3-compact.zip | Bin .../variable-0.8.0.sol-0.8.4-compact.zip | Bin .../variable-0.8.0.sol-0.8.5-compact.zip | Bin .../variable-0.8.0.sol-0.8.6-compact.zip | Bin .../variable-0.8.0.sol-0.8.7-compact.zip | Bin .../variable-0.8.0.sol-0.8.8-compact.zip | Bin .../variable-0.8.0.sol-0.8.9-compact.zip | Bin ...bledeclaration-0.4.0.sol-0.4.0-compact.zip | Bin ...bledeclaration-0.4.0.sol-0.4.1-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.10-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.11-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.12-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.13-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.14-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.15-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.16-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.17-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.18-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.19-compact.zip | Bin ...bledeclaration-0.4.0.sol-0.4.2-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.20-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.21-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.22-compact.zip | Bin ...ledeclaration-0.4.0.sol-0.4.23-compact.zip | Bin ...bledeclaration-0.4.0.sol-0.4.3-compact.zip | Bin ...bledeclaration-0.4.0.sol-0.4.4-compact.zip | Bin ...bledeclaration-0.4.0.sol-0.4.5-compact.zip | Bin ...bledeclaration-0.4.0.sol-0.4.6-compact.zip | Bin ...bledeclaration-0.4.0.sol-0.4.7-compact.zip | Bin ...bledeclaration-0.4.0.sol-0.4.8-compact.zip | Bin ...bledeclaration-0.4.0.sol-0.4.9-compact.zip | Bin ...edeclaration-0.4.24.sol-0.4.24-compact.zip | Bin ...edeclaration-0.4.24.sol-0.4.25-compact.zip | Bin ...edeclaration-0.4.24.sol-0.4.26-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.5.0-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.5.1-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.5.10-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.5.11-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.5.12-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.5.13-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.5.14-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.5.15-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.5.16-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.5.17-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.5.2-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.5.3-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.5.4-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.5.5-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.5.6-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.5.7-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.5.8-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.5.9-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.6.0-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.6.1-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.6.10-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.6.11-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.6.12-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.6.2-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.6.3-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.6.4-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.6.5-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.6.6-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.6.7-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.6.8-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.6.9-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.7.0-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.7.1-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.7.2-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.7.3-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.7.4-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.7.5-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.7.6-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.8.0-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.8.1-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.8.10-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.8.11-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.8.12-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.8.13-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.8.14-compact.zip | Bin ...ledeclaration-0.5.0.sol-0.8.15-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.8.2-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.8.3-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.8.4-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.8.5-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.8.6-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.8.7-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.8.8-compact.zip | Bin ...bledeclaration-0.5.0.sol-0.8.9-compact.zip | Bin .../compile/while-all.sol-0.4.0-legacy.zip | Bin .../compile/while-all.sol-0.4.1-legacy.zip | Bin .../compile/while-all.sol-0.4.10-legacy.zip | Bin .../compile/while-all.sol-0.4.11-legacy.zip | Bin .../compile/while-all.sol-0.4.12-compact.zip | Bin .../compile/while-all.sol-0.4.12-legacy.zip | Bin .../compile/while-all.sol-0.4.13-compact.zip | Bin .../compile/while-all.sol-0.4.13-legacy.zip | Bin .../compile/while-all.sol-0.4.14-compact.zip | Bin .../compile/while-all.sol-0.4.14-legacy.zip | Bin .../compile/while-all.sol-0.4.15-compact.zip | Bin .../compile/while-all.sol-0.4.15-legacy.zip | Bin .../compile/while-all.sol-0.4.16-compact.zip | Bin .../compile/while-all.sol-0.4.16-legacy.zip | Bin .../compile/while-all.sol-0.4.17-compact.zip | Bin .../compile/while-all.sol-0.4.17-legacy.zip | Bin .../compile/while-all.sol-0.4.18-compact.zip | Bin .../compile/while-all.sol-0.4.18-legacy.zip | Bin .../compile/while-all.sol-0.4.19-compact.zip | Bin .../compile/while-all.sol-0.4.19-legacy.zip | Bin .../compile/while-all.sol-0.4.2-legacy.zip | Bin .../compile/while-all.sol-0.4.20-compact.zip | Bin .../compile/while-all.sol-0.4.20-legacy.zip | Bin .../compile/while-all.sol-0.4.21-compact.zip | Bin .../compile/while-all.sol-0.4.21-legacy.zip | Bin .../compile/while-all.sol-0.4.22-compact.zip | Bin .../compile/while-all.sol-0.4.22-legacy.zip | Bin .../compile/while-all.sol-0.4.23-compact.zip | Bin .../compile/while-all.sol-0.4.23-legacy.zip | Bin .../compile/while-all.sol-0.4.24-compact.zip | Bin .../compile/while-all.sol-0.4.24-legacy.zip | Bin .../compile/while-all.sol-0.4.25-compact.zip | Bin .../compile/while-all.sol-0.4.25-legacy.zip | Bin .../compile/while-all.sol-0.4.26-compact.zip | Bin .../compile/while-all.sol-0.4.26-legacy.zip | Bin .../compile/while-all.sol-0.4.3-legacy.zip | Bin .../compile/while-all.sol-0.4.4-legacy.zip | Bin .../compile/while-all.sol-0.4.5-legacy.zip | Bin .../compile/while-all.sol-0.4.6-legacy.zip | Bin .../compile/while-all.sol-0.4.7-legacy.zip | Bin .../compile/while-all.sol-0.4.8-legacy.zip | Bin .../compile/while-all.sol-0.4.9-legacy.zip | Bin .../compile/while-all.sol-0.5.0-compact.zip | Bin .../compile/while-all.sol-0.5.0-legacy.zip | Bin .../compile/while-all.sol-0.5.1-compact.zip | Bin .../compile/while-all.sol-0.5.1-legacy.zip | Bin .../compile/while-all.sol-0.5.10-compact.zip | Bin .../compile/while-all.sol-0.5.10-legacy.zip | Bin .../compile/while-all.sol-0.5.11-compact.zip | Bin .../compile/while-all.sol-0.5.11-legacy.zip | Bin .../compile/while-all.sol-0.5.12-compact.zip | Bin .../compile/while-all.sol-0.5.12-legacy.zip | Bin .../compile/while-all.sol-0.5.13-compact.zip | Bin .../compile/while-all.sol-0.5.13-legacy.zip | Bin .../compile/while-all.sol-0.5.14-compact.zip | Bin .../compile/while-all.sol-0.5.14-legacy.zip | Bin .../compile/while-all.sol-0.5.15-compact.zip | Bin .../compile/while-all.sol-0.5.15-legacy.zip | Bin .../compile/while-all.sol-0.5.16-compact.zip | Bin .../compile/while-all.sol-0.5.16-legacy.zip | Bin .../compile/while-all.sol-0.5.17-compact.zip | Bin .../compile/while-all.sol-0.5.17-legacy.zip | Bin .../compile/while-all.sol-0.5.2-compact.zip | Bin .../compile/while-all.sol-0.5.2-legacy.zip | Bin .../compile/while-all.sol-0.5.3-compact.zip | Bin .../compile/while-all.sol-0.5.3-legacy.zip | Bin .../compile/while-all.sol-0.5.4-compact.zip | Bin .../compile/while-all.sol-0.5.4-legacy.zip | Bin .../compile/while-all.sol-0.5.5-compact.zip | Bin .../compile/while-all.sol-0.5.5-legacy.zip | Bin .../compile/while-all.sol-0.5.6-compact.zip | Bin .../compile/while-all.sol-0.5.6-legacy.zip | Bin .../compile/while-all.sol-0.5.7-compact.zip | Bin .../compile/while-all.sol-0.5.7-legacy.zip | Bin .../compile/while-all.sol-0.5.8-compact.zip | Bin .../compile/while-all.sol-0.5.8-legacy.zip | Bin .../compile/while-all.sol-0.5.9-compact.zip | Bin .../compile/while-all.sol-0.5.9-legacy.zip | Bin .../compile/while-all.sol-0.6.0-compact.zip | Bin .../compile/while-all.sol-0.6.0-legacy.zip | Bin .../compile/while-all.sol-0.6.1-compact.zip | Bin .../compile/while-all.sol-0.6.1-legacy.zip | Bin .../compile/while-all.sol-0.6.10-compact.zip | Bin .../compile/while-all.sol-0.6.10-legacy.zip | Bin .../compile/while-all.sol-0.6.11-compact.zip | Bin .../compile/while-all.sol-0.6.11-legacy.zip | Bin .../compile/while-all.sol-0.6.12-compact.zip | Bin .../compile/while-all.sol-0.6.12-legacy.zip | Bin .../compile/while-all.sol-0.6.2-compact.zip | Bin .../compile/while-all.sol-0.6.2-legacy.zip | Bin .../compile/while-all.sol-0.6.3-compact.zip | Bin .../compile/while-all.sol-0.6.3-legacy.zip | Bin .../compile/while-all.sol-0.6.4-compact.zip | Bin .../compile/while-all.sol-0.6.4-legacy.zip | Bin .../compile/while-all.sol-0.6.5-compact.zip | Bin .../compile/while-all.sol-0.6.5-legacy.zip | Bin .../compile/while-all.sol-0.6.6-compact.zip | Bin .../compile/while-all.sol-0.6.6-legacy.zip | Bin .../compile/while-all.sol-0.6.7-compact.zip | Bin .../compile/while-all.sol-0.6.7-legacy.zip | Bin .../compile/while-all.sol-0.6.8-compact.zip | Bin .../compile/while-all.sol-0.6.8-legacy.zip | Bin .../compile/while-all.sol-0.6.9-compact.zip | Bin .../compile/while-all.sol-0.6.9-legacy.zip | Bin .../compile/while-all.sol-0.7.0-compact.zip | Bin .../compile/while-all.sol-0.7.0-legacy.zip | Bin .../compile/while-all.sol-0.7.1-compact.zip | Bin .../compile/while-all.sol-0.7.1-legacy.zip | Bin .../compile/while-all.sol-0.7.2-compact.zip | Bin .../compile/while-all.sol-0.7.2-legacy.zip | Bin .../compile/while-all.sol-0.7.3-compact.zip | Bin .../compile/while-all.sol-0.7.3-legacy.zip | Bin .../compile/while-all.sol-0.7.4-compact.zip | Bin .../compile/while-all.sol-0.7.4-legacy.zip | Bin .../compile/while-all.sol-0.7.5-compact.zip | Bin .../compile/while-all.sol-0.7.5-legacy.zip | Bin .../compile/while-all.sol-0.7.6-compact.zip | Bin .../compile/while-all.sol-0.7.6-legacy.zip | Bin .../compile/while-all.sol-0.8.0-compact.zip | Bin .../compile/while-all.sol-0.8.1-compact.zip | Bin .../compile/while-all.sol-0.8.10-compact.zip | Bin .../compile/while-all.sol-0.8.11-compact.zip | Bin .../compile/while-all.sol-0.8.12-compact.zip | Bin .../compile/while-all.sol-0.8.13-compact.zip | Bin .../compile/while-all.sol-0.8.14-compact.zip | Bin .../compile/while-all.sol-0.8.15-compact.zip | Bin .../compile/while-all.sol-0.8.2-compact.zip | Bin .../compile/while-all.sol-0.8.3-compact.zip | Bin .../compile/while-all.sol-0.8.4-compact.zip | Bin .../compile/while-all.sol-0.8.5-compact.zip | Bin .../compile/while-all.sol-0.8.6-compact.zip | Bin .../compile/while-all.sol-0.8.7-compact.zip | Bin .../compile/while-all.sol-0.8.8-compact.zip | Bin .../compile/while-all.sol-0.8.9-compact.zip | Bin .../compile/yul-0.4.0.sol-0.4.0-legacy.zip | Bin .../compile/yul-0.4.1.sol-0.4.1-legacy.zip | Bin .../compile/yul-0.4.1.sol-0.4.10-legacy.zip | Bin .../compile/yul-0.4.1.sol-0.4.2-legacy.zip | Bin .../compile/yul-0.4.1.sol-0.4.3-legacy.zip | Bin .../compile/yul-0.4.1.sol-0.4.4-legacy.zip | Bin .../compile/yul-0.4.1.sol-0.4.5-legacy.zip | Bin .../compile/yul-0.4.1.sol-0.4.6-legacy.zip | Bin .../compile/yul-0.4.1.sol-0.4.7-legacy.zip | Bin .../compile/yul-0.4.1.sol-0.4.8-legacy.zip | Bin .../compile/yul-0.4.1.sol-0.4.9-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.11-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.12-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.12-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.13-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.13-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.14-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.14-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.15-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.15-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.16-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.16-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.17-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.17-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.18-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.18-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.19-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.19-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.20-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.20-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.21-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.21-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.22-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.22-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.23-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.23-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.24-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.24-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.25-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.25-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.4.26-compact.zip | Bin .../compile/yul-0.4.11.sol-0.4.26-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.0-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.0-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.1-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.1-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.10-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.10-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.11-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.11-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.12-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.12-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.13-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.13-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.14-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.14-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.15-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.15-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.16-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.16-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.17-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.17-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.2-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.2-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.3-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.3-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.4-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.4-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.5-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.5-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.6-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.6-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.7-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.7-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.8-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.8-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.5.9-compact.zip | Bin .../compile/yul-0.4.11.sol-0.5.9-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.0-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.0-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.1-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.1-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.10-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.10-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.11-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.11-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.12-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.12-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.2-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.2-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.3-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.3-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.4-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.4-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.5-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.5-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.6-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.6-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.7-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.7-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.8-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.8-legacy.zip | Bin .../compile/yul-0.4.11.sol-0.6.9-compact.zip | Bin .../compile/yul-0.4.11.sol-0.6.9-legacy.zip | Bin .../compile/yul-0.7.0.sol-0.7.0-compact.zip | Bin .../compile/yul-0.7.0.sol-0.7.0-legacy.zip | Bin .../compile/yul-0.7.0.sol-0.7.1-compact.zip | Bin .../compile/yul-0.7.0.sol-0.7.1-legacy.zip | Bin .../compile/yul-0.7.0.sol-0.7.2-compact.zip | Bin .../compile/yul-0.7.0.sol-0.7.2-legacy.zip | Bin .../compile/yul-0.7.0.sol-0.7.3-compact.zip | Bin .../compile/yul-0.7.0.sol-0.7.3-legacy.zip | Bin .../compile/yul-0.7.0.sol-0.7.4-compact.zip | Bin .../compile/yul-0.7.0.sol-0.7.4-legacy.zip | Bin .../compile/yul-0.7.5.sol-0.7.5-compact.zip | Bin .../compile/yul-0.7.5.sol-0.7.5-legacy.zip | Bin .../compile/yul-0.7.5.sol-0.7.6-compact.zip | Bin .../compile/yul-0.7.5.sol-0.7.6-legacy.zip | Bin .../compile/yul-0.8.0.sol-0.8.0-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.1-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.10-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.11-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.12-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.13-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.14-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.15-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.2-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.3-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.4-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.5-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.6-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.7-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.8-compact.zip | Bin .../compile/yul-0.8.0.sol-0.8.9-compact.zip | Bin ...ate-constant-access.sol-0.8.16-compact.zip | Bin .../yul-top-level-0.8.0.sol-0.8.0-compact.zip | Bin .../test_data}/complex_imports/FreeFuns.sol | 0 .../complex_imports/import_aliases/import.sol | 0 .../complex_imports/import_aliases/test.sol | 0 .../import_aliases_issue_1319/import.sol | 0 .../import_aliases_issue_1319/test.sol | 0 .../import_aliases_issue_1319/test_fail.sol | 0 .../complex_imports/import_free/Caller.sol | 0 .../test_data}/conditional-all.sol | 0 .../solc_parsing/test_data}/continue-all.sol | 0 .../test_data}/contract-0.4.0.sol | 0 .../test_data}/contract-0.4.22.sol | 0 .../test_data}/contract-0.6.0.sol | 0 .../test_data}/custom-error-selector.sol | 0 .../test_data}/custom_error-0.4.0.sol | 0 .../test_data}/custom_error-0.8.4.sol | 0 .../custom_error_with_state_variable.sol | 0 .../solc_parsing/test_data}/dowhile-0.4.0.sol | 0 .../solc_parsing/test_data}/dowhile-0.4.5.sol | 0 .../solc_parsing/test_data}/emit-0.4.0.sol | 0 .../solc_parsing/test_data}/emit-0.4.21.sol | 0 .../solc_parsing/test_data}/emit-0.4.8.sol | 0 .../solc_parsing/test_data}/emit-0.5.0.sol | 0 .../solc_parsing/test_data}/enum-0.4.0.sol | 0 .../solc_parsing/test_data}/enum-0.8.0.sol | 0 .../solc_parsing/test_data}/event-all.sol | 0 .../assembly-all.sol-0.4.0-compact.json | 0 .../assembly-all.sol-0.4.0-legacy.json | 0 .../assembly-all.sol-0.4.1-compact.json | 0 .../assembly-all.sol-0.4.1-legacy.json | 0 .../assembly-all.sol-0.4.10-compact.json | 0 .../assembly-all.sol-0.4.10-legacy.json | 0 .../assembly-all.sol-0.4.11-compact.json | 0 .../assembly-all.sol-0.4.11-legacy.json | 0 .../assembly-all.sol-0.4.12-compact.json | 0 .../assembly-all.sol-0.4.12-legacy.json | 0 .../assembly-all.sol-0.4.13-compact.json | 0 .../assembly-all.sol-0.4.13-legacy.json | 0 .../assembly-all.sol-0.4.14-compact.json | 0 .../assembly-all.sol-0.4.14-legacy.json | 0 .../assembly-all.sol-0.4.15-compact.json | 0 .../assembly-all.sol-0.4.15-legacy.json | 0 .../assembly-all.sol-0.4.16-compact.json | 0 .../assembly-all.sol-0.4.16-legacy.json | 0 .../assembly-all.sol-0.4.17-compact.json | 0 .../assembly-all.sol-0.4.17-legacy.json | 0 .../assembly-all.sol-0.4.18-compact.json | 0 .../assembly-all.sol-0.4.18-legacy.json | 0 .../assembly-all.sol-0.4.19-compact.json | 0 .../assembly-all.sol-0.4.19-legacy.json | 0 .../assembly-all.sol-0.4.2-compact.json | 0 .../assembly-all.sol-0.4.2-legacy.json | 0 .../assembly-all.sol-0.4.20-compact.json | 0 .../assembly-all.sol-0.4.20-legacy.json | 0 .../assembly-all.sol-0.4.21-compact.json | 0 .../assembly-all.sol-0.4.21-legacy.json | 0 .../assembly-all.sol-0.4.22-compact.json | 0 .../assembly-all.sol-0.4.22-legacy.json | 0 .../assembly-all.sol-0.4.23-compact.json | 0 .../assembly-all.sol-0.4.23-legacy.json | 0 .../assembly-all.sol-0.4.24-compact.json | 0 .../assembly-all.sol-0.4.24-legacy.json | 0 .../assembly-all.sol-0.4.25-compact.json | 0 .../assembly-all.sol-0.4.25-legacy.json | 0 .../assembly-all.sol-0.4.26-compact.json | 0 .../assembly-all.sol-0.4.26-legacy.json | 0 .../assembly-all.sol-0.4.3-compact.json | 0 .../assembly-all.sol-0.4.3-legacy.json | 0 .../assembly-all.sol-0.4.4-compact.json | 0 .../assembly-all.sol-0.4.4-legacy.json | 0 .../assembly-all.sol-0.4.5-compact.json | 0 .../assembly-all.sol-0.4.5-legacy.json | 0 .../assembly-all.sol-0.4.6-compact.json | 0 .../assembly-all.sol-0.4.6-legacy.json | 0 .../assembly-all.sol-0.4.7-compact.json | 0 .../assembly-all.sol-0.4.7-legacy.json | 0 .../assembly-all.sol-0.4.8-compact.json | 0 .../assembly-all.sol-0.4.8-legacy.json | 0 .../assembly-all.sol-0.4.9-compact.json | 0 .../assembly-all.sol-0.4.9-legacy.json | 0 .../assembly-all.sol-0.5.0-compact.json | 0 .../assembly-all.sol-0.5.0-legacy.json | 0 .../assembly-all.sol-0.5.1-compact.json | 0 .../assembly-all.sol-0.5.1-legacy.json | 0 .../assembly-all.sol-0.5.10-compact.json | 0 .../assembly-all.sol-0.5.10-legacy.json | 0 .../assembly-all.sol-0.5.11-compact.json | 0 .../assembly-all.sol-0.5.11-legacy.json | 0 .../assembly-all.sol-0.5.12-compact.json | 0 .../assembly-all.sol-0.5.12-legacy.json | 0 .../assembly-all.sol-0.5.13-compact.json | 0 .../assembly-all.sol-0.5.13-legacy.json | 0 .../assembly-all.sol-0.5.14-compact.json | 0 .../assembly-all.sol-0.5.14-legacy.json | 0 .../assembly-all.sol-0.5.15-compact.json | 0 .../assembly-all.sol-0.5.15-legacy.json | 0 .../assembly-all.sol-0.5.16-compact.json | 0 .../assembly-all.sol-0.5.16-legacy.json | 0 .../assembly-all.sol-0.5.17-compact.json | 0 .../assembly-all.sol-0.5.17-legacy.json | 0 .../assembly-all.sol-0.5.2-compact.json | 0 .../assembly-all.sol-0.5.2-legacy.json | 0 .../assembly-all.sol-0.5.3-compact.json | 0 .../assembly-all.sol-0.5.3-legacy.json | 0 .../assembly-all.sol-0.5.4-compact.json | 0 .../assembly-all.sol-0.5.4-legacy.json | 0 .../assembly-all.sol-0.5.5-compact.json | 0 .../assembly-all.sol-0.5.5-legacy.json | 0 .../assembly-all.sol-0.5.6-compact.json | 0 .../assembly-all.sol-0.5.6-legacy.json | 0 .../assembly-all.sol-0.5.7-compact.json | 0 .../assembly-all.sol-0.5.7-legacy.json | 0 .../assembly-all.sol-0.5.8-compact.json | 0 .../assembly-all.sol-0.5.8-legacy.json | 0 .../assembly-all.sol-0.5.9-compact.json | 0 .../assembly-all.sol-0.5.9-legacy.json | 0 .../assembly-all.sol-0.6.0-compact.json | 0 .../assembly-all.sol-0.6.0-legacy.json | 0 .../assembly-all.sol-0.6.1-compact.json | 0 .../assembly-all.sol-0.6.1-legacy.json | 0 .../assembly-all.sol-0.6.10-compact.json | 0 .../assembly-all.sol-0.6.10-legacy.json | 0 .../assembly-all.sol-0.6.11-compact.json | 0 .../assembly-all.sol-0.6.11-legacy.json | 0 .../assembly-all.sol-0.6.12-compact.json | 0 .../assembly-all.sol-0.6.12-legacy.json | 0 .../assembly-all.sol-0.6.2-compact.json | 0 .../assembly-all.sol-0.6.2-legacy.json | 0 .../assembly-all.sol-0.6.3-compact.json | 0 .../assembly-all.sol-0.6.3-legacy.json | 0 .../assembly-all.sol-0.6.4-compact.json | 0 .../assembly-all.sol-0.6.4-legacy.json | 0 .../assembly-all.sol-0.6.5-compact.json | 0 .../assembly-all.sol-0.6.5-legacy.json | 0 .../assembly-all.sol-0.6.6-compact.json | 0 .../assembly-all.sol-0.6.6-legacy.json | 0 .../assembly-all.sol-0.6.7-compact.json | 0 .../assembly-all.sol-0.6.7-legacy.json | 0 .../assembly-all.sol-0.6.8-compact.json | 0 .../assembly-all.sol-0.6.8-legacy.json | 0 .../assembly-all.sol-0.6.9-compact.json | 0 .../assembly-all.sol-0.6.9-legacy.json | 0 .../assembly-all.sol-0.7.0-compact.json | 0 .../assembly-all.sol-0.7.0-legacy.json | 0 .../assembly-all.sol-0.7.1-compact.json | 0 .../assembly-all.sol-0.7.1-legacy.json | 0 .../assembly-all.sol-0.7.2-compact.json | 0 .../assembly-all.sol-0.7.2-legacy.json | 0 .../assembly-all.sol-0.7.3-compact.json | 0 .../assembly-all.sol-0.7.3-legacy.json | 0 .../assembly-all.sol-0.7.4-compact.json | 0 .../assembly-all.sol-0.7.4-legacy.json | 0 .../assembly-all.sol-0.7.5-compact.json | 0 .../assembly-all.sol-0.7.5-legacy.json | 0 .../assembly-all.sol-0.7.6-compact.json | 0 .../assembly-all.sol-0.7.6-legacy.json | 0 .../assembly-all.sol-0.8.0-compact.json | 0 .../assembly-all.sol-0.8.1-compact.json | 0 .../assembly-all.sol-0.8.10-compact.json | 0 .../assembly-all.sol-0.8.11-compact.json | 0 .../assembly-all.sol-0.8.12-compact.json | 0 .../assembly-all.sol-0.8.13-compact.json | 0 .../assembly-all.sol-0.8.14-compact.json | 0 .../assembly-all.sol-0.8.15-compact.json | 0 .../assembly-all.sol-0.8.2-compact.json | 0 .../assembly-all.sol-0.8.3-compact.json | 0 .../assembly-all.sol-0.8.4-compact.json | 0 .../assembly-all.sol-0.8.5-compact.json | 0 .../assembly-all.sol-0.8.6-compact.json | 0 .../assembly-all.sol-0.8.7-compact.json | 0 .../assembly-all.sol-0.8.8-compact.json | 0 .../assembly-all.sol-0.8.9-compact.json | 0 .../assignment-0.4.0.sol-0.4.0-compact.json | 0 .../assignment-0.4.0.sol-0.4.0-legacy.json | 0 .../assignment-0.4.0.sol-0.4.1-compact.json | 0 .../assignment-0.4.0.sol-0.4.1-legacy.json | 0 .../assignment-0.4.0.sol-0.4.10-compact.json | 0 .../assignment-0.4.0.sol-0.4.10-legacy.json | 0 .../assignment-0.4.0.sol-0.4.11-compact.json | 0 .../assignment-0.4.0.sol-0.4.11-legacy.json | 0 .../assignment-0.4.0.sol-0.4.12-compact.json | 0 .../assignment-0.4.0.sol-0.4.12-legacy.json | 0 .../assignment-0.4.0.sol-0.4.13-compact.json | 0 .../assignment-0.4.0.sol-0.4.13-legacy.json | 0 .../assignment-0.4.0.sol-0.4.14-compact.json | 0 .../assignment-0.4.0.sol-0.4.14-legacy.json | 0 .../assignment-0.4.0.sol-0.4.15-compact.json | 0 .../assignment-0.4.0.sol-0.4.15-legacy.json | 0 .../assignment-0.4.0.sol-0.4.16-compact.json | 0 .../assignment-0.4.0.sol-0.4.16-legacy.json | 0 .../assignment-0.4.0.sol-0.4.17-compact.json | 0 .../assignment-0.4.0.sol-0.4.17-legacy.json | 0 .../assignment-0.4.0.sol-0.4.18-compact.json | 0 .../assignment-0.4.0.sol-0.4.18-legacy.json | 0 .../assignment-0.4.0.sol-0.4.19-compact.json | 0 .../assignment-0.4.0.sol-0.4.19-legacy.json | 0 .../assignment-0.4.0.sol-0.4.2-compact.json | 0 .../assignment-0.4.0.sol-0.4.2-legacy.json | 0 .../assignment-0.4.0.sol-0.4.20-compact.json | 0 .../assignment-0.4.0.sol-0.4.20-legacy.json | 0 .../assignment-0.4.0.sol-0.4.21-compact.json | 0 .../assignment-0.4.0.sol-0.4.21-legacy.json | 0 .../assignment-0.4.0.sol-0.4.22-compact.json | 0 .../assignment-0.4.0.sol-0.4.22-legacy.json | 0 .../assignment-0.4.0.sol-0.4.23-compact.json | 0 .../assignment-0.4.0.sol-0.4.23-legacy.json | 0 .../assignment-0.4.0.sol-0.4.24-compact.json | 0 .../assignment-0.4.0.sol-0.4.24-legacy.json | 0 .../assignment-0.4.0.sol-0.4.25-compact.json | 0 .../assignment-0.4.0.sol-0.4.25-legacy.json | 0 .../assignment-0.4.0.sol-0.4.26-compact.json | 0 .../assignment-0.4.0.sol-0.4.26-legacy.json | 0 .../assignment-0.4.0.sol-0.4.3-compact.json | 0 .../assignment-0.4.0.sol-0.4.3-legacy.json | 0 .../assignment-0.4.0.sol-0.4.4-compact.json | 0 .../assignment-0.4.0.sol-0.4.4-legacy.json | 0 .../assignment-0.4.0.sol-0.4.5-compact.json | 0 .../assignment-0.4.0.sol-0.4.5-legacy.json | 0 .../assignment-0.4.0.sol-0.4.6-compact.json | 0 .../assignment-0.4.0.sol-0.4.6-legacy.json | 0 .../assignment-0.4.0.sol-0.4.7-compact.json | 0 .../assignment-0.4.0.sol-0.4.7-legacy.json | 0 .../assignment-0.4.0.sol-0.4.8-compact.json | 0 .../assignment-0.4.0.sol-0.4.8-legacy.json | 0 .../assignment-0.4.0.sol-0.4.9-compact.json | 0 .../assignment-0.4.0.sol-0.4.9-legacy.json | 0 .../assignment-0.4.7.sol-0.4.7-compact.json | 0 .../assignment-0.4.7.sol-0.4.7-legacy.json | 0 .../assignment-0.4.7.sol-0.4.8-compact.json | 0 .../assignment-0.4.7.sol-0.4.8-legacy.json | 0 .../assignment-0.4.7.sol-0.4.9-compact.json | 0 .../assignment-0.4.7.sol-0.4.9-legacy.json | 0 .../assignment-0.4.7.sol-0.5.0-compact.json | 0 .../assignment-0.4.7.sol-0.5.0-legacy.json | 0 .../assignment-0.4.7.sol-0.5.1-compact.json | 0 .../assignment-0.4.7.sol-0.5.1-legacy.json | 0 .../assignment-0.4.7.sol-0.5.10-compact.json | 0 .../assignment-0.4.7.sol-0.5.10-legacy.json | 0 .../assignment-0.4.7.sol-0.5.11-compact.json | 0 .../assignment-0.4.7.sol-0.5.11-legacy.json | 0 .../assignment-0.4.7.sol-0.5.12-compact.json | 0 .../assignment-0.4.7.sol-0.5.12-legacy.json | 0 .../assignment-0.4.7.sol-0.5.13-compact.json | 0 .../assignment-0.4.7.sol-0.5.13-legacy.json | 0 .../assignment-0.4.7.sol-0.5.14-compact.json | 0 .../assignment-0.4.7.sol-0.5.14-legacy.json | 0 .../assignment-0.4.7.sol-0.5.15-compact.json | 0 .../assignment-0.4.7.sol-0.5.15-legacy.json | 0 .../assignment-0.4.7.sol-0.5.16-compact.json | 0 .../assignment-0.4.7.sol-0.5.16-legacy.json | 0 .../assignment-0.4.7.sol-0.5.17-compact.json | 0 .../assignment-0.4.7.sol-0.5.17-legacy.json | 0 .../assignment-0.4.7.sol-0.5.2-compact.json | 0 .../assignment-0.4.7.sol-0.5.2-legacy.json | 0 .../assignment-0.4.7.sol-0.5.3-compact.json | 0 .../assignment-0.4.7.sol-0.5.3-legacy.json | 0 .../assignment-0.4.7.sol-0.5.4-compact.json | 0 .../assignment-0.4.7.sol-0.5.4-legacy.json | 0 .../assignment-0.4.7.sol-0.5.5-compact.json | 0 .../assignment-0.4.7.sol-0.5.5-legacy.json | 0 .../assignment-0.4.7.sol-0.5.6-compact.json | 0 .../assignment-0.4.7.sol-0.5.6-legacy.json | 0 .../assignment-0.4.7.sol-0.5.7-compact.json | 0 .../assignment-0.4.7.sol-0.5.7-legacy.json | 0 .../assignment-0.4.7.sol-0.5.8-compact.json | 0 .../assignment-0.4.7.sol-0.5.8-legacy.json | 0 .../assignment-0.4.7.sol-0.5.9-compact.json | 0 .../assignment-0.4.7.sol-0.5.9-legacy.json | 0 .../assignment-0.4.7.sol-0.6.0-compact.json | 0 .../assignment-0.4.7.sol-0.6.0-legacy.json | 0 .../assignment-0.4.7.sol-0.6.1-compact.json | 0 .../assignment-0.4.7.sol-0.6.1-legacy.json | 0 .../assignment-0.4.7.sol-0.6.10-compact.json | 0 .../assignment-0.4.7.sol-0.6.10-legacy.json | 0 .../assignment-0.4.7.sol-0.6.11-compact.json | 0 .../assignment-0.4.7.sol-0.6.11-legacy.json | 0 .../assignment-0.4.7.sol-0.6.12-compact.json | 0 .../assignment-0.4.7.sol-0.6.12-legacy.json | 0 .../assignment-0.4.7.sol-0.6.2-compact.json | 0 .../assignment-0.4.7.sol-0.6.2-legacy.json | 0 .../assignment-0.4.7.sol-0.6.3-compact.json | 0 .../assignment-0.4.7.sol-0.6.3-legacy.json | 0 .../assignment-0.4.7.sol-0.6.4-compact.json | 0 .../assignment-0.4.7.sol-0.6.4-legacy.json | 0 .../assignment-0.4.7.sol-0.6.5-compact.json | 0 .../assignment-0.4.7.sol-0.6.5-legacy.json | 0 .../assignment-0.4.7.sol-0.6.6-compact.json | 0 .../assignment-0.4.7.sol-0.6.6-legacy.json | 0 .../assignment-0.4.7.sol-0.6.7-compact.json | 0 .../assignment-0.4.7.sol-0.6.7-legacy.json | 0 .../assignment-0.4.7.sol-0.6.8-compact.json | 0 .../assignment-0.4.7.sol-0.6.8-legacy.json | 0 .../assignment-0.4.7.sol-0.6.9-compact.json | 0 .../assignment-0.4.7.sol-0.6.9-legacy.json | 0 .../assignment-0.4.7.sol-0.7.0-compact.json | 0 .../assignment-0.4.7.sol-0.7.0-legacy.json | 0 .../assignment-0.4.7.sol-0.7.1-compact.json | 0 .../assignment-0.4.7.sol-0.7.1-legacy.json | 0 .../assignment-0.4.7.sol-0.7.2-compact.json | 0 .../assignment-0.4.7.sol-0.7.2-legacy.json | 0 .../assignment-0.4.7.sol-0.7.3-compact.json | 0 .../assignment-0.4.7.sol-0.7.3-legacy.json | 0 .../assignment-0.4.7.sol-0.7.4-compact.json | 0 .../assignment-0.4.7.sol-0.7.4-legacy.json | 0 .../assignment-0.4.7.sol-0.7.5-compact.json | 0 .../assignment-0.4.7.sol-0.7.5-legacy.json | 0 .../assignment-0.4.7.sol-0.7.6-compact.json | 0 .../assignment-0.4.7.sol-0.7.6-legacy.json | 0 .../assignment-0.4.7.sol-0.8.0-compact.json | 0 .../assignment-0.4.7.sol-0.8.1-compact.json | 0 .../assignment-0.4.7.sol-0.8.10-compact.json | 0 .../assignment-0.4.7.sol-0.8.11-compact.json | 0 .../assignment-0.4.7.sol-0.8.12-compact.json | 0 .../assignment-0.4.7.sol-0.8.13-compact.json | 0 .../assignment-0.4.7.sol-0.8.14-compact.json | 0 .../assignment-0.4.7.sol-0.8.15-compact.json | 0 .../assignment-0.4.7.sol-0.8.2-compact.json | 0 .../assignment-0.4.7.sol-0.8.3-compact.json | 0 .../assignment-0.4.7.sol-0.8.4-compact.json | 0 .../assignment-0.4.7.sol-0.8.5-compact.json | 0 .../assignment-0.4.7.sol-0.8.6-compact.json | 0 .../assignment-0.4.7.sol-0.8.7-compact.json | 0 .../assignment-0.4.7.sol-0.8.8-compact.json | 0 .../assignment-0.4.7.sol-0.8.9-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.0-compact.json | 0 ...inaryoperation-0.4.0.sol-0.4.0-legacy.json | 0 ...naryoperation-0.4.0.sol-0.4.1-compact.json | 0 ...inaryoperation-0.4.0.sol-0.4.1-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.10-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.10-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.11-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.11-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.12-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.12-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.13-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.13-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.14-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.14-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.15-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.15-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.16-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.16-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.17-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.17-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.18-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.18-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.19-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.19-legacy.json | 0 ...naryoperation-0.4.0.sol-0.4.2-compact.json | 0 ...inaryoperation-0.4.0.sol-0.4.2-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.20-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.20-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.21-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.21-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.22-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.22-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.23-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.23-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.24-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.24-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.25-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.25-legacy.json | 0 ...aryoperation-0.4.0.sol-0.4.26-compact.json | 0 ...naryoperation-0.4.0.sol-0.4.26-legacy.json | 0 ...naryoperation-0.4.0.sol-0.4.3-compact.json | 0 ...inaryoperation-0.4.0.sol-0.4.3-legacy.json | 0 ...naryoperation-0.4.0.sol-0.4.4-compact.json | 0 ...inaryoperation-0.4.0.sol-0.4.4-legacy.json | 0 ...naryoperation-0.4.0.sol-0.4.5-compact.json | 0 ...inaryoperation-0.4.0.sol-0.4.5-legacy.json | 0 ...naryoperation-0.4.0.sol-0.4.6-compact.json | 0 ...inaryoperation-0.4.0.sol-0.4.6-legacy.json | 0 ...naryoperation-0.4.0.sol-0.4.7-compact.json | 0 ...inaryoperation-0.4.0.sol-0.4.7-legacy.json | 0 ...naryoperation-0.4.0.sol-0.4.8-compact.json | 0 ...inaryoperation-0.4.0.sol-0.4.8-legacy.json | 0 ...naryoperation-0.4.0.sol-0.4.9-compact.json | 0 ...inaryoperation-0.4.0.sol-0.4.9-legacy.json | 0 ...naryoperation-0.4.7.sol-0.4.7-compact.json | 0 ...inaryoperation-0.4.7.sol-0.4.7-legacy.json | 0 ...naryoperation-0.4.7.sol-0.4.8-compact.json | 0 ...inaryoperation-0.4.7.sol-0.4.8-legacy.json | 0 ...naryoperation-0.4.7.sol-0.4.9-compact.json | 0 ...inaryoperation-0.4.7.sol-0.4.9-legacy.json | 0 ...naryoperation-0.4.7.sol-0.5.0-compact.json | 0 ...inaryoperation-0.4.7.sol-0.5.0-legacy.json | 0 ...naryoperation-0.4.7.sol-0.5.1-compact.json | 0 ...inaryoperation-0.4.7.sol-0.5.1-legacy.json | 0 ...aryoperation-0.4.7.sol-0.5.10-compact.json | 0 ...naryoperation-0.4.7.sol-0.5.10-legacy.json | 0 ...aryoperation-0.4.7.sol-0.5.11-compact.json | 0 ...naryoperation-0.4.7.sol-0.5.11-legacy.json | 0 ...aryoperation-0.4.7.sol-0.5.12-compact.json | 0 ...naryoperation-0.4.7.sol-0.5.12-legacy.json | 0 ...aryoperation-0.4.7.sol-0.5.13-compact.json | 0 ...naryoperation-0.4.7.sol-0.5.13-legacy.json | 0 ...aryoperation-0.4.7.sol-0.5.14-compact.json | 0 ...naryoperation-0.4.7.sol-0.5.14-legacy.json | 0 ...aryoperation-0.4.7.sol-0.5.15-compact.json | 0 ...naryoperation-0.4.7.sol-0.5.15-legacy.json | 0 ...aryoperation-0.4.7.sol-0.5.16-compact.json | 0 ...naryoperation-0.4.7.sol-0.5.16-legacy.json | 0 ...aryoperation-0.4.7.sol-0.5.17-compact.json | 0 ...naryoperation-0.4.7.sol-0.5.17-legacy.json | 0 ...naryoperation-0.4.7.sol-0.5.2-compact.json | 0 ...inaryoperation-0.4.7.sol-0.5.2-legacy.json | 0 ...naryoperation-0.4.7.sol-0.5.3-compact.json | 0 ...inaryoperation-0.4.7.sol-0.5.3-legacy.json | 0 ...naryoperation-0.4.7.sol-0.5.4-compact.json | 0 ...inaryoperation-0.4.7.sol-0.5.4-legacy.json | 0 ...naryoperation-0.4.7.sol-0.5.5-compact.json | 0 ...inaryoperation-0.4.7.sol-0.5.5-legacy.json | 0 ...naryoperation-0.4.7.sol-0.5.6-compact.json | 0 ...inaryoperation-0.4.7.sol-0.5.6-legacy.json | 0 ...naryoperation-0.4.7.sol-0.5.7-compact.json | 0 ...inaryoperation-0.4.7.sol-0.5.7-legacy.json | 0 ...naryoperation-0.4.7.sol-0.5.8-compact.json | 0 ...inaryoperation-0.4.7.sol-0.5.8-legacy.json | 0 ...naryoperation-0.4.7.sol-0.5.9-compact.json | 0 ...inaryoperation-0.4.7.sol-0.5.9-legacy.json | 0 ...naryoperation-0.4.7.sol-0.6.0-compact.json | 0 ...inaryoperation-0.4.7.sol-0.6.0-legacy.json | 0 ...naryoperation-0.4.7.sol-0.6.1-compact.json | 0 ...inaryoperation-0.4.7.sol-0.6.1-legacy.json | 0 ...aryoperation-0.4.7.sol-0.6.10-compact.json | 0 ...naryoperation-0.4.7.sol-0.6.10-legacy.json | 0 ...aryoperation-0.4.7.sol-0.6.11-compact.json | 0 ...naryoperation-0.4.7.sol-0.6.11-legacy.json | 0 ...aryoperation-0.4.7.sol-0.6.12-compact.json | 0 ...naryoperation-0.4.7.sol-0.6.12-legacy.json | 0 ...naryoperation-0.4.7.sol-0.6.2-compact.json | 0 ...inaryoperation-0.4.7.sol-0.6.2-legacy.json | 0 ...naryoperation-0.4.7.sol-0.6.3-compact.json | 0 ...inaryoperation-0.4.7.sol-0.6.3-legacy.json | 0 ...naryoperation-0.4.7.sol-0.6.4-compact.json | 0 ...inaryoperation-0.4.7.sol-0.6.4-legacy.json | 0 ...naryoperation-0.4.7.sol-0.6.5-compact.json | 0 ...inaryoperation-0.4.7.sol-0.6.5-legacy.json | 0 ...naryoperation-0.4.7.sol-0.6.6-compact.json | 0 ...inaryoperation-0.4.7.sol-0.6.6-legacy.json | 0 ...naryoperation-0.4.7.sol-0.6.7-compact.json | 0 ...inaryoperation-0.4.7.sol-0.6.7-legacy.json | 0 ...naryoperation-0.4.7.sol-0.6.8-compact.json | 0 ...inaryoperation-0.4.7.sol-0.6.8-legacy.json | 0 ...naryoperation-0.4.7.sol-0.6.9-compact.json | 0 ...inaryoperation-0.4.7.sol-0.6.9-legacy.json | 0 ...naryoperation-0.4.7.sol-0.7.0-compact.json | 0 ...inaryoperation-0.4.7.sol-0.7.0-legacy.json | 0 ...naryoperation-0.4.7.sol-0.7.1-compact.json | 0 ...inaryoperation-0.4.7.sol-0.7.1-legacy.json | 0 ...naryoperation-0.4.7.sol-0.7.2-compact.json | 0 ...inaryoperation-0.4.7.sol-0.7.2-legacy.json | 0 ...naryoperation-0.4.7.sol-0.7.3-compact.json | 0 ...inaryoperation-0.4.7.sol-0.7.3-legacy.json | 0 ...naryoperation-0.4.7.sol-0.7.4-compact.json | 0 ...inaryoperation-0.4.7.sol-0.7.4-legacy.json | 0 ...naryoperation-0.4.7.sol-0.7.5-compact.json | 0 ...inaryoperation-0.4.7.sol-0.7.5-legacy.json | 0 ...naryoperation-0.4.7.sol-0.7.6-compact.json | 0 ...inaryoperation-0.4.7.sol-0.7.6-legacy.json | 0 ...naryoperation-0.4.7.sol-0.8.0-compact.json | 0 ...naryoperation-0.4.7.sol-0.8.1-compact.json | 0 ...aryoperation-0.4.7.sol-0.8.10-compact.json | 0 ...aryoperation-0.4.7.sol-0.8.11-compact.json | 0 ...aryoperation-0.4.7.sol-0.8.12-compact.json | 0 ...naryoperation-0.4.7.sol-0.8.2-compact.json | 0 ...naryoperation-0.4.7.sol-0.8.3-compact.json | 0 ...naryoperation-0.4.7.sol-0.8.4-compact.json | 0 ...naryoperation-0.4.7.sol-0.8.5-compact.json | 0 ...naryoperation-0.4.7.sol-0.8.6-compact.json | 0 ...naryoperation-0.4.7.sol-0.8.7-compact.json | 0 ...naryoperation-0.4.7.sol-0.8.8-compact.json | 0 ...naryoperation-0.4.7.sol-0.8.9-compact.json | 0 .../expected/break-all.sol-0.4.0-compact.json | 0 .../expected/break-all.sol-0.4.0-legacy.json | 0 .../expected/break-all.sol-0.4.1-compact.json | 0 .../expected/break-all.sol-0.4.1-legacy.json | 0 .../break-all.sol-0.4.10-compact.json | 0 .../expected/break-all.sol-0.4.10-legacy.json | 0 .../break-all.sol-0.4.11-compact.json | 0 .../expected/break-all.sol-0.4.11-legacy.json | 0 .../break-all.sol-0.4.12-compact.json | 0 .../expected/break-all.sol-0.4.12-legacy.json | 0 .../break-all.sol-0.4.13-compact.json | 0 .../expected/break-all.sol-0.4.13-legacy.json | 0 .../break-all.sol-0.4.14-compact.json | 0 .../expected/break-all.sol-0.4.14-legacy.json | 0 .../break-all.sol-0.4.15-compact.json | 0 .../expected/break-all.sol-0.4.15-legacy.json | 0 .../break-all.sol-0.4.16-compact.json | 0 .../expected/break-all.sol-0.4.16-legacy.json | 0 .../break-all.sol-0.4.17-compact.json | 0 .../expected/break-all.sol-0.4.17-legacy.json | 0 .../break-all.sol-0.4.18-compact.json | 0 .../expected/break-all.sol-0.4.18-legacy.json | 0 .../break-all.sol-0.4.19-compact.json | 0 .../expected/break-all.sol-0.4.19-legacy.json | 0 .../expected/break-all.sol-0.4.2-compact.json | 0 .../expected/break-all.sol-0.4.2-legacy.json | 0 .../break-all.sol-0.4.20-compact.json | 0 .../expected/break-all.sol-0.4.20-legacy.json | 0 .../break-all.sol-0.4.21-compact.json | 0 .../expected/break-all.sol-0.4.21-legacy.json | 0 .../break-all.sol-0.4.22-compact.json | 0 .../expected/break-all.sol-0.4.22-legacy.json | 0 .../break-all.sol-0.4.23-compact.json | 0 .../expected/break-all.sol-0.4.23-legacy.json | 0 .../break-all.sol-0.4.24-compact.json | 0 .../expected/break-all.sol-0.4.24-legacy.json | 0 .../break-all.sol-0.4.25-compact.json | 0 .../expected/break-all.sol-0.4.25-legacy.json | 0 .../break-all.sol-0.4.26-compact.json | 0 .../expected/break-all.sol-0.4.26-legacy.json | 0 .../expected/break-all.sol-0.4.3-compact.json | 0 .../expected/break-all.sol-0.4.3-legacy.json | 0 .../expected/break-all.sol-0.4.4-compact.json | 0 .../expected/break-all.sol-0.4.4-legacy.json | 0 .../expected/break-all.sol-0.4.5-compact.json | 0 .../expected/break-all.sol-0.4.5-legacy.json | 0 .../expected/break-all.sol-0.4.6-compact.json | 0 .../expected/break-all.sol-0.4.6-legacy.json | 0 .../expected/break-all.sol-0.4.7-compact.json | 0 .../expected/break-all.sol-0.4.7-legacy.json | 0 .../expected/break-all.sol-0.4.8-compact.json | 0 .../expected/break-all.sol-0.4.8-legacy.json | 0 .../expected/break-all.sol-0.4.9-compact.json | 0 .../expected/break-all.sol-0.4.9-legacy.json | 0 .../expected/break-all.sol-0.5.0-compact.json | 0 .../expected/break-all.sol-0.5.0-legacy.json | 0 .../expected/break-all.sol-0.5.1-compact.json | 0 .../expected/break-all.sol-0.5.1-legacy.json | 0 .../break-all.sol-0.5.10-compact.json | 0 .../expected/break-all.sol-0.5.10-legacy.json | 0 .../break-all.sol-0.5.11-compact.json | 0 .../expected/break-all.sol-0.5.11-legacy.json | 0 .../break-all.sol-0.5.12-compact.json | 0 .../expected/break-all.sol-0.5.12-legacy.json | 0 .../break-all.sol-0.5.13-compact.json | 0 .../expected/break-all.sol-0.5.13-legacy.json | 0 .../break-all.sol-0.5.14-compact.json | 0 .../expected/break-all.sol-0.5.14-legacy.json | 0 .../break-all.sol-0.5.15-compact.json | 0 .../expected/break-all.sol-0.5.15-legacy.json | 0 .../break-all.sol-0.5.16-compact.json | 0 .../expected/break-all.sol-0.5.16-legacy.json | 0 .../break-all.sol-0.5.17-compact.json | 0 .../expected/break-all.sol-0.5.17-legacy.json | 0 .../expected/break-all.sol-0.5.2-compact.json | 0 .../expected/break-all.sol-0.5.2-legacy.json | 0 .../expected/break-all.sol-0.5.3-compact.json | 0 .../expected/break-all.sol-0.5.3-legacy.json | 0 .../expected/break-all.sol-0.5.4-compact.json | 0 .../expected/break-all.sol-0.5.4-legacy.json | 0 .../expected/break-all.sol-0.5.5-compact.json | 0 .../expected/break-all.sol-0.5.5-legacy.json | 0 .../expected/break-all.sol-0.5.6-compact.json | 0 .../expected/break-all.sol-0.5.6-legacy.json | 0 .../expected/break-all.sol-0.5.7-compact.json | 0 .../expected/break-all.sol-0.5.7-legacy.json | 0 .../expected/break-all.sol-0.5.8-compact.json | 0 .../expected/break-all.sol-0.5.8-legacy.json | 0 .../expected/break-all.sol-0.5.9-compact.json | 0 .../expected/break-all.sol-0.5.9-legacy.json | 0 .../expected/break-all.sol-0.6.0-compact.json | 0 .../expected/break-all.sol-0.6.0-legacy.json | 0 .../expected/break-all.sol-0.6.1-compact.json | 0 .../expected/break-all.sol-0.6.1-legacy.json | 0 .../break-all.sol-0.6.10-compact.json | 0 .../expected/break-all.sol-0.6.10-legacy.json | 0 .../break-all.sol-0.6.11-compact.json | 0 .../expected/break-all.sol-0.6.11-legacy.json | 0 .../break-all.sol-0.6.12-compact.json | 0 .../expected/break-all.sol-0.6.12-legacy.json | 0 .../expected/break-all.sol-0.6.2-compact.json | 0 .../expected/break-all.sol-0.6.2-legacy.json | 0 .../expected/break-all.sol-0.6.3-compact.json | 0 .../expected/break-all.sol-0.6.3-legacy.json | 0 .../expected/break-all.sol-0.6.4-compact.json | 0 .../expected/break-all.sol-0.6.4-legacy.json | 0 .../expected/break-all.sol-0.6.5-compact.json | 0 .../expected/break-all.sol-0.6.5-legacy.json | 0 .../expected/break-all.sol-0.6.6-compact.json | 0 .../expected/break-all.sol-0.6.6-legacy.json | 0 .../expected/break-all.sol-0.6.7-compact.json | 0 .../expected/break-all.sol-0.6.7-legacy.json | 0 .../expected/break-all.sol-0.6.8-compact.json | 0 .../expected/break-all.sol-0.6.8-legacy.json | 0 .../expected/break-all.sol-0.6.9-compact.json | 0 .../expected/break-all.sol-0.6.9-legacy.json | 0 .../expected/break-all.sol-0.7.0-compact.json | 0 .../expected/break-all.sol-0.7.0-legacy.json | 0 .../expected/break-all.sol-0.7.1-compact.json | 0 .../expected/break-all.sol-0.7.1-legacy.json | 0 .../expected/break-all.sol-0.7.2-compact.json | 0 .../expected/break-all.sol-0.7.2-legacy.json | 0 .../expected/break-all.sol-0.7.3-compact.json | 0 .../expected/break-all.sol-0.7.3-legacy.json | 0 .../expected/break-all.sol-0.7.4-compact.json | 0 .../expected/break-all.sol-0.7.4-legacy.json | 0 .../expected/break-all.sol-0.7.5-compact.json | 0 .../expected/break-all.sol-0.7.5-legacy.json | 0 .../expected/break-all.sol-0.7.6-compact.json | 0 .../expected/break-all.sol-0.7.6-legacy.json | 0 .../expected/break-all.sol-0.8.0-compact.json | 0 .../expected/break-all.sol-0.8.1-compact.json | 0 .../break-all.sol-0.8.10-compact.json | 0 .../break-all.sol-0.8.11-compact.json | 0 .../break-all.sol-0.8.12-compact.json | 0 .../break-all.sol-0.8.13-compact.json | 0 .../break-all.sol-0.8.14-compact.json | 0 .../break-all.sol-0.8.15-compact.json | 0 .../expected/break-all.sol-0.8.2-compact.json | 0 .../expected/break-all.sol-0.8.3-compact.json | 0 .../expected/break-all.sol-0.8.4-compact.json | 0 .../expected/break-all.sol-0.8.5-compact.json | 0 .../expected/break-all.sol-0.8.6-compact.json | 0 .../expected/break-all.sol-0.8.7-compact.json | 0 .../expected/break-all.sol-0.8.8-compact.json | 0 .../expected/break-all.sol-0.8.9-compact.json | 0 .../bytes_call.sol-0.8.12-compact.json | 0 ...all_to_variable-all.sol-0.4.0-compact.json | 0 ...call_to_variable-all.sol-0.4.0-legacy.json | 0 ...all_to_variable-all.sol-0.4.1-compact.json | 0 ...call_to_variable-all.sol-0.4.1-legacy.json | 0 ...ll_to_variable-all.sol-0.4.10-compact.json | 0 ...all_to_variable-all.sol-0.4.10-legacy.json | 0 ...ll_to_variable-all.sol-0.4.11-compact.json | 0 ...all_to_variable-all.sol-0.4.11-legacy.json | 0 ...ll_to_variable-all.sol-0.4.12-compact.json | 0 ...all_to_variable-all.sol-0.4.12-legacy.json | 0 ...ll_to_variable-all.sol-0.4.13-compact.json | 0 ...all_to_variable-all.sol-0.4.13-legacy.json | 0 ...ll_to_variable-all.sol-0.4.14-compact.json | 0 ...all_to_variable-all.sol-0.4.14-legacy.json | 0 ...ll_to_variable-all.sol-0.4.15-compact.json | 0 ...all_to_variable-all.sol-0.4.15-legacy.json | 0 ...ll_to_variable-all.sol-0.4.16-compact.json | 0 ...all_to_variable-all.sol-0.4.16-legacy.json | 0 ...ll_to_variable-all.sol-0.4.17-compact.json | 0 ...all_to_variable-all.sol-0.4.17-legacy.json | 0 ...ll_to_variable-all.sol-0.4.18-compact.json | 0 ...all_to_variable-all.sol-0.4.18-legacy.json | 0 ...ll_to_variable-all.sol-0.4.19-compact.json | 0 ...all_to_variable-all.sol-0.4.19-legacy.json | 0 ...all_to_variable-all.sol-0.4.2-compact.json | 0 ...call_to_variable-all.sol-0.4.2-legacy.json | 0 ...ll_to_variable-all.sol-0.4.20-compact.json | 0 ...all_to_variable-all.sol-0.4.20-legacy.json | 0 ...ll_to_variable-all.sol-0.4.21-compact.json | 0 ...all_to_variable-all.sol-0.4.21-legacy.json | 0 ...ll_to_variable-all.sol-0.4.22-compact.json | 0 ...all_to_variable-all.sol-0.4.22-legacy.json | 0 ...ll_to_variable-all.sol-0.4.23-compact.json | 0 ...all_to_variable-all.sol-0.4.23-legacy.json | 0 ...ll_to_variable-all.sol-0.4.24-compact.json | 0 ...all_to_variable-all.sol-0.4.24-legacy.json | 0 ...ll_to_variable-all.sol-0.4.25-compact.json | 0 ...all_to_variable-all.sol-0.4.25-legacy.json | 0 ...ll_to_variable-all.sol-0.4.26-compact.json | 0 ...all_to_variable-all.sol-0.4.26-legacy.json | 0 ...all_to_variable-all.sol-0.4.3-compact.json | 0 ...call_to_variable-all.sol-0.4.3-legacy.json | 0 ...all_to_variable-all.sol-0.4.4-compact.json | 0 ...call_to_variable-all.sol-0.4.4-legacy.json | 0 ...all_to_variable-all.sol-0.4.5-compact.json | 0 ...call_to_variable-all.sol-0.4.5-legacy.json | 0 ...all_to_variable-all.sol-0.4.6-compact.json | 0 ...call_to_variable-all.sol-0.4.6-legacy.json | 0 ...all_to_variable-all.sol-0.4.7-compact.json | 0 ...call_to_variable-all.sol-0.4.7-legacy.json | 0 ...all_to_variable-all.sol-0.4.8-compact.json | 0 ...call_to_variable-all.sol-0.4.8-legacy.json | 0 ...all_to_variable-all.sol-0.4.9-compact.json | 0 ...call_to_variable-all.sol-0.4.9-legacy.json | 0 ...all_to_variable-all.sol-0.5.0-compact.json | 0 ...call_to_variable-all.sol-0.5.0-legacy.json | 0 ...all_to_variable-all.sol-0.5.1-compact.json | 0 ...call_to_variable-all.sol-0.5.1-legacy.json | 0 ...ll_to_variable-all.sol-0.5.10-compact.json | 0 ...all_to_variable-all.sol-0.5.10-legacy.json | 0 ...ll_to_variable-all.sol-0.5.11-compact.json | 0 ...all_to_variable-all.sol-0.5.11-legacy.json | 0 ...ll_to_variable-all.sol-0.5.12-compact.json | 0 ...all_to_variable-all.sol-0.5.12-legacy.json | 0 ...ll_to_variable-all.sol-0.5.13-compact.json | 0 ...all_to_variable-all.sol-0.5.13-legacy.json | 0 ...ll_to_variable-all.sol-0.5.14-compact.json | 0 ...all_to_variable-all.sol-0.5.14-legacy.json | 0 ...ll_to_variable-all.sol-0.5.15-compact.json | 0 ...all_to_variable-all.sol-0.5.15-legacy.json | 0 ...ll_to_variable-all.sol-0.5.16-compact.json | 0 ...all_to_variable-all.sol-0.5.16-legacy.json | 0 ...ll_to_variable-all.sol-0.5.17-compact.json | 0 ...all_to_variable-all.sol-0.5.17-legacy.json | 0 ...all_to_variable-all.sol-0.5.2-compact.json | 0 ...call_to_variable-all.sol-0.5.2-legacy.json | 0 ...all_to_variable-all.sol-0.5.3-compact.json | 0 ...call_to_variable-all.sol-0.5.3-legacy.json | 0 ...all_to_variable-all.sol-0.5.4-compact.json | 0 ...call_to_variable-all.sol-0.5.4-legacy.json | 0 ...all_to_variable-all.sol-0.5.5-compact.json | 0 ...call_to_variable-all.sol-0.5.5-legacy.json | 0 ...all_to_variable-all.sol-0.5.6-compact.json | 0 ...call_to_variable-all.sol-0.5.6-legacy.json | 0 ...all_to_variable-all.sol-0.5.7-compact.json | 0 ...call_to_variable-all.sol-0.5.7-legacy.json | 0 ...all_to_variable-all.sol-0.5.8-compact.json | 0 ...call_to_variable-all.sol-0.5.8-legacy.json | 0 ...all_to_variable-all.sol-0.5.9-compact.json | 0 ...call_to_variable-all.sol-0.5.9-legacy.json | 0 ...all_to_variable-all.sol-0.6.0-compact.json | 0 ...call_to_variable-all.sol-0.6.0-legacy.json | 0 ...all_to_variable-all.sol-0.6.1-compact.json | 0 ...call_to_variable-all.sol-0.6.1-legacy.json | 0 ...ll_to_variable-all.sol-0.6.10-compact.json | 0 ...all_to_variable-all.sol-0.6.10-legacy.json | 0 ...ll_to_variable-all.sol-0.6.11-compact.json | 0 ...all_to_variable-all.sol-0.6.11-legacy.json | 0 ...ll_to_variable-all.sol-0.6.12-compact.json | 0 ...all_to_variable-all.sol-0.6.12-legacy.json | 0 ...all_to_variable-all.sol-0.6.2-compact.json | 0 ...call_to_variable-all.sol-0.6.2-legacy.json | 0 ...all_to_variable-all.sol-0.6.3-compact.json | 0 ...call_to_variable-all.sol-0.6.3-legacy.json | 0 ...all_to_variable-all.sol-0.6.4-compact.json | 0 ...call_to_variable-all.sol-0.6.4-legacy.json | 0 ...all_to_variable-all.sol-0.6.5-compact.json | 0 ...call_to_variable-all.sol-0.6.5-legacy.json | 0 ...all_to_variable-all.sol-0.6.6-compact.json | 0 ...call_to_variable-all.sol-0.6.6-legacy.json | 0 ...all_to_variable-all.sol-0.6.7-compact.json | 0 ...call_to_variable-all.sol-0.6.7-legacy.json | 0 ...all_to_variable-all.sol-0.6.8-compact.json | 0 ...call_to_variable-all.sol-0.6.8-legacy.json | 0 ...all_to_variable-all.sol-0.6.9-compact.json | 0 ...call_to_variable-all.sol-0.6.9-legacy.json | 0 ...all_to_variable-all.sol-0.7.0-compact.json | 0 ...call_to_variable-all.sol-0.7.0-legacy.json | 0 ...all_to_variable-all.sol-0.7.1-compact.json | 0 ...call_to_variable-all.sol-0.7.1-legacy.json | 0 ...all_to_variable-all.sol-0.7.2-compact.json | 0 ...call_to_variable-all.sol-0.7.2-legacy.json | 0 ...all_to_variable-all.sol-0.7.3-compact.json | 0 ...call_to_variable-all.sol-0.7.3-legacy.json | 0 ...all_to_variable-all.sol-0.7.4-compact.json | 0 ...call_to_variable-all.sol-0.7.4-legacy.json | 0 ...all_to_variable-all.sol-0.7.5-compact.json | 0 ...call_to_variable-all.sol-0.7.5-legacy.json | 0 ...all_to_variable-all.sol-0.7.6-compact.json | 0 ...call_to_variable-all.sol-0.7.6-legacy.json | 0 ...all_to_variable-all.sol-0.8.0-compact.json | 0 ...all_to_variable-all.sol-0.8.1-compact.json | 0 ...ll_to_variable-all.sol-0.8.10-compact.json | 0 ...ll_to_variable-all.sol-0.8.11-compact.json | 0 ...ll_to_variable-all.sol-0.8.12-compact.json | 0 ...ll_to_variable-all.sol-0.8.13-compact.json | 0 ...ll_to_variable-all.sol-0.8.14-compact.json | 0 ...ll_to_variable-all.sol-0.8.15-compact.json | 0 ...all_to_variable-all.sol-0.8.2-compact.json | 0 ...all_to_variable-all.sol-0.8.3-compact.json | 0 ...all_to_variable-all.sol-0.8.4-compact.json | 0 ...all_to_variable-all.sol-0.8.5-compact.json | 0 ...all_to_variable-all.sol-0.8.6-compact.json | 0 ...all_to_variable-all.sol-0.8.7-compact.json | 0 ...all_to_variable-all.sol-0.8.8-compact.json | 0 ...all_to_variable-all.sol-0.8.9-compact.json | 0 .../comment-all.sol-0.4.0-compact.json | 0 .../comment-all.sol-0.4.0-legacy.json | 0 .../comment-all.sol-0.4.1-compact.json | 0 .../comment-all.sol-0.4.1-legacy.json | 0 .../comment-all.sol-0.4.10-compact.json | 0 .../comment-all.sol-0.4.10-legacy.json | 0 .../comment-all.sol-0.4.11-compact.json | 0 .../comment-all.sol-0.4.11-legacy.json | 0 .../comment-all.sol-0.4.12-compact.json | 0 .../comment-all.sol-0.4.12-legacy.json | 0 .../comment-all.sol-0.4.13-compact.json | 0 .../comment-all.sol-0.4.13-legacy.json | 0 .../comment-all.sol-0.4.14-compact.json | 0 .../comment-all.sol-0.4.14-legacy.json | 0 .../comment-all.sol-0.4.15-compact.json | 0 .../comment-all.sol-0.4.15-legacy.json | 0 .../comment-all.sol-0.4.16-compact.json | 0 .../comment-all.sol-0.4.16-legacy.json | 0 .../comment-all.sol-0.4.17-compact.json | 0 .../comment-all.sol-0.4.17-legacy.json | 0 .../comment-all.sol-0.4.18-compact.json | 0 .../comment-all.sol-0.4.18-legacy.json | 0 .../comment-all.sol-0.4.19-compact.json | 0 .../comment-all.sol-0.4.19-legacy.json | 0 .../comment-all.sol-0.4.2-compact.json | 0 .../comment-all.sol-0.4.2-legacy.json | 0 .../comment-all.sol-0.4.20-compact.json | 0 .../comment-all.sol-0.4.20-legacy.json | 0 .../comment-all.sol-0.4.21-compact.json | 0 .../comment-all.sol-0.4.21-legacy.json | 0 .../comment-all.sol-0.4.22-compact.json | 0 .../comment-all.sol-0.4.22-legacy.json | 0 .../comment-all.sol-0.4.23-compact.json | 0 .../comment-all.sol-0.4.23-legacy.json | 0 .../comment-all.sol-0.4.24-compact.json | 0 .../comment-all.sol-0.4.24-legacy.json | 0 .../comment-all.sol-0.4.25-compact.json | 0 .../comment-all.sol-0.4.25-legacy.json | 0 .../comment-all.sol-0.4.26-compact.json | 0 .../comment-all.sol-0.4.26-legacy.json | 0 .../comment-all.sol-0.4.3-compact.json | 0 .../comment-all.sol-0.4.3-legacy.json | 0 .../comment-all.sol-0.4.4-compact.json | 0 .../comment-all.sol-0.4.4-legacy.json | 0 .../comment-all.sol-0.4.5-compact.json | 0 .../comment-all.sol-0.4.5-legacy.json | 0 .../comment-all.sol-0.4.6-compact.json | 0 .../comment-all.sol-0.4.6-legacy.json | 0 .../comment-all.sol-0.4.7-compact.json | 0 .../comment-all.sol-0.4.7-legacy.json | 0 .../comment-all.sol-0.4.8-compact.json | 0 .../comment-all.sol-0.4.8-legacy.json | 0 .../comment-all.sol-0.4.9-compact.json | 0 .../comment-all.sol-0.4.9-legacy.json | 0 .../comment-all.sol-0.5.0-compact.json | 0 .../comment-all.sol-0.5.0-legacy.json | 0 .../comment-all.sol-0.5.1-compact.json | 0 .../comment-all.sol-0.5.1-legacy.json | 0 .../comment-all.sol-0.5.10-compact.json | 0 .../comment-all.sol-0.5.10-legacy.json | 0 .../comment-all.sol-0.5.11-compact.json | 0 .../comment-all.sol-0.5.11-legacy.json | 0 .../comment-all.sol-0.5.12-compact.json | 0 .../comment-all.sol-0.5.12-legacy.json | 0 .../comment-all.sol-0.5.13-compact.json | 0 .../comment-all.sol-0.5.13-legacy.json | 0 .../comment-all.sol-0.5.14-compact.json | 0 .../comment-all.sol-0.5.14-legacy.json | 0 .../comment-all.sol-0.5.15-compact.json | 0 .../comment-all.sol-0.5.15-legacy.json | 0 .../comment-all.sol-0.5.16-compact.json | 0 .../comment-all.sol-0.5.16-legacy.json | 0 .../comment-all.sol-0.5.17-compact.json | 0 .../comment-all.sol-0.5.17-legacy.json | 0 .../comment-all.sol-0.5.2-compact.json | 0 .../comment-all.sol-0.5.2-legacy.json | 0 .../comment-all.sol-0.5.3-compact.json | 0 .../comment-all.sol-0.5.3-legacy.json | 0 .../comment-all.sol-0.5.4-compact.json | 0 .../comment-all.sol-0.5.4-legacy.json | 0 .../comment-all.sol-0.5.5-compact.json | 0 .../comment-all.sol-0.5.5-legacy.json | 0 .../comment-all.sol-0.5.6-compact.json | 0 .../comment-all.sol-0.5.6-legacy.json | 0 .../comment-all.sol-0.5.7-compact.json | 0 .../comment-all.sol-0.5.7-legacy.json | 0 .../comment-all.sol-0.5.8-compact.json | 0 .../comment-all.sol-0.5.8-legacy.json | 0 .../comment-all.sol-0.5.9-compact.json | 0 .../comment-all.sol-0.5.9-legacy.json | 0 .../comment-all.sol-0.6.0-compact.json | 0 .../comment-all.sol-0.6.0-legacy.json | 0 .../comment-all.sol-0.6.1-compact.json | 0 .../comment-all.sol-0.6.1-legacy.json | 0 .../comment-all.sol-0.6.10-compact.json | 0 .../comment-all.sol-0.6.10-legacy.json | 0 .../comment-all.sol-0.6.11-compact.json | 0 .../comment-all.sol-0.6.11-legacy.json | 0 .../comment-all.sol-0.6.12-compact.json | 0 .../comment-all.sol-0.6.12-legacy.json | 0 .../comment-all.sol-0.6.2-compact.json | 0 .../comment-all.sol-0.6.2-legacy.json | 0 .../comment-all.sol-0.6.3-compact.json | 0 .../comment-all.sol-0.6.3-legacy.json | 0 .../comment-all.sol-0.6.4-compact.json | 0 .../comment-all.sol-0.6.4-legacy.json | 0 .../comment-all.sol-0.6.5-compact.json | 0 .../comment-all.sol-0.6.5-legacy.json | 0 .../comment-all.sol-0.6.6-compact.json | 0 .../comment-all.sol-0.6.6-legacy.json | 0 .../comment-all.sol-0.6.7-compact.json | 0 .../comment-all.sol-0.6.7-legacy.json | 0 .../comment-all.sol-0.6.8-compact.json | 0 .../comment-all.sol-0.6.8-legacy.json | 0 .../comment-all.sol-0.6.9-compact.json | 0 .../comment-all.sol-0.6.9-legacy.json | 0 .../comment-all.sol-0.7.0-compact.json | 0 .../comment-all.sol-0.7.0-legacy.json | 0 .../comment-all.sol-0.7.1-compact.json | 0 .../comment-all.sol-0.7.1-legacy.json | 0 .../comment-all.sol-0.7.2-compact.json | 0 .../comment-all.sol-0.7.2-legacy.json | 0 .../comment-all.sol-0.7.3-compact.json | 0 .../comment-all.sol-0.7.3-legacy.json | 0 .../comment-all.sol-0.7.4-compact.json | 0 .../comment-all.sol-0.7.4-legacy.json | 0 .../comment-all.sol-0.7.5-compact.json | 0 .../comment-all.sol-0.7.5-legacy.json | 0 .../comment-all.sol-0.7.6-compact.json | 0 .../comment-all.sol-0.7.6-legacy.json | 0 .../comment-all.sol-0.8.0-compact.json | 0 .../comment-all.sol-0.8.1-compact.json | 0 .../comment-all.sol-0.8.10-compact.json | 0 .../comment-all.sol-0.8.11-compact.json | 0 .../comment-all.sol-0.8.12-compact.json | 0 .../comment-all.sol-0.8.13-compact.json | 0 .../comment-all.sol-0.8.14-compact.json | 0 .../comment-all.sol-0.8.15-compact.json | 0 .../comment-all.sol-0.8.2-compact.json | 0 .../comment-all.sol-0.8.3-compact.json | 0 .../comment-all.sol-0.8.4-compact.json | 0 .../comment-all.sol-0.8.5-compact.json | 0 .../comment-all.sol-0.8.6-compact.json | 0 .../comment-all.sol-0.8.7-compact.json | 0 .../comment-all.sol-0.8.8-compact.json | 0 .../comment-all.sol-0.8.9-compact.json | 0 .../test.sol-0.8.0-compact.json | 0 .../test.sol-0.8.1-compact.json | 0 .../test.sol-0.8.10-compact.json | 0 .../test.sol-0.8.11-compact.json | 0 .../test.sol-0.8.12-compact.json | 0 .../test.sol-0.8.13-compact.json | 0 .../test.sol-0.8.14-compact.json | 0 .../test.sol-0.8.15-compact.json | 0 .../test.sol-0.8.2-compact.json | 0 .../test.sol-0.8.3-compact.json | 0 .../test.sol-0.8.4-compact.json | 0 .../test.sol-0.8.5-compact.json | 0 .../test.sol-0.8.6-compact.json | 0 .../test.sol-0.8.7-compact.json | 0 .../test.sol-0.8.8-compact.json | 0 .../test.sol-0.8.9-compact.json | 0 .../test.sol-0.5.12-compact.json | 0 .../test.sol-0.5.12-legacy.json | 0 .../import_free/Caller.sol-0.8.2-compact.json | 0 .../conditional-all.sol-0.4.0-compact.json | 0 .../conditional-all.sol-0.4.0-legacy.json | 0 .../conditional-all.sol-0.4.1-compact.json | 0 .../conditional-all.sol-0.4.1-legacy.json | 0 .../conditional-all.sol-0.4.10-compact.json | 0 .../conditional-all.sol-0.4.10-legacy.json | 0 .../conditional-all.sol-0.4.11-compact.json | 0 .../conditional-all.sol-0.4.11-legacy.json | 0 .../conditional-all.sol-0.4.12-compact.json | 0 .../conditional-all.sol-0.4.12-legacy.json | 0 .../conditional-all.sol-0.4.13-compact.json | 0 .../conditional-all.sol-0.4.13-legacy.json | 0 .../conditional-all.sol-0.4.14-compact.json | 0 .../conditional-all.sol-0.4.14-legacy.json | 0 .../conditional-all.sol-0.4.15-compact.json | 0 .../conditional-all.sol-0.4.15-legacy.json | 0 .../conditional-all.sol-0.4.16-compact.json | 0 .../conditional-all.sol-0.4.16-legacy.json | 0 .../conditional-all.sol-0.4.17-compact.json | 0 .../conditional-all.sol-0.4.17-legacy.json | 0 .../conditional-all.sol-0.4.18-compact.json | 0 .../conditional-all.sol-0.4.18-legacy.json | 0 .../conditional-all.sol-0.4.19-compact.json | 0 .../conditional-all.sol-0.4.19-legacy.json | 0 .../conditional-all.sol-0.4.2-compact.json | 0 .../conditional-all.sol-0.4.2-legacy.json | 0 .../conditional-all.sol-0.4.20-compact.json | 0 .../conditional-all.sol-0.4.20-legacy.json | 0 .../conditional-all.sol-0.4.21-compact.json | 0 .../conditional-all.sol-0.4.21-legacy.json | 0 .../conditional-all.sol-0.4.22-compact.json | 0 .../conditional-all.sol-0.4.22-legacy.json | 0 .../conditional-all.sol-0.4.23-compact.json | 0 .../conditional-all.sol-0.4.23-legacy.json | 0 .../conditional-all.sol-0.4.24-compact.json | 0 .../conditional-all.sol-0.4.24-legacy.json | 0 .../conditional-all.sol-0.4.25-compact.json | 0 .../conditional-all.sol-0.4.25-legacy.json | 0 .../conditional-all.sol-0.4.26-compact.json | 0 .../conditional-all.sol-0.4.26-legacy.json | 0 .../conditional-all.sol-0.4.3-compact.json | 0 .../conditional-all.sol-0.4.3-legacy.json | 0 .../conditional-all.sol-0.4.4-compact.json | 0 .../conditional-all.sol-0.4.4-legacy.json | 0 .../conditional-all.sol-0.4.5-compact.json | 0 .../conditional-all.sol-0.4.5-legacy.json | 0 .../conditional-all.sol-0.4.6-compact.json | 0 .../conditional-all.sol-0.4.6-legacy.json | 0 .../conditional-all.sol-0.4.7-compact.json | 0 .../conditional-all.sol-0.4.7-legacy.json | 0 .../conditional-all.sol-0.4.8-compact.json | 0 .../conditional-all.sol-0.4.8-legacy.json | 0 .../conditional-all.sol-0.4.9-compact.json | 0 .../conditional-all.sol-0.4.9-legacy.json | 0 .../conditional-all.sol-0.5.0-compact.json | 0 .../conditional-all.sol-0.5.0-legacy.json | 0 .../conditional-all.sol-0.5.1-compact.json | 0 .../conditional-all.sol-0.5.1-legacy.json | 0 .../conditional-all.sol-0.5.10-compact.json | 0 .../conditional-all.sol-0.5.10-legacy.json | 0 .../conditional-all.sol-0.5.11-compact.json | 0 .../conditional-all.sol-0.5.11-legacy.json | 0 .../conditional-all.sol-0.5.12-compact.json | 0 .../conditional-all.sol-0.5.12-legacy.json | 0 .../conditional-all.sol-0.5.13-compact.json | 0 .../conditional-all.sol-0.5.13-legacy.json | 0 .../conditional-all.sol-0.5.14-compact.json | 0 .../conditional-all.sol-0.5.14-legacy.json | 0 .../conditional-all.sol-0.5.15-compact.json | 0 .../conditional-all.sol-0.5.15-legacy.json | 0 .../conditional-all.sol-0.5.16-compact.json | 0 .../conditional-all.sol-0.5.16-legacy.json | 0 .../conditional-all.sol-0.5.17-compact.json | 0 .../conditional-all.sol-0.5.17-legacy.json | 0 .../conditional-all.sol-0.5.2-compact.json | 0 .../conditional-all.sol-0.5.2-legacy.json | 0 .../conditional-all.sol-0.5.3-compact.json | 0 .../conditional-all.sol-0.5.3-legacy.json | 0 .../conditional-all.sol-0.5.4-compact.json | 0 .../conditional-all.sol-0.5.4-legacy.json | 0 .../conditional-all.sol-0.5.5-compact.json | 0 .../conditional-all.sol-0.5.5-legacy.json | 0 .../conditional-all.sol-0.5.6-compact.json | 0 .../conditional-all.sol-0.5.6-legacy.json | 0 .../conditional-all.sol-0.5.7-compact.json | 0 .../conditional-all.sol-0.5.7-legacy.json | 0 .../conditional-all.sol-0.5.8-compact.json | 0 .../conditional-all.sol-0.5.8-legacy.json | 0 .../conditional-all.sol-0.5.9-compact.json | 0 .../conditional-all.sol-0.5.9-legacy.json | 0 .../conditional-all.sol-0.6.0-compact.json | 0 .../conditional-all.sol-0.6.0-legacy.json | 0 .../conditional-all.sol-0.6.1-compact.json | 0 .../conditional-all.sol-0.6.1-legacy.json | 0 .../conditional-all.sol-0.6.10-compact.json | 0 .../conditional-all.sol-0.6.10-legacy.json | 0 .../conditional-all.sol-0.6.11-compact.json | 0 .../conditional-all.sol-0.6.11-legacy.json | 0 .../conditional-all.sol-0.6.12-compact.json | 0 .../conditional-all.sol-0.6.12-legacy.json | 0 .../conditional-all.sol-0.6.2-compact.json | 0 .../conditional-all.sol-0.6.2-legacy.json | 0 .../conditional-all.sol-0.6.3-compact.json | 0 .../conditional-all.sol-0.6.3-legacy.json | 0 .../conditional-all.sol-0.6.4-compact.json | 0 .../conditional-all.sol-0.6.4-legacy.json | 0 .../conditional-all.sol-0.6.5-compact.json | 0 .../conditional-all.sol-0.6.5-legacy.json | 0 .../conditional-all.sol-0.6.6-compact.json | 0 .../conditional-all.sol-0.6.6-legacy.json | 0 .../conditional-all.sol-0.6.7-compact.json | 0 .../conditional-all.sol-0.6.7-legacy.json | 0 .../conditional-all.sol-0.6.8-compact.json | 0 .../conditional-all.sol-0.6.8-legacy.json | 0 .../conditional-all.sol-0.6.9-compact.json | 0 .../conditional-all.sol-0.6.9-legacy.json | 0 .../conditional-all.sol-0.7.0-compact.json | 0 .../conditional-all.sol-0.7.0-legacy.json | 0 .../conditional-all.sol-0.7.1-compact.json | 0 .../conditional-all.sol-0.7.1-legacy.json | 0 .../conditional-all.sol-0.7.2-compact.json | 0 .../conditional-all.sol-0.7.2-legacy.json | 0 .../conditional-all.sol-0.7.3-compact.json | 0 .../conditional-all.sol-0.7.3-legacy.json | 0 .../conditional-all.sol-0.7.4-compact.json | 0 .../conditional-all.sol-0.7.4-legacy.json | 0 .../conditional-all.sol-0.7.5-compact.json | 0 .../conditional-all.sol-0.7.5-legacy.json | 0 .../conditional-all.sol-0.7.6-compact.json | 0 .../conditional-all.sol-0.7.6-legacy.json | 0 .../conditional-all.sol-0.8.0-compact.json | 0 .../conditional-all.sol-0.8.1-compact.json | 0 .../conditional-all.sol-0.8.10-compact.json | 0 .../conditional-all.sol-0.8.11-compact.json | 0 .../conditional-all.sol-0.8.12-compact.json | 0 .../conditional-all.sol-0.8.13-compact.json | 0 .../conditional-all.sol-0.8.14-compact.json | 0 .../conditional-all.sol-0.8.15-compact.json | 0 .../conditional-all.sol-0.8.2-compact.json | 0 .../conditional-all.sol-0.8.3-compact.json | 0 .../conditional-all.sol-0.8.4-compact.json | 0 .../conditional-all.sol-0.8.5-compact.json | 0 .../conditional-all.sol-0.8.6-compact.json | 0 .../conditional-all.sol-0.8.7-compact.json | 0 .../conditional-all.sol-0.8.8-compact.json | 0 .../conditional-all.sol-0.8.9-compact.json | 0 .../continue-all.sol-0.4.0-compact.json | 0 .../continue-all.sol-0.4.0-legacy.json | 0 .../continue-all.sol-0.4.1-compact.json | 0 .../continue-all.sol-0.4.1-legacy.json | 0 .../continue-all.sol-0.4.10-compact.json | 0 .../continue-all.sol-0.4.10-legacy.json | 0 .../continue-all.sol-0.4.11-compact.json | 0 .../continue-all.sol-0.4.11-legacy.json | 0 .../continue-all.sol-0.4.12-compact.json | 0 .../continue-all.sol-0.4.12-legacy.json | 0 .../continue-all.sol-0.4.13-compact.json | 0 .../continue-all.sol-0.4.13-legacy.json | 0 .../continue-all.sol-0.4.14-compact.json | 0 .../continue-all.sol-0.4.14-legacy.json | 0 .../continue-all.sol-0.4.15-compact.json | 0 .../continue-all.sol-0.4.15-legacy.json | 0 .../continue-all.sol-0.4.16-compact.json | 0 .../continue-all.sol-0.4.16-legacy.json | 0 .../continue-all.sol-0.4.17-compact.json | 0 .../continue-all.sol-0.4.17-legacy.json | 0 .../continue-all.sol-0.4.18-compact.json | 0 .../continue-all.sol-0.4.18-legacy.json | 0 .../continue-all.sol-0.4.19-compact.json | 0 .../continue-all.sol-0.4.19-legacy.json | 0 .../continue-all.sol-0.4.2-compact.json | 0 .../continue-all.sol-0.4.2-legacy.json | 0 .../continue-all.sol-0.4.20-compact.json | 0 .../continue-all.sol-0.4.20-legacy.json | 0 .../continue-all.sol-0.4.21-compact.json | 0 .../continue-all.sol-0.4.21-legacy.json | 0 .../continue-all.sol-0.4.22-compact.json | 0 .../continue-all.sol-0.4.22-legacy.json | 0 .../continue-all.sol-0.4.23-compact.json | 0 .../continue-all.sol-0.4.23-legacy.json | 0 .../continue-all.sol-0.4.24-compact.json | 0 .../continue-all.sol-0.4.24-legacy.json | 0 .../continue-all.sol-0.4.25-compact.json | 0 .../continue-all.sol-0.4.25-legacy.json | 0 .../continue-all.sol-0.4.26-compact.json | 0 .../continue-all.sol-0.4.26-legacy.json | 0 .../continue-all.sol-0.4.3-compact.json | 0 .../continue-all.sol-0.4.3-legacy.json | 0 .../continue-all.sol-0.4.4-compact.json | 0 .../continue-all.sol-0.4.4-legacy.json | 0 .../continue-all.sol-0.4.5-compact.json | 0 .../continue-all.sol-0.4.5-legacy.json | 0 .../continue-all.sol-0.4.6-compact.json | 0 .../continue-all.sol-0.4.6-legacy.json | 0 .../continue-all.sol-0.4.7-compact.json | 0 .../continue-all.sol-0.4.7-legacy.json | 0 .../continue-all.sol-0.4.8-compact.json | 0 .../continue-all.sol-0.4.8-legacy.json | 0 .../continue-all.sol-0.4.9-compact.json | 0 .../continue-all.sol-0.4.9-legacy.json | 0 .../continue-all.sol-0.5.0-compact.json | 0 .../continue-all.sol-0.5.0-legacy.json | 0 .../continue-all.sol-0.5.1-compact.json | 0 .../continue-all.sol-0.5.1-legacy.json | 0 .../continue-all.sol-0.5.10-compact.json | 0 .../continue-all.sol-0.5.10-legacy.json | 0 .../continue-all.sol-0.5.11-compact.json | 0 .../continue-all.sol-0.5.11-legacy.json | 0 .../continue-all.sol-0.5.12-compact.json | 0 .../continue-all.sol-0.5.12-legacy.json | 0 .../continue-all.sol-0.5.13-compact.json | 0 .../continue-all.sol-0.5.13-legacy.json | 0 .../continue-all.sol-0.5.14-compact.json | 0 .../continue-all.sol-0.5.14-legacy.json | 0 .../continue-all.sol-0.5.15-compact.json | 0 .../continue-all.sol-0.5.15-legacy.json | 0 .../continue-all.sol-0.5.16-compact.json | 0 .../continue-all.sol-0.5.16-legacy.json | 0 .../continue-all.sol-0.5.17-compact.json | 0 .../continue-all.sol-0.5.17-legacy.json | 0 .../continue-all.sol-0.5.2-compact.json | 0 .../continue-all.sol-0.5.2-legacy.json | 0 .../continue-all.sol-0.5.3-compact.json | 0 .../continue-all.sol-0.5.3-legacy.json | 0 .../continue-all.sol-0.5.4-compact.json | 0 .../continue-all.sol-0.5.4-legacy.json | 0 .../continue-all.sol-0.5.5-compact.json | 0 .../continue-all.sol-0.5.5-legacy.json | 0 .../continue-all.sol-0.5.6-compact.json | 0 .../continue-all.sol-0.5.6-legacy.json | 0 .../continue-all.sol-0.5.7-compact.json | 0 .../continue-all.sol-0.5.7-legacy.json | 0 .../continue-all.sol-0.5.8-compact.json | 0 .../continue-all.sol-0.5.8-legacy.json | 0 .../continue-all.sol-0.5.9-compact.json | 0 .../continue-all.sol-0.5.9-legacy.json | 0 .../continue-all.sol-0.6.0-compact.json | 0 .../continue-all.sol-0.6.0-legacy.json | 0 .../continue-all.sol-0.6.1-compact.json | 0 .../continue-all.sol-0.6.1-legacy.json | 0 .../continue-all.sol-0.6.10-compact.json | 0 .../continue-all.sol-0.6.10-legacy.json | 0 .../continue-all.sol-0.6.11-compact.json | 0 .../continue-all.sol-0.6.11-legacy.json | 0 .../continue-all.sol-0.6.12-compact.json | 0 .../continue-all.sol-0.6.12-legacy.json | 0 .../continue-all.sol-0.6.2-compact.json | 0 .../continue-all.sol-0.6.2-legacy.json | 0 .../continue-all.sol-0.6.3-compact.json | 0 .../continue-all.sol-0.6.3-legacy.json | 0 .../continue-all.sol-0.6.4-compact.json | 0 .../continue-all.sol-0.6.4-legacy.json | 0 .../continue-all.sol-0.6.5-compact.json | 0 .../continue-all.sol-0.6.5-legacy.json | 0 .../continue-all.sol-0.6.6-compact.json | 0 .../continue-all.sol-0.6.6-legacy.json | 0 .../continue-all.sol-0.6.7-compact.json | 0 .../continue-all.sol-0.6.7-legacy.json | 0 .../continue-all.sol-0.6.8-compact.json | 0 .../continue-all.sol-0.6.8-legacy.json | 0 .../continue-all.sol-0.6.9-compact.json | 0 .../continue-all.sol-0.6.9-legacy.json | 0 .../continue-all.sol-0.7.0-compact.json | 0 .../continue-all.sol-0.7.0-legacy.json | 0 .../continue-all.sol-0.7.1-compact.json | 0 .../continue-all.sol-0.7.1-legacy.json | 0 .../continue-all.sol-0.7.2-compact.json | 0 .../continue-all.sol-0.7.2-legacy.json | 0 .../continue-all.sol-0.7.3-compact.json | 0 .../continue-all.sol-0.7.3-legacy.json | 0 .../continue-all.sol-0.7.4-compact.json | 0 .../continue-all.sol-0.7.4-legacy.json | 0 .../continue-all.sol-0.7.5-compact.json | 0 .../continue-all.sol-0.7.5-legacy.json | 0 .../continue-all.sol-0.7.6-compact.json | 0 .../continue-all.sol-0.7.6-legacy.json | 0 .../continue-all.sol-0.8.0-compact.json | 0 .../continue-all.sol-0.8.1-compact.json | 0 .../continue-all.sol-0.8.10-compact.json | 0 .../continue-all.sol-0.8.11-compact.json | 0 .../continue-all.sol-0.8.12-compact.json | 0 .../continue-all.sol-0.8.13-compact.json | 0 .../continue-all.sol-0.8.14-compact.json | 0 .../continue-all.sol-0.8.15-compact.json | 0 .../continue-all.sol-0.8.2-compact.json | 0 .../continue-all.sol-0.8.3-compact.json | 0 .../continue-all.sol-0.8.4-compact.json | 0 .../continue-all.sol-0.8.5-compact.json | 0 .../continue-all.sol-0.8.6-compact.json | 0 .../continue-all.sol-0.8.7-compact.json | 0 .../continue-all.sol-0.8.8-compact.json | 0 .../continue-all.sol-0.8.9-compact.json | 0 .../contract-0.4.0.sol-0.4.0-compact.json | 0 .../contract-0.4.0.sol-0.4.0-legacy.json | 0 .../contract-0.4.0.sol-0.4.1-compact.json | 0 .../contract-0.4.0.sol-0.4.1-legacy.json | 0 .../contract-0.4.0.sol-0.4.10-compact.json | 0 .../contract-0.4.0.sol-0.4.10-legacy.json | 0 .../contract-0.4.0.sol-0.4.11-compact.json | 0 .../contract-0.4.0.sol-0.4.11-legacy.json | 0 .../contract-0.4.0.sol-0.4.12-compact.json | 0 .../contract-0.4.0.sol-0.4.12-legacy.json | 0 .../contract-0.4.0.sol-0.4.13-compact.json | 0 .../contract-0.4.0.sol-0.4.13-legacy.json | 0 .../contract-0.4.0.sol-0.4.14-compact.json | 0 .../contract-0.4.0.sol-0.4.14-legacy.json | 0 .../contract-0.4.0.sol-0.4.15-compact.json | 0 .../contract-0.4.0.sol-0.4.15-legacy.json | 0 .../contract-0.4.0.sol-0.4.16-compact.json | 0 .../contract-0.4.0.sol-0.4.16-legacy.json | 0 .../contract-0.4.0.sol-0.4.17-compact.json | 0 .../contract-0.4.0.sol-0.4.17-legacy.json | 0 .../contract-0.4.0.sol-0.4.18-compact.json | 0 .../contract-0.4.0.sol-0.4.18-legacy.json | 0 .../contract-0.4.0.sol-0.4.19-compact.json | 0 .../contract-0.4.0.sol-0.4.19-legacy.json | 0 .../contract-0.4.0.sol-0.4.2-compact.json | 0 .../contract-0.4.0.sol-0.4.2-legacy.json | 0 .../contract-0.4.0.sol-0.4.20-compact.json | 0 .../contract-0.4.0.sol-0.4.20-legacy.json | 0 .../contract-0.4.0.sol-0.4.21-compact.json | 0 .../contract-0.4.0.sol-0.4.21-legacy.json | 0 .../contract-0.4.0.sol-0.4.3-compact.json | 0 .../contract-0.4.0.sol-0.4.3-legacy.json | 0 .../contract-0.4.0.sol-0.4.4-compact.json | 0 .../contract-0.4.0.sol-0.4.4-legacy.json | 0 .../contract-0.4.0.sol-0.4.5-compact.json | 0 .../contract-0.4.0.sol-0.4.5-legacy.json | 0 .../contract-0.4.0.sol-0.4.6-compact.json | 0 .../contract-0.4.0.sol-0.4.6-legacy.json | 0 .../contract-0.4.0.sol-0.4.7-compact.json | 0 .../contract-0.4.0.sol-0.4.7-legacy.json | 0 .../contract-0.4.0.sol-0.4.8-compact.json | 0 .../contract-0.4.0.sol-0.4.8-legacy.json | 0 .../contract-0.4.0.sol-0.4.9-compact.json | 0 .../contract-0.4.0.sol-0.4.9-legacy.json | 0 .../contract-0.4.22.sol-0.4.22-compact.json | 0 .../contract-0.4.22.sol-0.4.22-legacy.json | 0 .../contract-0.4.22.sol-0.4.23-compact.json | 0 .../contract-0.4.22.sol-0.4.23-legacy.json | 0 .../contract-0.4.22.sol-0.4.24-compact.json | 0 .../contract-0.4.22.sol-0.4.24-legacy.json | 0 .../contract-0.4.22.sol-0.4.25-compact.json | 0 .../contract-0.4.22.sol-0.4.25-legacy.json | 0 .../contract-0.4.22.sol-0.4.26-compact.json | 0 .../contract-0.4.22.sol-0.4.26-legacy.json | 0 .../contract-0.4.22.sol-0.5.0-compact.json | 0 .../contract-0.4.22.sol-0.5.0-legacy.json | 0 .../contract-0.4.22.sol-0.5.1-compact.json | 0 .../contract-0.4.22.sol-0.5.1-legacy.json | 0 .../contract-0.4.22.sol-0.5.10-compact.json | 0 .../contract-0.4.22.sol-0.5.10-legacy.json | 0 .../contract-0.4.22.sol-0.5.11-compact.json | 0 .../contract-0.4.22.sol-0.5.11-legacy.json | 0 .../contract-0.4.22.sol-0.5.12-compact.json | 0 .../contract-0.4.22.sol-0.5.12-legacy.json | 0 .../contract-0.4.22.sol-0.5.13-compact.json | 0 .../contract-0.4.22.sol-0.5.13-legacy.json | 0 .../contract-0.4.22.sol-0.5.14-compact.json | 0 .../contract-0.4.22.sol-0.5.14-legacy.json | 0 .../contract-0.4.22.sol-0.5.15-compact.json | 0 .../contract-0.4.22.sol-0.5.15-legacy.json | 0 .../contract-0.4.22.sol-0.5.16-compact.json | 0 .../contract-0.4.22.sol-0.5.16-legacy.json | 0 .../contract-0.4.22.sol-0.5.17-compact.json | 0 .../contract-0.4.22.sol-0.5.17-legacy.json | 0 .../contract-0.4.22.sol-0.5.2-compact.json | 0 .../contract-0.4.22.sol-0.5.2-legacy.json | 0 .../contract-0.4.22.sol-0.5.3-compact.json | 0 .../contract-0.4.22.sol-0.5.3-legacy.json | 0 .../contract-0.4.22.sol-0.5.4-compact.json | 0 .../contract-0.4.22.sol-0.5.4-legacy.json | 0 .../contract-0.4.22.sol-0.5.5-compact.json | 0 .../contract-0.4.22.sol-0.5.5-legacy.json | 0 .../contract-0.4.22.sol-0.5.6-compact.json | 0 .../contract-0.4.22.sol-0.5.6-legacy.json | 0 .../contract-0.4.22.sol-0.5.7-compact.json | 0 .../contract-0.4.22.sol-0.5.7-legacy.json | 0 .../contract-0.4.22.sol-0.5.8-compact.json | 0 .../contract-0.4.22.sol-0.5.8-legacy.json | 0 .../contract-0.4.22.sol-0.5.9-compact.json | 0 .../contract-0.4.22.sol-0.5.9-legacy.json | 0 .../contract-0.6.0.sol-0.6.0-compact.json | 0 .../contract-0.6.0.sol-0.6.0-legacy.json | 0 .../contract-0.6.0.sol-0.6.1-compact.json | 0 .../contract-0.6.0.sol-0.6.1-legacy.json | 0 .../contract-0.6.0.sol-0.6.10-compact.json | 0 .../contract-0.6.0.sol-0.6.10-legacy.json | 0 .../contract-0.6.0.sol-0.6.11-compact.json | 0 .../contract-0.6.0.sol-0.6.11-legacy.json | 0 .../contract-0.6.0.sol-0.6.12-compact.json | 0 .../contract-0.6.0.sol-0.6.12-legacy.json | 0 .../contract-0.6.0.sol-0.6.2-compact.json | 0 .../contract-0.6.0.sol-0.6.2-legacy.json | 0 .../contract-0.6.0.sol-0.6.3-compact.json | 0 .../contract-0.6.0.sol-0.6.3-legacy.json | 0 .../contract-0.6.0.sol-0.6.4-compact.json | 0 .../contract-0.6.0.sol-0.6.4-legacy.json | 0 .../contract-0.6.0.sol-0.6.5-compact.json | 0 .../contract-0.6.0.sol-0.6.5-legacy.json | 0 .../contract-0.6.0.sol-0.6.6-compact.json | 0 .../contract-0.6.0.sol-0.6.6-legacy.json | 0 .../contract-0.6.0.sol-0.6.7-compact.json | 0 .../contract-0.6.0.sol-0.6.7-legacy.json | 0 .../contract-0.6.0.sol-0.6.8-compact.json | 0 .../contract-0.6.0.sol-0.6.8-legacy.json | 0 .../contract-0.6.0.sol-0.6.9-compact.json | 0 .../contract-0.6.0.sol-0.6.9-legacy.json | 0 .../contract-0.6.0.sol-0.7.0-compact.json | 0 .../contract-0.6.0.sol-0.7.0-legacy.json | 0 .../contract-0.6.0.sol-0.7.1-compact.json | 0 .../contract-0.6.0.sol-0.7.1-legacy.json | 0 .../contract-0.6.0.sol-0.7.2-compact.json | 0 .../contract-0.6.0.sol-0.7.2-legacy.json | 0 .../contract-0.6.0.sol-0.7.3-compact.json | 0 .../contract-0.6.0.sol-0.7.3-legacy.json | 0 .../contract-0.6.0.sol-0.7.4-compact.json | 0 .../contract-0.6.0.sol-0.7.4-legacy.json | 0 .../contract-0.6.0.sol-0.7.5-compact.json | 0 .../contract-0.6.0.sol-0.7.5-legacy.json | 0 .../contract-0.6.0.sol-0.7.6-compact.json | 0 .../contract-0.6.0.sol-0.7.6-legacy.json | 0 .../contract-0.6.0.sol-0.8.0-compact.json | 0 .../contract-0.6.0.sol-0.8.1-compact.json | 0 .../contract-0.6.0.sol-0.8.10-compact.json | 0 .../contract-0.6.0.sol-0.8.11-compact.json | 0 .../contract-0.6.0.sol-0.8.12-compact.json | 0 .../contract-0.6.0.sol-0.8.13-compact.json | 0 .../contract-0.6.0.sol-0.8.14-compact.json | 0 .../contract-0.6.0.sol-0.8.15-compact.json | 0 .../contract-0.6.0.sol-0.8.2-compact.json | 0 .../contract-0.6.0.sol-0.8.3-compact.json | 0 .../contract-0.6.0.sol-0.8.4-compact.json | 0 .../contract-0.6.0.sol-0.8.5-compact.json | 0 .../contract-0.6.0.sol-0.8.6-compact.json | 0 .../contract-0.6.0.sol-0.8.7-compact.json | 0 .../contract-0.6.0.sol-0.8.8-compact.json | 0 .../contract-0.6.0.sol-0.8.9-compact.json | 0 ...tom-error-selector.sol-0.8.10-compact.json | 0 ...tom-error-selector.sol-0.8.11-compact.json | 0 ...tom-error-selector.sol-0.8.12-compact.json | 0 ...tom-error-selector.sol-0.8.13-compact.json | 0 ...tom-error-selector.sol-0.8.14-compact.json | 0 ...tom-error-selector.sol-0.8.15-compact.json | 0 ...stom-error-selector.sol-0.8.4-compact.json | 0 ...stom-error-selector.sol-0.8.5-compact.json | 0 ...stom-error-selector.sol-0.8.6-compact.json | 0 ...stom-error-selector.sol-0.8.7-compact.json | 0 ...stom-error-selector.sol-0.8.8-compact.json | 0 ...stom-error-selector.sol-0.8.9-compact.json | 0 .../custom_error-0.4.0.sol-0.4.0-compact.json | 0 .../custom_error-0.4.0.sol-0.4.0-legacy.json | 0 .../custom_error-0.4.0.sol-0.4.1-compact.json | 0 .../custom_error-0.4.0.sol-0.4.1-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.10-compact.json | 0 .../custom_error-0.4.0.sol-0.4.10-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.11-compact.json | 0 .../custom_error-0.4.0.sol-0.4.11-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.12-compact.json | 0 .../custom_error-0.4.0.sol-0.4.12-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.13-compact.json | 0 .../custom_error-0.4.0.sol-0.4.13-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.14-compact.json | 0 .../custom_error-0.4.0.sol-0.4.14-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.15-compact.json | 0 .../custom_error-0.4.0.sol-0.4.15-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.16-compact.json | 0 .../custom_error-0.4.0.sol-0.4.16-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.17-compact.json | 0 .../custom_error-0.4.0.sol-0.4.17-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.18-compact.json | 0 .../custom_error-0.4.0.sol-0.4.18-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.19-compact.json | 0 .../custom_error-0.4.0.sol-0.4.19-legacy.json | 0 .../custom_error-0.4.0.sol-0.4.2-compact.json | 0 .../custom_error-0.4.0.sol-0.4.2-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.20-compact.json | 0 .../custom_error-0.4.0.sol-0.4.20-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.21-compact.json | 0 .../custom_error-0.4.0.sol-0.4.21-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.22-compact.json | 0 .../custom_error-0.4.0.sol-0.4.22-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.23-compact.json | 0 .../custom_error-0.4.0.sol-0.4.23-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.24-compact.json | 0 .../custom_error-0.4.0.sol-0.4.24-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.25-compact.json | 0 .../custom_error-0.4.0.sol-0.4.25-legacy.json | 0 ...custom_error-0.4.0.sol-0.4.26-compact.json | 0 .../custom_error-0.4.0.sol-0.4.26-legacy.json | 0 .../custom_error-0.4.0.sol-0.4.3-compact.json | 0 .../custom_error-0.4.0.sol-0.4.3-legacy.json | 0 .../custom_error-0.4.0.sol-0.4.4-compact.json | 0 .../custom_error-0.4.0.sol-0.4.4-legacy.json | 0 .../custom_error-0.4.0.sol-0.4.5-compact.json | 0 .../custom_error-0.4.0.sol-0.4.5-legacy.json | 0 .../custom_error-0.4.0.sol-0.4.6-compact.json | 0 .../custom_error-0.4.0.sol-0.4.6-legacy.json | 0 .../custom_error-0.4.0.sol-0.4.7-compact.json | 0 .../custom_error-0.4.0.sol-0.4.7-legacy.json | 0 .../custom_error-0.4.0.sol-0.4.8-compact.json | 0 .../custom_error-0.4.0.sol-0.4.8-legacy.json | 0 .../custom_error-0.4.0.sol-0.4.9-compact.json | 0 .../custom_error-0.4.0.sol-0.4.9-legacy.json | 0 .../custom_error-0.4.0.sol-0.5.0-compact.json | 0 .../custom_error-0.4.0.sol-0.5.0-legacy.json | 0 .../custom_error-0.4.0.sol-0.5.1-compact.json | 0 .../custom_error-0.4.0.sol-0.5.1-legacy.json | 0 ...custom_error-0.4.0.sol-0.5.10-compact.json | 0 .../custom_error-0.4.0.sol-0.5.10-legacy.json | 0 ...custom_error-0.4.0.sol-0.5.11-compact.json | 0 .../custom_error-0.4.0.sol-0.5.11-legacy.json | 0 ...custom_error-0.4.0.sol-0.5.12-compact.json | 0 .../custom_error-0.4.0.sol-0.5.12-legacy.json | 0 ...custom_error-0.4.0.sol-0.5.13-compact.json | 0 .../custom_error-0.4.0.sol-0.5.13-legacy.json | 0 ...custom_error-0.4.0.sol-0.5.14-compact.json | 0 .../custom_error-0.4.0.sol-0.5.14-legacy.json | 0 ...custom_error-0.4.0.sol-0.5.15-compact.json | 0 .../custom_error-0.4.0.sol-0.5.15-legacy.json | 0 ...custom_error-0.4.0.sol-0.5.16-compact.json | 0 .../custom_error-0.4.0.sol-0.5.16-legacy.json | 0 ...custom_error-0.4.0.sol-0.5.17-compact.json | 0 .../custom_error-0.4.0.sol-0.5.17-legacy.json | 0 .../custom_error-0.4.0.sol-0.5.2-compact.json | 0 .../custom_error-0.4.0.sol-0.5.2-legacy.json | 0 .../custom_error-0.4.0.sol-0.5.3-compact.json | 0 .../custom_error-0.4.0.sol-0.5.3-legacy.json | 0 .../custom_error-0.4.0.sol-0.5.4-compact.json | 0 .../custom_error-0.4.0.sol-0.5.4-legacy.json | 0 .../custom_error-0.4.0.sol-0.5.5-compact.json | 0 .../custom_error-0.4.0.sol-0.5.5-legacy.json | 0 .../custom_error-0.4.0.sol-0.5.6-compact.json | 0 .../custom_error-0.4.0.sol-0.5.6-legacy.json | 0 .../custom_error-0.4.0.sol-0.5.7-compact.json | 0 .../custom_error-0.4.0.sol-0.5.7-legacy.json | 0 .../custom_error-0.4.0.sol-0.5.8-compact.json | 0 .../custom_error-0.4.0.sol-0.5.8-legacy.json | 0 .../custom_error-0.4.0.sol-0.5.9-compact.json | 0 .../custom_error-0.4.0.sol-0.5.9-legacy.json | 0 .../custom_error-0.4.0.sol-0.6.0-compact.json | 0 .../custom_error-0.4.0.sol-0.6.0-legacy.json | 0 .../custom_error-0.4.0.sol-0.6.1-compact.json | 0 .../custom_error-0.4.0.sol-0.6.1-legacy.json | 0 ...custom_error-0.4.0.sol-0.6.10-compact.json | 0 .../custom_error-0.4.0.sol-0.6.10-legacy.json | 0 ...custom_error-0.4.0.sol-0.6.11-compact.json | 0 .../custom_error-0.4.0.sol-0.6.11-legacy.json | 0 ...custom_error-0.4.0.sol-0.6.12-compact.json | 0 .../custom_error-0.4.0.sol-0.6.12-legacy.json | 0 .../custom_error-0.4.0.sol-0.6.2-compact.json | 0 .../custom_error-0.4.0.sol-0.6.2-legacy.json | 0 .../custom_error-0.4.0.sol-0.6.3-compact.json | 0 .../custom_error-0.4.0.sol-0.6.3-legacy.json | 0 .../custom_error-0.4.0.sol-0.6.4-compact.json | 0 .../custom_error-0.4.0.sol-0.6.4-legacy.json | 0 .../custom_error-0.4.0.sol-0.6.5-compact.json | 0 .../custom_error-0.4.0.sol-0.6.5-legacy.json | 0 .../custom_error-0.4.0.sol-0.6.6-compact.json | 0 .../custom_error-0.4.0.sol-0.6.6-legacy.json | 0 .../custom_error-0.4.0.sol-0.6.7-compact.json | 0 .../custom_error-0.4.0.sol-0.6.7-legacy.json | 0 .../custom_error-0.4.0.sol-0.6.8-compact.json | 0 .../custom_error-0.4.0.sol-0.6.8-legacy.json | 0 .../custom_error-0.4.0.sol-0.6.9-compact.json | 0 .../custom_error-0.4.0.sol-0.6.9-legacy.json | 0 .../custom_error-0.4.0.sol-0.7.0-compact.json | 0 .../custom_error-0.4.0.sol-0.7.0-legacy.json | 0 .../custom_error-0.4.0.sol-0.7.1-compact.json | 0 .../custom_error-0.4.0.sol-0.7.1-legacy.json | 0 .../custom_error-0.4.0.sol-0.7.2-compact.json | 0 .../custom_error-0.4.0.sol-0.7.2-legacy.json | 0 .../custom_error-0.4.0.sol-0.7.3-compact.json | 0 .../custom_error-0.4.0.sol-0.7.3-legacy.json | 0 .../custom_error-0.4.0.sol-0.7.4-compact.json | 0 .../custom_error-0.4.0.sol-0.7.4-legacy.json | 0 .../custom_error-0.4.0.sol-0.7.5-compact.json | 0 .../custom_error-0.4.0.sol-0.7.5-legacy.json | 0 .../custom_error-0.4.0.sol-0.7.6-compact.json | 0 .../custom_error-0.4.0.sol-0.7.6-legacy.json | 0 .../custom_error-0.4.0.sol-0.8.0-compact.json | 0 .../custom_error-0.4.0.sol-0.8.1-compact.json | 0 ...custom_error-0.4.0.sol-0.8.10-compact.json | 0 ...custom_error-0.4.0.sol-0.8.11-compact.json | 0 ...custom_error-0.4.0.sol-0.8.12-compact.json | 0 ...custom_error-0.4.0.sol-0.8.13-compact.json | 0 ...custom_error-0.4.0.sol-0.8.14-compact.json | 0 ...custom_error-0.4.0.sol-0.8.15-compact.json | 0 .../custom_error-0.4.0.sol-0.8.2-compact.json | 0 .../custom_error-0.4.0.sol-0.8.3-compact.json | 0 .../custom_error-0.4.0.sol-0.8.4-compact.json | 0 .../custom_error-0.4.0.sol-0.8.5-compact.json | 0 .../custom_error-0.4.0.sol-0.8.6-compact.json | 0 .../custom_error-0.4.0.sol-0.8.7-compact.json | 0 .../custom_error-0.4.0.sol-0.8.8-compact.json | 0 .../custom_error-0.4.0.sol-0.8.9-compact.json | 0 ...custom_error-0.8.4.sol-0.8.10-compact.json | 0 ...custom_error-0.8.4.sol-0.8.11-compact.json | 0 ...custom_error-0.8.4.sol-0.8.12-compact.json | 0 ...custom_error-0.8.4.sol-0.8.13-compact.json | 0 ...custom_error-0.8.4.sol-0.8.14-compact.json | 0 ...custom_error-0.8.4.sol-0.8.15-compact.json | 0 .../custom_error-0.8.4.sol-0.8.4-compact.json | 0 .../custom_error-0.8.4.sol-0.8.5-compact.json | 0 .../custom_error-0.8.4.sol-0.8.6-compact.json | 0 .../custom_error-0.8.4.sol-0.8.7-compact.json | 0 .../custom_error-0.8.4.sol-0.8.8-compact.json | 0 .../custom_error-0.8.4.sol-0.8.9-compact.json | 0 ...ith_state_variable.sol-0.8.10-compact.json | 0 ...ith_state_variable.sol-0.8.11-compact.json | 0 ...ith_state_variable.sol-0.8.12-compact.json | 0 ...with_state_variable.sol-0.8.4-compact.json | 0 ...with_state_variable.sol-0.8.5-compact.json | 0 ...with_state_variable.sol-0.8.6-compact.json | 0 ...with_state_variable.sol-0.8.7-compact.json | 0 ...with_state_variable.sol-0.8.8-compact.json | 0 ...with_state_variable.sol-0.8.9-compact.json | 0 .../dowhile-0.4.0.sol-0.4.0-compact.json | 0 .../dowhile-0.4.0.sol-0.4.0-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.1-compact.json | 0 .../dowhile-0.4.0.sol-0.4.1-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.10-compact.json | 0 .../dowhile-0.4.0.sol-0.4.10-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.11-compact.json | 0 .../dowhile-0.4.0.sol-0.4.11-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.12-compact.json | 0 .../dowhile-0.4.0.sol-0.4.12-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.13-compact.json | 0 .../dowhile-0.4.0.sol-0.4.13-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.14-compact.json | 0 .../dowhile-0.4.0.sol-0.4.14-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.15-compact.json | 0 .../dowhile-0.4.0.sol-0.4.15-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.16-compact.json | 0 .../dowhile-0.4.0.sol-0.4.16-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.17-compact.json | 0 .../dowhile-0.4.0.sol-0.4.17-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.18-compact.json | 0 .../dowhile-0.4.0.sol-0.4.18-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.19-compact.json | 0 .../dowhile-0.4.0.sol-0.4.19-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.2-compact.json | 0 .../dowhile-0.4.0.sol-0.4.2-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.20-compact.json | 0 .../dowhile-0.4.0.sol-0.4.20-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.21-compact.json | 0 .../dowhile-0.4.0.sol-0.4.21-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.22-compact.json | 0 .../dowhile-0.4.0.sol-0.4.22-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.23-compact.json | 0 .../dowhile-0.4.0.sol-0.4.23-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.24-compact.json | 0 .../dowhile-0.4.0.sol-0.4.24-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.25-compact.json | 0 .../dowhile-0.4.0.sol-0.4.25-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.26-compact.json | 0 .../dowhile-0.4.0.sol-0.4.26-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.3-compact.json | 0 .../dowhile-0.4.0.sol-0.4.3-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.4-compact.json | 0 .../dowhile-0.4.0.sol-0.4.4-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.5-compact.json | 0 .../dowhile-0.4.0.sol-0.4.5-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.6-compact.json | 0 .../dowhile-0.4.0.sol-0.4.6-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.7-compact.json | 0 .../dowhile-0.4.0.sol-0.4.7-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.8-compact.json | 0 .../dowhile-0.4.0.sol-0.4.8-legacy.json | 0 .../dowhile-0.4.0.sol-0.4.9-compact.json | 0 .../dowhile-0.4.0.sol-0.4.9-legacy.json | 0 .../dowhile-0.4.5.sol-0.4.5-compact.json | 0 .../dowhile-0.4.5.sol-0.4.5-legacy.json | 0 .../dowhile-0.4.5.sol-0.4.6-compact.json | 0 .../dowhile-0.4.5.sol-0.4.6-legacy.json | 0 .../dowhile-0.4.5.sol-0.4.7-compact.json | 0 .../dowhile-0.4.5.sol-0.4.7-legacy.json | 0 .../dowhile-0.4.5.sol-0.4.8-compact.json | 0 .../dowhile-0.4.5.sol-0.4.8-legacy.json | 0 .../dowhile-0.4.5.sol-0.4.9-compact.json | 0 .../dowhile-0.4.5.sol-0.4.9-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.0-compact.json | 0 .../dowhile-0.4.5.sol-0.5.0-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.1-compact.json | 0 .../dowhile-0.4.5.sol-0.5.1-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.10-compact.json | 0 .../dowhile-0.4.5.sol-0.5.10-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.11-compact.json | 0 .../dowhile-0.4.5.sol-0.5.11-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.12-compact.json | 0 .../dowhile-0.4.5.sol-0.5.12-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.13-compact.json | 0 .../dowhile-0.4.5.sol-0.5.13-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.14-compact.json | 0 .../dowhile-0.4.5.sol-0.5.14-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.15-compact.json | 0 .../dowhile-0.4.5.sol-0.5.15-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.16-compact.json | 0 .../dowhile-0.4.5.sol-0.5.16-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.17-compact.json | 0 .../dowhile-0.4.5.sol-0.5.17-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.2-compact.json | 0 .../dowhile-0.4.5.sol-0.5.2-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.3-compact.json | 0 .../dowhile-0.4.5.sol-0.5.3-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.4-compact.json | 0 .../dowhile-0.4.5.sol-0.5.4-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.5-compact.json | 0 .../dowhile-0.4.5.sol-0.5.5-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.6-compact.json | 0 .../dowhile-0.4.5.sol-0.5.6-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.7-compact.json | 0 .../dowhile-0.4.5.sol-0.5.7-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.8-compact.json | 0 .../dowhile-0.4.5.sol-0.5.8-legacy.json | 0 .../dowhile-0.4.5.sol-0.5.9-compact.json | 0 .../dowhile-0.4.5.sol-0.5.9-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.0-compact.json | 0 .../dowhile-0.4.5.sol-0.6.0-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.1-compact.json | 0 .../dowhile-0.4.5.sol-0.6.1-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.10-compact.json | 0 .../dowhile-0.4.5.sol-0.6.10-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.11-compact.json | 0 .../dowhile-0.4.5.sol-0.6.11-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.12-compact.json | 0 .../dowhile-0.4.5.sol-0.6.12-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.2-compact.json | 0 .../dowhile-0.4.5.sol-0.6.2-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.3-compact.json | 0 .../dowhile-0.4.5.sol-0.6.3-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.4-compact.json | 0 .../dowhile-0.4.5.sol-0.6.4-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.5-compact.json | 0 .../dowhile-0.4.5.sol-0.6.5-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.6-compact.json | 0 .../dowhile-0.4.5.sol-0.6.6-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.7-compact.json | 0 .../dowhile-0.4.5.sol-0.6.7-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.8-compact.json | 0 .../dowhile-0.4.5.sol-0.6.8-legacy.json | 0 .../dowhile-0.4.5.sol-0.6.9-compact.json | 0 .../dowhile-0.4.5.sol-0.6.9-legacy.json | 0 .../dowhile-0.4.5.sol-0.7.0-compact.json | 0 .../dowhile-0.4.5.sol-0.7.0-legacy.json | 0 .../dowhile-0.4.5.sol-0.7.1-compact.json | 0 .../dowhile-0.4.5.sol-0.7.1-legacy.json | 0 .../dowhile-0.4.5.sol-0.7.2-compact.json | 0 .../dowhile-0.4.5.sol-0.7.2-legacy.json | 0 .../dowhile-0.4.5.sol-0.7.3-compact.json | 0 .../dowhile-0.4.5.sol-0.7.3-legacy.json | 0 .../dowhile-0.4.5.sol-0.7.4-compact.json | 0 .../dowhile-0.4.5.sol-0.7.4-legacy.json | 0 .../dowhile-0.4.5.sol-0.7.5-compact.json | 0 .../dowhile-0.4.5.sol-0.7.5-legacy.json | 0 .../dowhile-0.4.5.sol-0.7.6-compact.json | 0 .../dowhile-0.4.5.sol-0.7.6-legacy.json | 0 .../dowhile-0.4.5.sol-0.8.0-compact.json | 0 .../dowhile-0.4.5.sol-0.8.1-compact.json | 0 .../dowhile-0.4.5.sol-0.8.10-compact.json | 0 .../dowhile-0.4.5.sol-0.8.11-compact.json | 0 .../dowhile-0.4.5.sol-0.8.12-compact.json | 0 .../dowhile-0.4.5.sol-0.8.13-compact.json | 0 .../dowhile-0.4.5.sol-0.8.14-compact.json | 0 .../dowhile-0.4.5.sol-0.8.15-compact.json | 0 .../dowhile-0.4.5.sol-0.8.2-compact.json | 0 .../dowhile-0.4.5.sol-0.8.3-compact.json | 0 .../dowhile-0.4.5.sol-0.8.4-compact.json | 0 .../dowhile-0.4.5.sol-0.8.5-compact.json | 0 .../dowhile-0.4.5.sol-0.8.6-compact.json | 0 .../dowhile-0.4.5.sol-0.8.7-compact.json | 0 .../dowhile-0.4.5.sol-0.8.8-compact.json | 0 .../dowhile-0.4.5.sol-0.8.9-compact.json | 0 .../emit-0.4.21.sol-0.4.21-compact.json | 0 .../emit-0.4.21.sol-0.4.21-legacy.json | 0 .../emit-0.4.21.sol-0.4.22-compact.json | 0 .../emit-0.4.21.sol-0.4.22-legacy.json | 0 .../emit-0.4.21.sol-0.4.23-compact.json | 0 .../emit-0.4.21.sol-0.4.23-legacy.json | 0 .../emit-0.4.21.sol-0.4.24-compact.json | 0 .../emit-0.4.21.sol-0.4.24-legacy.json | 0 .../emit-0.4.21.sol-0.4.25-compact.json | 0 .../emit-0.4.21.sol-0.4.25-legacy.json | 0 .../emit-0.4.21.sol-0.4.26-compact.json | 0 .../emit-0.4.21.sol-0.4.26-legacy.json | 0 .../emit-0.4.8.sol-0.4.8-compact.json | 0 .../expected/emit-0.4.8.sol-0.4.8-legacy.json | 0 .../emit-0.4.8.sol-0.4.9-compact.json | 0 .../expected/emit-0.4.8.sol-0.4.9-legacy.json | 0 .../emit-0.5.0.sol-0.5.0-compact.json | 0 .../expected/emit-0.5.0.sol-0.5.0-legacy.json | 0 .../emit-0.5.0.sol-0.5.1-compact.json | 0 .../expected/emit-0.5.0.sol-0.5.1-legacy.json | 0 .../emit-0.5.0.sol-0.5.10-compact.json | 0 .../emit-0.5.0.sol-0.5.10-legacy.json | 0 .../emit-0.5.0.sol-0.5.11-compact.json | 0 .../emit-0.5.0.sol-0.5.11-legacy.json | 0 .../emit-0.5.0.sol-0.5.12-compact.json | 0 .../emit-0.5.0.sol-0.5.12-legacy.json | 0 .../emit-0.5.0.sol-0.5.13-compact.json | 0 .../emit-0.5.0.sol-0.5.13-legacy.json | 0 .../emit-0.5.0.sol-0.5.14-compact.json | 0 .../emit-0.5.0.sol-0.5.14-legacy.json | 0 .../emit-0.5.0.sol-0.5.15-compact.json | 0 .../emit-0.5.0.sol-0.5.15-legacy.json | 0 .../emit-0.5.0.sol-0.5.16-compact.json | 0 .../emit-0.5.0.sol-0.5.16-legacy.json | 0 .../emit-0.5.0.sol-0.5.17-compact.json | 0 .../emit-0.5.0.sol-0.5.17-legacy.json | 0 .../emit-0.5.0.sol-0.5.2-compact.json | 0 .../expected/emit-0.5.0.sol-0.5.2-legacy.json | 0 .../emit-0.5.0.sol-0.5.3-compact.json | 0 .../expected/emit-0.5.0.sol-0.5.3-legacy.json | 0 .../emit-0.5.0.sol-0.5.4-compact.json | 0 .../expected/emit-0.5.0.sol-0.5.4-legacy.json | 0 .../emit-0.5.0.sol-0.5.5-compact.json | 0 .../expected/emit-0.5.0.sol-0.5.5-legacy.json | 0 .../emit-0.5.0.sol-0.5.6-compact.json | 0 .../expected/emit-0.5.0.sol-0.5.6-legacy.json | 0 .../emit-0.5.0.sol-0.5.7-compact.json | 0 .../expected/emit-0.5.0.sol-0.5.7-legacy.json | 0 .../emit-0.5.0.sol-0.5.8-compact.json | 0 .../expected/emit-0.5.0.sol-0.5.8-legacy.json | 0 .../emit-0.5.0.sol-0.5.9-compact.json | 0 .../expected/emit-0.5.0.sol-0.5.9-legacy.json | 0 .../emit-0.5.0.sol-0.6.0-compact.json | 0 .../expected/emit-0.5.0.sol-0.6.0-legacy.json | 0 .../emit-0.5.0.sol-0.6.1-compact.json | 0 .../expected/emit-0.5.0.sol-0.6.1-legacy.json | 0 .../emit-0.5.0.sol-0.6.10-compact.json | 0 .../emit-0.5.0.sol-0.6.10-legacy.json | 0 .../emit-0.5.0.sol-0.6.11-compact.json | 0 .../emit-0.5.0.sol-0.6.11-legacy.json | 0 .../emit-0.5.0.sol-0.6.12-compact.json | 0 .../emit-0.5.0.sol-0.6.12-legacy.json | 0 .../emit-0.5.0.sol-0.6.2-compact.json | 0 .../expected/emit-0.5.0.sol-0.6.2-legacy.json | 0 .../emit-0.5.0.sol-0.6.3-compact.json | 0 .../expected/emit-0.5.0.sol-0.6.3-legacy.json | 0 .../emit-0.5.0.sol-0.6.4-compact.json | 0 .../expected/emit-0.5.0.sol-0.6.4-legacy.json | 0 .../emit-0.5.0.sol-0.6.5-compact.json | 0 .../expected/emit-0.5.0.sol-0.6.5-legacy.json | 0 .../emit-0.5.0.sol-0.6.6-compact.json | 0 .../expected/emit-0.5.0.sol-0.6.6-legacy.json | 0 .../emit-0.5.0.sol-0.6.7-compact.json | 0 .../expected/emit-0.5.0.sol-0.6.7-legacy.json | 0 .../emit-0.5.0.sol-0.6.8-compact.json | 0 .../expected/emit-0.5.0.sol-0.6.8-legacy.json | 0 .../emit-0.5.0.sol-0.6.9-compact.json | 0 .../expected/emit-0.5.0.sol-0.6.9-legacy.json | 0 .../emit-0.5.0.sol-0.7.0-compact.json | 0 .../expected/emit-0.5.0.sol-0.7.0-legacy.json | 0 .../emit-0.5.0.sol-0.7.1-compact.json | 0 .../expected/emit-0.5.0.sol-0.7.1-legacy.json | 0 .../emit-0.5.0.sol-0.7.2-compact.json | 0 .../expected/emit-0.5.0.sol-0.7.2-legacy.json | 0 .../emit-0.5.0.sol-0.7.3-compact.json | 0 .../expected/emit-0.5.0.sol-0.7.3-legacy.json | 0 .../emit-0.5.0.sol-0.7.4-compact.json | 0 .../expected/emit-0.5.0.sol-0.7.4-legacy.json | 0 .../emit-0.5.0.sol-0.7.5-compact.json | 0 .../expected/emit-0.5.0.sol-0.7.5-legacy.json | 0 .../emit-0.5.0.sol-0.7.6-compact.json | 0 .../expected/emit-0.5.0.sol-0.7.6-legacy.json | 0 .../emit-0.5.0.sol-0.8.0-compact.json | 0 .../emit-0.5.0.sol-0.8.1-compact.json | 0 .../emit-0.5.0.sol-0.8.10-compact.json | 0 .../emit-0.5.0.sol-0.8.11-compact.json | 0 .../emit-0.5.0.sol-0.8.12-compact.json | 0 .../emit-0.5.0.sol-0.8.13-compact.json | 0 .../emit-0.5.0.sol-0.8.14-compact.json | 0 .../emit-0.5.0.sol-0.8.15-compact.json | 0 .../emit-0.5.0.sol-0.8.2-compact.json | 0 .../emit-0.5.0.sol-0.8.3-compact.json | 0 .../emit-0.5.0.sol-0.8.4-compact.json | 0 .../emit-0.5.0.sol-0.8.5-compact.json | 0 .../emit-0.5.0.sol-0.8.6-compact.json | 0 .../emit-0.5.0.sol-0.8.7-compact.json | 0 .../emit-0.5.0.sol-0.8.8-compact.json | 0 .../emit-0.5.0.sol-0.8.9-compact.json | 0 .../enum-0.4.0.sol-0.4.0-compact.json | 0 .../expected/enum-0.4.0.sol-0.4.0-legacy.json | 0 .../enum-0.4.0.sol-0.4.1-compact.json | 0 .../expected/enum-0.4.0.sol-0.4.1-legacy.json | 0 .../enum-0.4.0.sol-0.4.10-compact.json | 0 .../enum-0.4.0.sol-0.4.10-legacy.json | 0 .../enum-0.4.0.sol-0.4.11-compact.json | 0 .../enum-0.4.0.sol-0.4.11-legacy.json | 0 .../enum-0.4.0.sol-0.4.12-compact.json | 0 .../enum-0.4.0.sol-0.4.12-legacy.json | 0 .../enum-0.4.0.sol-0.4.13-compact.json | 0 .../enum-0.4.0.sol-0.4.13-legacy.json | 0 .../enum-0.4.0.sol-0.4.14-compact.json | 0 .../enum-0.4.0.sol-0.4.14-legacy.json | 0 .../enum-0.4.0.sol-0.4.15-compact.json | 0 .../enum-0.4.0.sol-0.4.15-legacy.json | 0 .../enum-0.4.0.sol-0.4.16-compact.json | 0 .../enum-0.4.0.sol-0.4.16-legacy.json | 0 .../enum-0.4.0.sol-0.4.17-compact.json | 0 .../enum-0.4.0.sol-0.4.17-legacy.json | 0 .../enum-0.4.0.sol-0.4.18-compact.json | 0 .../enum-0.4.0.sol-0.4.18-legacy.json | 0 .../enum-0.4.0.sol-0.4.19-compact.json | 0 .../enum-0.4.0.sol-0.4.19-legacy.json | 0 .../enum-0.4.0.sol-0.4.2-compact.json | 0 .../expected/enum-0.4.0.sol-0.4.2-legacy.json | 0 .../enum-0.4.0.sol-0.4.20-compact.json | 0 .../enum-0.4.0.sol-0.4.20-legacy.json | 0 .../enum-0.4.0.sol-0.4.21-compact.json | 0 .../enum-0.4.0.sol-0.4.21-legacy.json | 0 .../enum-0.4.0.sol-0.4.22-compact.json | 0 .../enum-0.4.0.sol-0.4.22-legacy.json | 0 .../enum-0.4.0.sol-0.4.23-compact.json | 0 .../enum-0.4.0.sol-0.4.23-legacy.json | 0 .../enum-0.4.0.sol-0.4.24-compact.json | 0 .../enum-0.4.0.sol-0.4.24-legacy.json | 0 .../enum-0.4.0.sol-0.4.25-compact.json | 0 .../enum-0.4.0.sol-0.4.25-legacy.json | 0 .../enum-0.4.0.sol-0.4.26-compact.json | 0 .../enum-0.4.0.sol-0.4.26-legacy.json | 0 .../enum-0.4.0.sol-0.4.3-compact.json | 0 .../expected/enum-0.4.0.sol-0.4.3-legacy.json | 0 .../enum-0.4.0.sol-0.4.4-compact.json | 0 .../expected/enum-0.4.0.sol-0.4.4-legacy.json | 0 .../enum-0.4.0.sol-0.4.5-compact.json | 0 .../expected/enum-0.4.0.sol-0.4.5-legacy.json | 0 .../enum-0.4.0.sol-0.4.6-compact.json | 0 .../expected/enum-0.4.0.sol-0.4.6-legacy.json | 0 .../enum-0.4.0.sol-0.4.7-compact.json | 0 .../expected/enum-0.4.0.sol-0.4.7-legacy.json | 0 .../enum-0.4.0.sol-0.4.8-compact.json | 0 .../expected/enum-0.4.0.sol-0.4.8-legacy.json | 0 .../enum-0.4.0.sol-0.4.9-compact.json | 0 .../expected/enum-0.4.0.sol-0.4.9-legacy.json | 0 .../enum-0.4.0.sol-0.5.0-compact.json | 0 .../expected/enum-0.4.0.sol-0.5.0-legacy.json | 0 .../enum-0.4.0.sol-0.5.1-compact.json | 0 .../expected/enum-0.4.0.sol-0.5.1-legacy.json | 0 .../enum-0.4.0.sol-0.5.10-compact.json | 0 .../enum-0.4.0.sol-0.5.10-legacy.json | 0 .../enum-0.4.0.sol-0.5.11-compact.json | 0 .../enum-0.4.0.sol-0.5.11-legacy.json | 0 .../enum-0.4.0.sol-0.5.12-compact.json | 0 .../enum-0.4.0.sol-0.5.12-legacy.json | 0 .../enum-0.4.0.sol-0.5.13-compact.json | 0 .../enum-0.4.0.sol-0.5.13-legacy.json | 0 .../enum-0.4.0.sol-0.5.14-compact.json | 0 .../enum-0.4.0.sol-0.5.14-legacy.json | 0 .../enum-0.4.0.sol-0.5.15-compact.json | 0 .../enum-0.4.0.sol-0.5.15-legacy.json | 0 .../enum-0.4.0.sol-0.5.16-compact.json | 0 .../enum-0.4.0.sol-0.5.16-legacy.json | 0 .../enum-0.4.0.sol-0.5.17-compact.json | 0 .../enum-0.4.0.sol-0.5.17-legacy.json | 0 .../enum-0.4.0.sol-0.5.2-compact.json | 0 .../expected/enum-0.4.0.sol-0.5.2-legacy.json | 0 .../enum-0.4.0.sol-0.5.3-compact.json | 0 .../expected/enum-0.4.0.sol-0.5.3-legacy.json | 0 .../enum-0.4.0.sol-0.5.4-compact.json | 0 .../expected/enum-0.4.0.sol-0.5.4-legacy.json | 0 .../enum-0.4.0.sol-0.5.5-compact.json | 0 .../expected/enum-0.4.0.sol-0.5.5-legacy.json | 0 .../enum-0.4.0.sol-0.5.6-compact.json | 0 .../expected/enum-0.4.0.sol-0.5.6-legacy.json | 0 .../enum-0.4.0.sol-0.5.7-compact.json | 0 .../expected/enum-0.4.0.sol-0.5.7-legacy.json | 0 .../enum-0.4.0.sol-0.5.8-compact.json | 0 .../expected/enum-0.4.0.sol-0.5.8-legacy.json | 0 .../enum-0.4.0.sol-0.5.9-compact.json | 0 .../expected/enum-0.4.0.sol-0.5.9-legacy.json | 0 .../enum-0.4.0.sol-0.6.0-compact.json | 0 .../expected/enum-0.4.0.sol-0.6.0-legacy.json | 0 .../enum-0.4.0.sol-0.6.1-compact.json | 0 .../expected/enum-0.4.0.sol-0.6.1-legacy.json | 0 .../enum-0.4.0.sol-0.6.10-compact.json | 0 .../enum-0.4.0.sol-0.6.10-legacy.json | 0 .../enum-0.4.0.sol-0.6.11-compact.json | 0 .../enum-0.4.0.sol-0.6.11-legacy.json | 0 .../enum-0.4.0.sol-0.6.12-compact.json | 0 .../enum-0.4.0.sol-0.6.12-legacy.json | 0 .../enum-0.4.0.sol-0.6.2-compact.json | 0 .../expected/enum-0.4.0.sol-0.6.2-legacy.json | 0 .../enum-0.4.0.sol-0.6.3-compact.json | 0 .../expected/enum-0.4.0.sol-0.6.3-legacy.json | 0 .../enum-0.4.0.sol-0.6.4-compact.json | 0 .../expected/enum-0.4.0.sol-0.6.4-legacy.json | 0 .../enum-0.4.0.sol-0.6.5-compact.json | 0 .../expected/enum-0.4.0.sol-0.6.5-legacy.json | 0 .../enum-0.4.0.sol-0.6.6-compact.json | 0 .../expected/enum-0.4.0.sol-0.6.6-legacy.json | 0 .../enum-0.4.0.sol-0.6.7-compact.json | 0 .../expected/enum-0.4.0.sol-0.6.7-legacy.json | 0 .../enum-0.4.0.sol-0.6.8-compact.json | 0 .../expected/enum-0.4.0.sol-0.6.8-legacy.json | 0 .../enum-0.4.0.sol-0.6.9-compact.json | 0 .../expected/enum-0.4.0.sol-0.6.9-legacy.json | 0 .../enum-0.4.0.sol-0.7.0-compact.json | 0 .../expected/enum-0.4.0.sol-0.7.0-legacy.json | 0 .../enum-0.4.0.sol-0.7.1-compact.json | 0 .../expected/enum-0.4.0.sol-0.7.1-legacy.json | 0 .../enum-0.4.0.sol-0.7.2-compact.json | 0 .../expected/enum-0.4.0.sol-0.7.2-legacy.json | 0 .../enum-0.4.0.sol-0.7.3-compact.json | 0 .../expected/enum-0.4.0.sol-0.7.3-legacy.json | 0 .../enum-0.4.0.sol-0.7.4-compact.json | 0 .../expected/enum-0.4.0.sol-0.7.4-legacy.json | 0 .../enum-0.4.0.sol-0.7.5-compact.json | 0 .../expected/enum-0.4.0.sol-0.7.5-legacy.json | 0 .../enum-0.4.0.sol-0.7.6-compact.json | 0 .../expected/enum-0.4.0.sol-0.7.6-legacy.json | 0 .../enum-0.8.0.sol-0.8.0-compact.json | 0 .../enum-0.8.0.sol-0.8.1-compact.json | 0 .../enum-0.8.0.sol-0.8.10-compact.json | 0 .../enum-0.8.0.sol-0.8.11-compact.json | 0 .../enum-0.8.0.sol-0.8.12-compact.json | 0 .../enum-0.8.0.sol-0.8.13-compact.json | 0 .../enum-0.8.0.sol-0.8.14-compact.json | 0 .../enum-0.8.0.sol-0.8.15-compact.json | 0 .../enum-0.8.0.sol-0.8.2-compact.json | 0 .../enum-0.8.0.sol-0.8.3-compact.json | 0 .../enum-0.8.0.sol-0.8.4-compact.json | 0 .../enum-0.8.0.sol-0.8.5-compact.json | 0 .../enum-0.8.0.sol-0.8.6-compact.json | 0 .../enum-0.8.0.sol-0.8.7-compact.json | 0 .../enum-0.8.0.sol-0.8.8-compact.json | 0 .../enum-0.8.0.sol-0.8.9-compact.json | 0 .../expected/event-all.sol-0.4.0-compact.json | 0 .../expected/event-all.sol-0.4.0-legacy.json | 0 .../expected/event-all.sol-0.4.1-compact.json | 0 .../expected/event-all.sol-0.4.1-legacy.json | 0 .../event-all.sol-0.4.10-compact.json | 0 .../expected/event-all.sol-0.4.10-legacy.json | 0 .../event-all.sol-0.4.11-compact.json | 0 .../expected/event-all.sol-0.4.11-legacy.json | 0 .../event-all.sol-0.4.12-compact.json | 0 .../expected/event-all.sol-0.4.12-legacy.json | 0 .../event-all.sol-0.4.13-compact.json | 0 .../expected/event-all.sol-0.4.13-legacy.json | 0 .../event-all.sol-0.4.14-compact.json | 0 .../expected/event-all.sol-0.4.14-legacy.json | 0 .../event-all.sol-0.4.15-compact.json | 0 .../expected/event-all.sol-0.4.15-legacy.json | 0 .../event-all.sol-0.4.16-compact.json | 0 .../expected/event-all.sol-0.4.16-legacy.json | 0 .../event-all.sol-0.4.17-compact.json | 0 .../expected/event-all.sol-0.4.17-legacy.json | 0 .../event-all.sol-0.4.18-compact.json | 0 .../expected/event-all.sol-0.4.18-legacy.json | 0 .../event-all.sol-0.4.19-compact.json | 0 .../expected/event-all.sol-0.4.19-legacy.json | 0 .../expected/event-all.sol-0.4.2-compact.json | 0 .../expected/event-all.sol-0.4.2-legacy.json | 0 .../event-all.sol-0.4.20-compact.json | 0 .../expected/event-all.sol-0.4.20-legacy.json | 0 .../event-all.sol-0.4.21-compact.json | 0 .../expected/event-all.sol-0.4.21-legacy.json | 0 .../event-all.sol-0.4.22-compact.json | 0 .../expected/event-all.sol-0.4.22-legacy.json | 0 .../event-all.sol-0.4.23-compact.json | 0 .../expected/event-all.sol-0.4.23-legacy.json | 0 .../event-all.sol-0.4.24-compact.json | 0 .../expected/event-all.sol-0.4.24-legacy.json | 0 .../event-all.sol-0.4.25-compact.json | 0 .../expected/event-all.sol-0.4.25-legacy.json | 0 .../event-all.sol-0.4.26-compact.json | 0 .../expected/event-all.sol-0.4.26-legacy.json | 0 .../expected/event-all.sol-0.4.3-compact.json | 0 .../expected/event-all.sol-0.4.3-legacy.json | 0 .../expected/event-all.sol-0.4.4-compact.json | 0 .../expected/event-all.sol-0.4.4-legacy.json | 0 .../expected/event-all.sol-0.4.5-compact.json | 0 .../expected/event-all.sol-0.4.5-legacy.json | 0 .../expected/event-all.sol-0.4.6-compact.json | 0 .../expected/event-all.sol-0.4.6-legacy.json | 0 .../expected/event-all.sol-0.4.7-compact.json | 0 .../expected/event-all.sol-0.4.7-legacy.json | 0 .../expected/event-all.sol-0.4.8-compact.json | 0 .../expected/event-all.sol-0.4.8-legacy.json | 0 .../expected/event-all.sol-0.4.9-compact.json | 0 .../expected/event-all.sol-0.4.9-legacy.json | 0 .../expected/event-all.sol-0.5.0-compact.json | 0 .../expected/event-all.sol-0.5.0-legacy.json | 0 .../expected/event-all.sol-0.5.1-compact.json | 0 .../expected/event-all.sol-0.5.1-legacy.json | 0 .../event-all.sol-0.5.10-compact.json | 0 .../expected/event-all.sol-0.5.10-legacy.json | 0 .../event-all.sol-0.5.11-compact.json | 0 .../expected/event-all.sol-0.5.11-legacy.json | 0 .../event-all.sol-0.5.12-compact.json | 0 .../expected/event-all.sol-0.5.12-legacy.json | 0 .../event-all.sol-0.5.13-compact.json | 0 .../expected/event-all.sol-0.5.13-legacy.json | 0 .../event-all.sol-0.5.14-compact.json | 0 .../expected/event-all.sol-0.5.14-legacy.json | 0 .../event-all.sol-0.5.15-compact.json | 0 .../expected/event-all.sol-0.5.15-legacy.json | 0 .../event-all.sol-0.5.16-compact.json | 0 .../expected/event-all.sol-0.5.16-legacy.json | 0 .../event-all.sol-0.5.17-compact.json | 0 .../expected/event-all.sol-0.5.17-legacy.json | 0 .../expected/event-all.sol-0.5.2-compact.json | 0 .../expected/event-all.sol-0.5.2-legacy.json | 0 .../expected/event-all.sol-0.5.3-compact.json | 0 .../expected/event-all.sol-0.5.3-legacy.json | 0 .../expected/event-all.sol-0.5.4-compact.json | 0 .../expected/event-all.sol-0.5.4-legacy.json | 0 .../expected/event-all.sol-0.5.5-compact.json | 0 .../expected/event-all.sol-0.5.5-legacy.json | 0 .../expected/event-all.sol-0.5.6-compact.json | 0 .../expected/event-all.sol-0.5.6-legacy.json | 0 .../expected/event-all.sol-0.5.7-compact.json | 0 .../expected/event-all.sol-0.5.7-legacy.json | 0 .../expected/event-all.sol-0.5.8-compact.json | 0 .../expected/event-all.sol-0.5.8-legacy.json | 0 .../expected/event-all.sol-0.5.9-compact.json | 0 .../expected/event-all.sol-0.5.9-legacy.json | 0 .../expected/event-all.sol-0.6.0-compact.json | 0 .../expected/event-all.sol-0.6.0-legacy.json | 0 .../expected/event-all.sol-0.6.1-compact.json | 0 .../expected/event-all.sol-0.6.1-legacy.json | 0 .../event-all.sol-0.6.10-compact.json | 0 .../expected/event-all.sol-0.6.10-legacy.json | 0 .../event-all.sol-0.6.11-compact.json | 0 .../expected/event-all.sol-0.6.11-legacy.json | 0 .../event-all.sol-0.6.12-compact.json | 0 .../expected/event-all.sol-0.6.12-legacy.json | 0 .../expected/event-all.sol-0.6.2-compact.json | 0 .../expected/event-all.sol-0.6.2-legacy.json | 0 .../expected/event-all.sol-0.6.3-compact.json | 0 .../expected/event-all.sol-0.6.3-legacy.json | 0 .../expected/event-all.sol-0.6.4-compact.json | 0 .../expected/event-all.sol-0.6.4-legacy.json | 0 .../expected/event-all.sol-0.6.5-compact.json | 0 .../expected/event-all.sol-0.6.5-legacy.json | 0 .../expected/event-all.sol-0.6.6-compact.json | 0 .../expected/event-all.sol-0.6.6-legacy.json | 0 .../expected/event-all.sol-0.6.7-compact.json | 0 .../expected/event-all.sol-0.6.7-legacy.json | 0 .../expected/event-all.sol-0.6.8-compact.json | 0 .../expected/event-all.sol-0.6.8-legacy.json | 0 .../expected/event-all.sol-0.6.9-compact.json | 0 .../expected/event-all.sol-0.6.9-legacy.json | 0 .../expected/event-all.sol-0.7.0-compact.json | 0 .../expected/event-all.sol-0.7.0-legacy.json | 0 .../expected/event-all.sol-0.7.1-compact.json | 0 .../expected/event-all.sol-0.7.1-legacy.json | 0 .../expected/event-all.sol-0.7.2-compact.json | 0 .../expected/event-all.sol-0.7.2-legacy.json | 0 .../expected/event-all.sol-0.7.3-compact.json | 0 .../expected/event-all.sol-0.7.3-legacy.json | 0 .../expected/event-all.sol-0.7.4-compact.json | 0 .../expected/event-all.sol-0.7.4-legacy.json | 0 .../expected/event-all.sol-0.7.5-compact.json | 0 .../expected/event-all.sol-0.7.5-legacy.json | 0 .../expected/event-all.sol-0.7.6-compact.json | 0 .../expected/event-all.sol-0.7.6-legacy.json | 0 .../expected/event-all.sol-0.8.0-compact.json | 0 .../expected/event-all.sol-0.8.1-compact.json | 0 .../event-all.sol-0.8.10-compact.json | 0 .../event-all.sol-0.8.11-compact.json | 0 .../event-all.sol-0.8.12-compact.json | 0 .../event-all.sol-0.8.13-compact.json | 0 .../event-all.sol-0.8.14-compact.json | 0 .../event-all.sol-0.8.15-compact.json | 0 .../expected/event-all.sol-0.8.2-compact.json | 0 .../expected/event-all.sol-0.8.3-compact.json | 0 .../expected/event-all.sol-0.8.4-compact.json | 0 .../expected/event-all.sol-0.8.5-compact.json | 0 .../expected/event-all.sol-0.8.6-compact.json | 0 .../expected/event-all.sol-0.8.7-compact.json | 0 .../expected/event-all.sol-0.8.8-compact.json | 0 .../expected/event-all.sol-0.8.9-compact.json | 0 .../expected/for-all.sol-0.4.0-compact.json | 0 .../expected/for-all.sol-0.4.0-legacy.json | 0 .../expected/for-all.sol-0.4.1-compact.json | 0 .../expected/for-all.sol-0.4.1-legacy.json | 0 .../expected/for-all.sol-0.4.10-compact.json | 0 .../expected/for-all.sol-0.4.10-legacy.json | 0 .../expected/for-all.sol-0.4.11-compact.json | 0 .../expected/for-all.sol-0.4.11-legacy.json | 0 .../expected/for-all.sol-0.4.12-compact.json | 0 .../expected/for-all.sol-0.4.12-legacy.json | 0 .../expected/for-all.sol-0.4.13-compact.json | 0 .../expected/for-all.sol-0.4.13-legacy.json | 0 .../expected/for-all.sol-0.4.14-compact.json | 0 .../expected/for-all.sol-0.4.14-legacy.json | 0 .../expected/for-all.sol-0.4.15-compact.json | 0 .../expected/for-all.sol-0.4.15-legacy.json | 0 .../expected/for-all.sol-0.4.16-compact.json | 0 .../expected/for-all.sol-0.4.16-legacy.json | 0 .../expected/for-all.sol-0.4.17-compact.json | 0 .../expected/for-all.sol-0.4.17-legacy.json | 0 .../expected/for-all.sol-0.4.18-compact.json | 0 .../expected/for-all.sol-0.4.18-legacy.json | 0 .../expected/for-all.sol-0.4.19-compact.json | 0 .../expected/for-all.sol-0.4.19-legacy.json | 0 .../expected/for-all.sol-0.4.2-compact.json | 0 .../expected/for-all.sol-0.4.2-legacy.json | 0 .../expected/for-all.sol-0.4.20-compact.json | 0 .../expected/for-all.sol-0.4.20-legacy.json | 0 .../expected/for-all.sol-0.4.21-compact.json | 0 .../expected/for-all.sol-0.4.21-legacy.json | 0 .../expected/for-all.sol-0.4.22-compact.json | 0 .../expected/for-all.sol-0.4.22-legacy.json | 0 .../expected/for-all.sol-0.4.23-compact.json | 0 .../expected/for-all.sol-0.4.23-legacy.json | 0 .../expected/for-all.sol-0.4.24-compact.json | 0 .../expected/for-all.sol-0.4.24-legacy.json | 0 .../expected/for-all.sol-0.4.25-compact.json | 0 .../expected/for-all.sol-0.4.25-legacy.json | 0 .../expected/for-all.sol-0.4.26-compact.json | 0 .../expected/for-all.sol-0.4.26-legacy.json | 0 .../expected/for-all.sol-0.4.3-compact.json | 0 .../expected/for-all.sol-0.4.3-legacy.json | 0 .../expected/for-all.sol-0.4.4-compact.json | 0 .../expected/for-all.sol-0.4.4-legacy.json | 0 .../expected/for-all.sol-0.4.5-compact.json | 0 .../expected/for-all.sol-0.4.5-legacy.json | 0 .../expected/for-all.sol-0.4.6-compact.json | 0 .../expected/for-all.sol-0.4.6-legacy.json | 0 .../expected/for-all.sol-0.4.7-compact.json | 0 .../expected/for-all.sol-0.4.7-legacy.json | 0 .../expected/for-all.sol-0.4.8-compact.json | 0 .../expected/for-all.sol-0.4.8-legacy.json | 0 .../expected/for-all.sol-0.4.9-compact.json | 0 .../expected/for-all.sol-0.4.9-legacy.json | 0 .../expected/for-all.sol-0.5.0-compact.json | 0 .../expected/for-all.sol-0.5.0-legacy.json | 0 .../expected/for-all.sol-0.5.1-compact.json | 0 .../expected/for-all.sol-0.5.1-legacy.json | 0 .../expected/for-all.sol-0.5.10-compact.json | 0 .../expected/for-all.sol-0.5.10-legacy.json | 0 .../expected/for-all.sol-0.5.11-compact.json | 0 .../expected/for-all.sol-0.5.11-legacy.json | 0 .../expected/for-all.sol-0.5.12-compact.json | 0 .../expected/for-all.sol-0.5.12-legacy.json | 0 .../expected/for-all.sol-0.5.13-compact.json | 0 .../expected/for-all.sol-0.5.13-legacy.json | 0 .../expected/for-all.sol-0.5.14-compact.json | 0 .../expected/for-all.sol-0.5.14-legacy.json | 0 .../expected/for-all.sol-0.5.15-compact.json | 0 .../expected/for-all.sol-0.5.15-legacy.json | 0 .../expected/for-all.sol-0.5.16-compact.json | 0 .../expected/for-all.sol-0.5.16-legacy.json | 0 .../expected/for-all.sol-0.5.17-compact.json | 0 .../expected/for-all.sol-0.5.17-legacy.json | 0 .../expected/for-all.sol-0.5.2-compact.json | 0 .../expected/for-all.sol-0.5.2-legacy.json | 0 .../expected/for-all.sol-0.5.3-compact.json | 0 .../expected/for-all.sol-0.5.3-legacy.json | 0 .../expected/for-all.sol-0.5.4-compact.json | 0 .../expected/for-all.sol-0.5.4-legacy.json | 0 .../expected/for-all.sol-0.5.5-compact.json | 0 .../expected/for-all.sol-0.5.5-legacy.json | 0 .../expected/for-all.sol-0.5.6-compact.json | 0 .../expected/for-all.sol-0.5.6-legacy.json | 0 .../expected/for-all.sol-0.5.7-compact.json | 0 .../expected/for-all.sol-0.5.7-legacy.json | 0 .../expected/for-all.sol-0.5.8-compact.json | 0 .../expected/for-all.sol-0.5.8-legacy.json | 0 .../expected/for-all.sol-0.5.9-compact.json | 0 .../expected/for-all.sol-0.5.9-legacy.json | 0 .../expected/for-all.sol-0.6.0-compact.json | 0 .../expected/for-all.sol-0.6.0-legacy.json | 0 .../expected/for-all.sol-0.6.1-compact.json | 0 .../expected/for-all.sol-0.6.1-legacy.json | 0 .../expected/for-all.sol-0.6.10-compact.json | 0 .../expected/for-all.sol-0.6.10-legacy.json | 0 .../expected/for-all.sol-0.6.11-compact.json | 0 .../expected/for-all.sol-0.6.11-legacy.json | 0 .../expected/for-all.sol-0.6.12-compact.json | 0 .../expected/for-all.sol-0.6.12-legacy.json | 0 .../expected/for-all.sol-0.6.2-compact.json | 0 .../expected/for-all.sol-0.6.2-legacy.json | 0 .../expected/for-all.sol-0.6.3-compact.json | 0 .../expected/for-all.sol-0.6.3-legacy.json | 0 .../expected/for-all.sol-0.6.4-compact.json | 0 .../expected/for-all.sol-0.6.4-legacy.json | 0 .../expected/for-all.sol-0.6.5-compact.json | 0 .../expected/for-all.sol-0.6.5-legacy.json | 0 .../expected/for-all.sol-0.6.6-compact.json | 0 .../expected/for-all.sol-0.6.6-legacy.json | 0 .../expected/for-all.sol-0.6.7-compact.json | 0 .../expected/for-all.sol-0.6.7-legacy.json | 0 .../expected/for-all.sol-0.6.8-compact.json | 0 .../expected/for-all.sol-0.6.8-legacy.json | 0 .../expected/for-all.sol-0.6.9-compact.json | 0 .../expected/for-all.sol-0.6.9-legacy.json | 0 .../expected/for-all.sol-0.7.0-compact.json | 0 .../expected/for-all.sol-0.7.0-legacy.json | 0 .../expected/for-all.sol-0.7.1-compact.json | 0 .../expected/for-all.sol-0.7.1-legacy.json | 0 .../expected/for-all.sol-0.7.2-compact.json | 0 .../expected/for-all.sol-0.7.2-legacy.json | 0 .../expected/for-all.sol-0.7.3-compact.json | 0 .../expected/for-all.sol-0.7.3-legacy.json | 0 .../expected/for-all.sol-0.7.4-compact.json | 0 .../expected/for-all.sol-0.7.4-legacy.json | 0 .../expected/for-all.sol-0.7.5-compact.json | 0 .../expected/for-all.sol-0.7.5-legacy.json | 0 .../expected/for-all.sol-0.7.6-compact.json | 0 .../expected/for-all.sol-0.7.6-legacy.json | 0 .../expected/for-all.sol-0.8.0-compact.json | 0 .../expected/for-all.sol-0.8.1-compact.json | 0 .../expected/for-all.sol-0.8.10-compact.json | 0 .../expected/for-all.sol-0.8.11-compact.json | 0 .../expected/for-all.sol-0.8.12-compact.json | 0 .../expected/for-all.sol-0.8.13-compact.json | 0 .../expected/for-all.sol-0.8.14-compact.json | 0 .../expected/for-all.sol-0.8.15-compact.json | 0 .../expected/for-all.sol-0.8.2-compact.json | 0 .../expected/for-all.sol-0.8.3-compact.json | 0 .../expected/for-all.sol-0.8.4-compact.json | 0 .../expected/for-all.sol-0.8.5-compact.json | 0 .../expected/for-all.sol-0.8.6-compact.json | 0 .../expected/for-all.sol-0.8.7-compact.json | 0 .../expected/for-all.sol-0.8.8-compact.json | 0 .../expected/for-all.sol-0.8.9-compact.json | 0 ...ibraries_from_free.sol-0.8.12-compact.json | 0 ...function_collision.sol-0.8.12-compact.json | 0 .../new_operator.sol-0.8.12-compact.json | 0 .../function-0.4.0.sol-0.4.0-compact.json | 0 .../function-0.4.0.sol-0.4.0-legacy.json | 0 .../function-0.4.0.sol-0.4.1-compact.json | 0 .../function-0.4.0.sol-0.4.1-legacy.json | 0 .../function-0.4.0.sol-0.4.10-compact.json | 0 .../function-0.4.0.sol-0.4.10-legacy.json | 0 .../function-0.4.0.sol-0.4.11-compact.json | 0 .../function-0.4.0.sol-0.4.11-legacy.json | 0 .../function-0.4.0.sol-0.4.12-compact.json | 0 .../function-0.4.0.sol-0.4.12-legacy.json | 0 .../function-0.4.0.sol-0.4.13-compact.json | 0 .../function-0.4.0.sol-0.4.13-legacy.json | 0 .../function-0.4.0.sol-0.4.14-compact.json | 0 .../function-0.4.0.sol-0.4.14-legacy.json | 0 .../function-0.4.0.sol-0.4.15-compact.json | 0 .../function-0.4.0.sol-0.4.15-legacy.json | 0 .../function-0.4.0.sol-0.4.2-compact.json | 0 .../function-0.4.0.sol-0.4.2-legacy.json | 0 .../function-0.4.0.sol-0.4.3-compact.json | 0 .../function-0.4.0.sol-0.4.3-legacy.json | 0 .../function-0.4.0.sol-0.4.4-compact.json | 0 .../function-0.4.0.sol-0.4.4-legacy.json | 0 .../function-0.4.0.sol-0.4.5-compact.json | 0 .../function-0.4.0.sol-0.4.5-legacy.json | 0 .../function-0.4.0.sol-0.4.6-compact.json | 0 .../function-0.4.0.sol-0.4.6-legacy.json | 0 .../function-0.4.0.sol-0.4.7-compact.json | 0 .../function-0.4.0.sol-0.4.7-legacy.json | 0 .../function-0.4.0.sol-0.4.8-compact.json | 0 .../function-0.4.0.sol-0.4.8-legacy.json | 0 .../function-0.4.0.sol-0.4.9-compact.json | 0 .../function-0.4.0.sol-0.4.9-legacy.json | 0 .../function-0.4.16.sol-0.4.16-compact.json | 0 .../function-0.4.16.sol-0.4.16-legacy.json | 0 .../function-0.4.16.sol-0.4.17-compact.json | 0 .../function-0.4.16.sol-0.4.17-legacy.json | 0 .../function-0.4.16.sol-0.4.18-compact.json | 0 .../function-0.4.16.sol-0.4.18-legacy.json | 0 .../function-0.4.16.sol-0.4.19-compact.json | 0 .../function-0.4.16.sol-0.4.19-legacy.json | 0 .../function-0.4.16.sol-0.4.20-compact.json | 0 .../function-0.4.16.sol-0.4.20-legacy.json | 0 .../function-0.4.16.sol-0.4.21-compact.json | 0 .../function-0.4.16.sol-0.4.21-legacy.json | 0 .../function-0.4.22.sol-0.4.22-compact.json | 0 .../function-0.4.22.sol-0.4.22-legacy.json | 0 .../function-0.4.23.sol-0.4.23-compact.json | 0 .../function-0.4.23.sol-0.4.23-legacy.json | 0 .../function-0.4.23.sol-0.4.24-compact.json | 0 .../function-0.4.23.sol-0.4.24-legacy.json | 0 .../function-0.4.23.sol-0.4.25-compact.json | 0 .../function-0.4.23.sol-0.4.25-legacy.json | 0 .../function-0.4.23.sol-0.4.26-compact.json | 0 .../function-0.4.23.sol-0.4.26-legacy.json | 0 .../function-0.5.0.sol-0.5.0-compact.json | 0 .../function-0.5.0.sol-0.5.0-legacy.json | 0 .../function-0.5.0.sol-0.5.1-compact.json | 0 .../function-0.5.0.sol-0.5.1-legacy.json | 0 .../function-0.5.0.sol-0.5.10-compact.json | 0 .../function-0.5.0.sol-0.5.10-legacy.json | 0 .../function-0.5.0.sol-0.5.11-compact.json | 0 .../function-0.5.0.sol-0.5.11-legacy.json | 0 .../function-0.5.0.sol-0.5.12-compact.json | 0 .../function-0.5.0.sol-0.5.12-legacy.json | 0 .../function-0.5.0.sol-0.5.13-compact.json | 0 .../function-0.5.0.sol-0.5.13-legacy.json | 0 .../function-0.5.0.sol-0.5.14-compact.json | 0 .../function-0.5.0.sol-0.5.14-legacy.json | 0 .../function-0.5.0.sol-0.5.15-compact.json | 0 .../function-0.5.0.sol-0.5.15-legacy.json | 0 .../function-0.5.0.sol-0.5.16-compact.json | 0 .../function-0.5.0.sol-0.5.16-legacy.json | 0 .../function-0.5.0.sol-0.5.17-compact.json | 0 .../function-0.5.0.sol-0.5.17-legacy.json | 0 .../function-0.5.0.sol-0.5.2-compact.json | 0 .../function-0.5.0.sol-0.5.2-legacy.json | 0 .../function-0.5.0.sol-0.5.3-compact.json | 0 .../function-0.5.0.sol-0.5.3-legacy.json | 0 .../function-0.5.0.sol-0.5.4-compact.json | 0 .../function-0.5.0.sol-0.5.4-legacy.json | 0 .../function-0.5.0.sol-0.5.5-compact.json | 0 .../function-0.5.0.sol-0.5.5-legacy.json | 0 .../function-0.5.0.sol-0.5.6-compact.json | 0 .../function-0.5.0.sol-0.5.6-legacy.json | 0 .../function-0.5.0.sol-0.5.7-compact.json | 0 .../function-0.5.0.sol-0.5.7-legacy.json | 0 .../function-0.5.0.sol-0.5.8-compact.json | 0 .../function-0.5.0.sol-0.5.8-legacy.json | 0 .../function-0.5.0.sol-0.5.9-compact.json | 0 .../function-0.5.0.sol-0.5.9-legacy.json | 0 .../function-0.6.0.sol-0.6.0-compact.json | 0 .../function-0.6.0.sol-0.6.1-compact.json | 0 .../function-0.6.0.sol-0.6.10-compact.json | 0 .../function-0.6.0.sol-0.6.11-compact.json | 0 .../function-0.6.0.sol-0.6.12-compact.json | 0 .../function-0.6.0.sol-0.6.2-compact.json | 0 .../function-0.6.0.sol-0.6.3-compact.json | 0 .../function-0.6.0.sol-0.6.4-compact.json | 0 .../function-0.6.0.sol-0.6.5-compact.json | 0 .../function-0.6.0.sol-0.6.6-compact.json | 0 .../function-0.6.0.sol-0.6.7-compact.json | 0 .../function-0.6.0.sol-0.6.8-compact.json | 0 .../function-0.6.0.sol-0.6.9-compact.json | 0 .../function-0.7.1.sol-0.7.1-compact.json | 0 .../function-0.7.1.sol-0.7.2-compact.json | 0 .../function-0.7.1.sol-0.7.3-compact.json | 0 .../function-0.7.1.sol-0.7.4-compact.json | 0 .../function-0.7.1.sol-0.7.5-compact.json | 0 .../function-0.7.1.sol-0.7.6-compact.json | 0 .../function-0.7.1.sol-0.8.0-compact.json | 0 .../function-0.7.1.sol-0.8.1-compact.json | 0 .../function-0.7.1.sol-0.8.10-compact.json | 0 .../function-0.7.1.sol-0.8.11-compact.json | 0 .../function-0.7.1.sol-0.8.12-compact.json | 0 .../function-0.7.1.sol-0.8.13-compact.json | 0 .../function-0.7.1.sol-0.8.14-compact.json | 0 .../function-0.7.1.sol-0.8.15-compact.json | 0 .../function-0.7.1.sol-0.8.2-compact.json | 0 .../function-0.7.1.sol-0.8.3-compact.json | 0 .../function-0.7.1.sol-0.8.4-compact.json | 0 .../function-0.7.1.sol-0.8.5-compact.json | 0 .../function-0.7.1.sol-0.8.6-compact.json | 0 .../function-0.7.1.sol-0.8.7-compact.json | 0 .../function-0.7.1.sol-0.8.8-compact.json | 0 .../function-0.7.1.sol-0.8.9-compact.json | 0 .../functioncall-0.4.0.sol-0.4.0-compact.json | 0 .../functioncall-0.4.0.sol-0.4.0-legacy.json | 0 .../functioncall-0.4.0.sol-0.4.1-compact.json | 0 .../functioncall-0.4.0.sol-0.4.1-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.10-compact.json | 0 .../functioncall-0.4.0.sol-0.4.10-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.11-compact.json | 0 .../functioncall-0.4.0.sol-0.4.11-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.12-compact.json | 0 .../functioncall-0.4.0.sol-0.4.12-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.13-compact.json | 0 .../functioncall-0.4.0.sol-0.4.13-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.14-compact.json | 0 .../functioncall-0.4.0.sol-0.4.14-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.15-compact.json | 0 .../functioncall-0.4.0.sol-0.4.15-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.16-compact.json | 0 .../functioncall-0.4.0.sol-0.4.16-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.17-compact.json | 0 .../functioncall-0.4.0.sol-0.4.17-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.18-compact.json | 0 .../functioncall-0.4.0.sol-0.4.18-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.19-compact.json | 0 .../functioncall-0.4.0.sol-0.4.19-legacy.json | 0 .../functioncall-0.4.0.sol-0.4.2-compact.json | 0 .../functioncall-0.4.0.sol-0.4.2-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.20-compact.json | 0 .../functioncall-0.4.0.sol-0.4.20-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.21-compact.json | 0 .../functioncall-0.4.0.sol-0.4.21-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.22-compact.json | 0 .../functioncall-0.4.0.sol-0.4.22-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.23-compact.json | 0 .../functioncall-0.4.0.sol-0.4.23-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.24-compact.json | 0 .../functioncall-0.4.0.sol-0.4.24-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.25-compact.json | 0 .../functioncall-0.4.0.sol-0.4.25-legacy.json | 0 ...functioncall-0.4.0.sol-0.4.26-compact.json | 0 .../functioncall-0.4.0.sol-0.4.26-legacy.json | 0 .../functioncall-0.4.0.sol-0.4.3-compact.json | 0 .../functioncall-0.4.0.sol-0.4.3-legacy.json | 0 .../functioncall-0.4.0.sol-0.4.4-compact.json | 0 .../functioncall-0.4.0.sol-0.4.4-legacy.json | 0 .../functioncall-0.4.0.sol-0.4.5-compact.json | 0 .../functioncall-0.4.0.sol-0.4.5-legacy.json | 0 .../functioncall-0.4.0.sol-0.4.6-compact.json | 0 .../functioncall-0.4.0.sol-0.4.6-legacy.json | 0 .../functioncall-0.4.0.sol-0.4.7-compact.json | 0 .../functioncall-0.4.0.sol-0.4.7-legacy.json | 0 .../functioncall-0.4.0.sol-0.4.8-compact.json | 0 .../functioncall-0.4.0.sol-0.4.8-legacy.json | 0 .../functioncall-0.4.0.sol-0.4.9-compact.json | 0 .../functioncall-0.4.0.sol-0.4.9-legacy.json | 0 .../functioncall-0.4.5.sol-0.4.5-compact.json | 0 .../functioncall-0.4.5.sol-0.4.5-legacy.json | 0 .../functioncall-0.4.5.sol-0.4.6-compact.json | 0 .../functioncall-0.4.5.sol-0.4.6-legacy.json | 0 .../functioncall-0.4.5.sol-0.4.7-compact.json | 0 .../functioncall-0.4.5.sol-0.4.7-legacy.json | 0 .../functioncall-0.4.5.sol-0.4.8-compact.json | 0 .../functioncall-0.4.5.sol-0.4.8-legacy.json | 0 .../functioncall-0.4.5.sol-0.4.9-compact.json | 0 .../functioncall-0.4.5.sol-0.4.9-legacy.json | 0 .../functioncall-0.5.0.sol-0.5.0-compact.json | 0 .../functioncall-0.5.0.sol-0.5.0-legacy.json | 0 .../functioncall-0.5.0.sol-0.5.1-compact.json | 0 .../functioncall-0.5.0.sol-0.5.1-legacy.json | 0 .../functioncall-0.5.0.sol-0.5.2-compact.json | 0 .../functioncall-0.5.0.sol-0.5.2-legacy.json | 0 ...functioncall-0.5.3.sol-0.5.10-compact.json | 0 .../functioncall-0.5.3.sol-0.5.10-legacy.json | 0 ...functioncall-0.5.3.sol-0.5.11-compact.json | 0 .../functioncall-0.5.3.sol-0.5.11-legacy.json | 0 ...functioncall-0.5.3.sol-0.5.12-compact.json | 0 .../functioncall-0.5.3.sol-0.5.12-legacy.json | 0 ...functioncall-0.5.3.sol-0.5.13-compact.json | 0 .../functioncall-0.5.3.sol-0.5.13-legacy.json | 0 ...functioncall-0.5.3.sol-0.5.14-compact.json | 0 .../functioncall-0.5.3.sol-0.5.14-legacy.json | 0 ...functioncall-0.5.3.sol-0.5.15-compact.json | 0 .../functioncall-0.5.3.sol-0.5.15-legacy.json | 0 ...functioncall-0.5.3.sol-0.5.16-compact.json | 0 .../functioncall-0.5.3.sol-0.5.16-legacy.json | 0 ...functioncall-0.5.3.sol-0.5.17-compact.json | 0 .../functioncall-0.5.3.sol-0.5.17-legacy.json | 0 .../functioncall-0.5.3.sol-0.5.3-compact.json | 0 .../functioncall-0.5.3.sol-0.5.3-legacy.json | 0 .../functioncall-0.5.3.sol-0.5.4-compact.json | 0 .../functioncall-0.5.3.sol-0.5.4-legacy.json | 0 .../functioncall-0.5.3.sol-0.5.5-compact.json | 0 .../functioncall-0.5.3.sol-0.5.5-legacy.json | 0 .../functioncall-0.5.3.sol-0.5.6-compact.json | 0 .../functioncall-0.5.3.sol-0.5.6-legacy.json | 0 .../functioncall-0.5.3.sol-0.5.7-compact.json | 0 .../functioncall-0.5.3.sol-0.5.7-legacy.json | 0 .../functioncall-0.5.3.sol-0.5.8-compact.json | 0 .../functioncall-0.5.3.sol-0.5.8-legacy.json | 0 .../functioncall-0.5.3.sol-0.5.9-compact.json | 0 .../functioncall-0.5.3.sol-0.5.9-legacy.json | 0 .../functioncall-0.6.0.sol-0.6.0-compact.json | 0 .../functioncall-0.6.0.sol-0.6.0-legacy.json | 0 .../functioncall-0.6.0.sol-0.6.1-compact.json | 0 .../functioncall-0.6.0.sol-0.6.1-legacy.json | 0 .../functioncall-0.6.2.sol-0.6.2-compact.json | 0 .../functioncall-0.6.2.sol-0.6.2-legacy.json | 0 .../functioncall-0.6.2.sol-0.6.3-compact.json | 0 .../functioncall-0.6.2.sol-0.6.3-legacy.json | 0 .../functioncall-0.6.2.sol-0.6.4-compact.json | 0 .../functioncall-0.6.2.sol-0.6.4-legacy.json | 0 .../functioncall-0.6.2.sol-0.6.5-compact.json | 0 .../functioncall-0.6.2.sol-0.6.5-legacy.json | 0 .../functioncall-0.6.2.sol-0.6.6-compact.json | 0 .../functioncall-0.6.2.sol-0.6.6-legacy.json | 0 .../functioncall-0.6.2.sol-0.6.7-compact.json | 0 .../functioncall-0.6.2.sol-0.6.7-legacy.json | 0 ...functioncall-0.6.8.sol-0.6.10-compact.json | 0 .../functioncall-0.6.8.sol-0.6.10-legacy.json | 0 ...functioncall-0.6.8.sol-0.6.11-compact.json | 0 .../functioncall-0.6.8.sol-0.6.11-legacy.json | 0 ...functioncall-0.6.8.sol-0.6.12-compact.json | 0 .../functioncall-0.6.8.sol-0.6.12-legacy.json | 0 .../functioncall-0.6.8.sol-0.6.8-compact.json | 0 .../functioncall-0.6.8.sol-0.6.8-legacy.json | 0 .../functioncall-0.6.8.sol-0.6.9-compact.json | 0 .../functioncall-0.6.8.sol-0.6.9-legacy.json | 0 .../functioncall-0.7.0.sol-0.7.0-compact.json | 0 .../functioncall-0.7.0.sol-0.7.0-legacy.json | 0 .../functioncall-0.7.0.sol-0.7.1-compact.json | 0 .../functioncall-0.7.0.sol-0.7.1-legacy.json | 0 .../functioncall-0.7.0.sol-0.7.2-compact.json | 0 .../functioncall-0.7.0.sol-0.7.2-legacy.json | 0 .../functioncall-0.7.0.sol-0.7.3-compact.json | 0 .../functioncall-0.7.0.sol-0.7.3-legacy.json | 0 .../functioncall-0.7.0.sol-0.7.4-compact.json | 0 .../functioncall-0.7.0.sol-0.7.4-legacy.json | 0 .../functioncall-0.7.0.sol-0.7.5-compact.json | 0 .../functioncall-0.7.0.sol-0.7.5-legacy.json | 0 .../functioncall-0.7.0.sol-0.7.6-compact.json | 0 .../functioncall-0.7.0.sol-0.7.6-legacy.json | 0 .../functioncall-0.8.0.sol-0.8.0-compact.json | 0 .../functioncall-0.8.0.sol-0.8.1-compact.json | 0 ...functioncall-0.8.0.sol-0.8.10-compact.json | 0 ...functioncall-0.8.0.sol-0.8.11-compact.json | 0 ...functioncall-0.8.0.sol-0.8.12-compact.json | 0 ...functioncall-0.8.0.sol-0.8.13-compact.json | 0 ...functioncall-0.8.0.sol-0.8.14-compact.json | 0 ...functioncall-0.8.0.sol-0.8.15-compact.json | 0 .../functioncall-0.8.0.sol-0.8.2-compact.json | 0 .../functioncall-0.8.0.sol-0.8.3-compact.json | 0 .../functioncall-0.8.0.sol-0.8.4-compact.json | 0 .../functioncall-0.8.0.sol-0.8.5-compact.json | 0 .../functioncall-0.8.0.sol-0.8.6-compact.json | 0 .../functioncall-0.8.0.sol-0.8.7-compact.json | 0 .../functioncall-0.8.0.sol-0.8.8-compact.json | 0 .../functioncall-0.8.0.sol-0.8.9-compact.json | 0 .../expected/if-all.sol-0.4.0-compact.json | 0 .../expected/if-all.sol-0.4.0-legacy.json | 0 .../expected/if-all.sol-0.4.1-compact.json | 0 .../expected/if-all.sol-0.4.1-legacy.json | 0 .../expected/if-all.sol-0.4.10-compact.json | 0 .../expected/if-all.sol-0.4.10-legacy.json | 0 .../expected/if-all.sol-0.4.11-compact.json | 0 .../expected/if-all.sol-0.4.11-legacy.json | 0 .../expected/if-all.sol-0.4.12-compact.json | 0 .../expected/if-all.sol-0.4.12-legacy.json | 0 .../expected/if-all.sol-0.4.13-compact.json | 0 .../expected/if-all.sol-0.4.13-legacy.json | 0 .../expected/if-all.sol-0.4.14-compact.json | 0 .../expected/if-all.sol-0.4.14-legacy.json | 0 .../expected/if-all.sol-0.4.15-compact.json | 0 .../expected/if-all.sol-0.4.15-legacy.json | 0 .../expected/if-all.sol-0.4.16-compact.json | 0 .../expected/if-all.sol-0.4.16-legacy.json | 0 .../expected/if-all.sol-0.4.17-compact.json | 0 .../expected/if-all.sol-0.4.17-legacy.json | 0 .../expected/if-all.sol-0.4.18-compact.json | 0 .../expected/if-all.sol-0.4.18-legacy.json | 0 .../expected/if-all.sol-0.4.19-compact.json | 0 .../expected/if-all.sol-0.4.19-legacy.json | 0 .../expected/if-all.sol-0.4.2-compact.json | 0 .../expected/if-all.sol-0.4.2-legacy.json | 0 .../expected/if-all.sol-0.4.20-compact.json | 0 .../expected/if-all.sol-0.4.20-legacy.json | 0 .../expected/if-all.sol-0.4.21-compact.json | 0 .../expected/if-all.sol-0.4.21-legacy.json | 0 .../expected/if-all.sol-0.4.22-compact.json | 0 .../expected/if-all.sol-0.4.22-legacy.json | 0 .../expected/if-all.sol-0.4.23-compact.json | 0 .../expected/if-all.sol-0.4.23-legacy.json | 0 .../expected/if-all.sol-0.4.24-compact.json | 0 .../expected/if-all.sol-0.4.24-legacy.json | 0 .../expected/if-all.sol-0.4.25-compact.json | 0 .../expected/if-all.sol-0.4.25-legacy.json | 0 .../expected/if-all.sol-0.4.26-compact.json | 0 .../expected/if-all.sol-0.4.26-legacy.json | 0 .../expected/if-all.sol-0.4.3-compact.json | 0 .../expected/if-all.sol-0.4.3-legacy.json | 0 .../expected/if-all.sol-0.4.4-compact.json | 0 .../expected/if-all.sol-0.4.4-legacy.json | 0 .../expected/if-all.sol-0.4.5-compact.json | 0 .../expected/if-all.sol-0.4.5-legacy.json | 0 .../expected/if-all.sol-0.4.6-compact.json | 0 .../expected/if-all.sol-0.4.6-legacy.json | 0 .../expected/if-all.sol-0.4.7-compact.json | 0 .../expected/if-all.sol-0.4.7-legacy.json | 0 .../expected/if-all.sol-0.4.8-compact.json | 0 .../expected/if-all.sol-0.4.8-legacy.json | 0 .../expected/if-all.sol-0.4.9-compact.json | 0 .../expected/if-all.sol-0.4.9-legacy.json | 0 .../expected/if-all.sol-0.5.0-compact.json | 0 .../expected/if-all.sol-0.5.0-legacy.json | 0 .../expected/if-all.sol-0.5.1-compact.json | 0 .../expected/if-all.sol-0.5.1-legacy.json | 0 .../expected/if-all.sol-0.5.10-compact.json | 0 .../expected/if-all.sol-0.5.10-legacy.json | 0 .../expected/if-all.sol-0.5.11-compact.json | 0 .../expected/if-all.sol-0.5.11-legacy.json | 0 .../expected/if-all.sol-0.5.12-compact.json | 0 .../expected/if-all.sol-0.5.12-legacy.json | 0 .../expected/if-all.sol-0.5.13-compact.json | 0 .../expected/if-all.sol-0.5.13-legacy.json | 0 .../expected/if-all.sol-0.5.14-compact.json | 0 .../expected/if-all.sol-0.5.14-legacy.json | 0 .../expected/if-all.sol-0.5.15-compact.json | 0 .../expected/if-all.sol-0.5.15-legacy.json | 0 .../expected/if-all.sol-0.5.16-compact.json | 0 .../expected/if-all.sol-0.5.16-legacy.json | 0 .../expected/if-all.sol-0.5.17-compact.json | 0 .../expected/if-all.sol-0.5.17-legacy.json | 0 .../expected/if-all.sol-0.5.2-compact.json | 0 .../expected/if-all.sol-0.5.2-legacy.json | 0 .../expected/if-all.sol-0.5.3-compact.json | 0 .../expected/if-all.sol-0.5.3-legacy.json | 0 .../expected/if-all.sol-0.5.4-compact.json | 0 .../expected/if-all.sol-0.5.4-legacy.json | 0 .../expected/if-all.sol-0.5.5-compact.json | 0 .../expected/if-all.sol-0.5.5-legacy.json | 0 .../expected/if-all.sol-0.5.6-compact.json | 0 .../expected/if-all.sol-0.5.6-legacy.json | 0 .../expected/if-all.sol-0.5.7-compact.json | 0 .../expected/if-all.sol-0.5.7-legacy.json | 0 .../expected/if-all.sol-0.5.8-compact.json | 0 .../expected/if-all.sol-0.5.8-legacy.json | 0 .../expected/if-all.sol-0.5.9-compact.json | 0 .../expected/if-all.sol-0.5.9-legacy.json | 0 .../expected/if-all.sol-0.6.0-compact.json | 0 .../expected/if-all.sol-0.6.0-legacy.json | 0 .../expected/if-all.sol-0.6.1-compact.json | 0 .../expected/if-all.sol-0.6.1-legacy.json | 0 .../expected/if-all.sol-0.6.10-compact.json | 0 .../expected/if-all.sol-0.6.10-legacy.json | 0 .../expected/if-all.sol-0.6.11-compact.json | 0 .../expected/if-all.sol-0.6.11-legacy.json | 0 .../expected/if-all.sol-0.6.12-compact.json | 0 .../expected/if-all.sol-0.6.12-legacy.json | 0 .../expected/if-all.sol-0.6.2-compact.json | 0 .../expected/if-all.sol-0.6.2-legacy.json | 0 .../expected/if-all.sol-0.6.3-compact.json | 0 .../expected/if-all.sol-0.6.3-legacy.json | 0 .../expected/if-all.sol-0.6.4-compact.json | 0 .../expected/if-all.sol-0.6.4-legacy.json | 0 .../expected/if-all.sol-0.6.5-compact.json | 0 .../expected/if-all.sol-0.6.5-legacy.json | 0 .../expected/if-all.sol-0.6.6-compact.json | 0 .../expected/if-all.sol-0.6.6-legacy.json | 0 .../expected/if-all.sol-0.6.7-compact.json | 0 .../expected/if-all.sol-0.6.7-legacy.json | 0 .../expected/if-all.sol-0.6.8-compact.json | 0 .../expected/if-all.sol-0.6.8-legacy.json | 0 .../expected/if-all.sol-0.6.9-compact.json | 0 .../expected/if-all.sol-0.6.9-legacy.json | 0 .../expected/if-all.sol-0.7.0-compact.json | 0 .../expected/if-all.sol-0.7.0-legacy.json | 0 .../expected/if-all.sol-0.7.1-compact.json | 0 .../expected/if-all.sol-0.7.1-legacy.json | 0 .../expected/if-all.sol-0.7.2-compact.json | 0 .../expected/if-all.sol-0.7.2-legacy.json | 0 .../expected/if-all.sol-0.7.3-compact.json | 0 .../expected/if-all.sol-0.7.3-legacy.json | 0 .../expected/if-all.sol-0.7.4-compact.json | 0 .../expected/if-all.sol-0.7.4-legacy.json | 0 .../expected/if-all.sol-0.7.5-compact.json | 0 .../expected/if-all.sol-0.7.5-legacy.json | 0 .../expected/if-all.sol-0.7.6-compact.json | 0 .../expected/if-all.sol-0.7.6-legacy.json | 0 .../expected/if-all.sol-0.8.0-compact.json | 0 .../expected/if-all.sol-0.8.1-compact.json | 0 .../expected/if-all.sol-0.8.10-compact.json | 0 .../expected/if-all.sol-0.8.11-compact.json | 0 .../expected/if-all.sol-0.8.12-compact.json | 0 .../expected/if-all.sol-0.8.13-compact.json | 0 .../expected/if-all.sol-0.8.14-compact.json | 0 .../expected/if-all.sol-0.8.15-compact.json | 0 .../expected/if-all.sol-0.8.2-compact.json | 0 .../expected/if-all.sol-0.8.3-compact.json | 0 .../expected/if-all.sol-0.8.4-compact.json | 0 .../expected/if-all.sol-0.8.5-compact.json | 0 .../expected/if-all.sol-0.8.6-compact.json | 0 .../expected/if-all.sol-0.8.7-compact.json | 0 .../expected/if-all.sol-0.8.8-compact.json | 0 .../expected/if-all.sol-0.8.9-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.0-compact.json | 0 ...from_top_level-0.4.0.sol-0.4.0-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.4.1-compact.json | 0 ...from_top_level-0.4.0.sol-0.4.1-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.10-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.10-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.11-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.11-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.12-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.12-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.13-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.13-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.14-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.14-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.15-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.15-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.16-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.16-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.17-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.17-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.18-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.18-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.19-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.19-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.4.2-compact.json | 0 ...from_top_level-0.4.0.sol-0.4.2-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.20-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.20-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.21-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.21-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.22-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.22-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.23-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.23-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.24-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.24-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.25-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.25-legacy.json | 0 ...om_top_level-0.4.0.sol-0.4.26-compact.json | 0 ...rom_top_level-0.4.0.sol-0.4.26-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.4.3-compact.json | 0 ...from_top_level-0.4.0.sol-0.4.3-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.4.4-compact.json | 0 ...from_top_level-0.4.0.sol-0.4.4-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.4.5-compact.json | 0 ...from_top_level-0.4.0.sol-0.4.5-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.4.6-compact.json | 0 ...from_top_level-0.4.0.sol-0.4.6-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.4.7-compact.json | 0 ...from_top_level-0.4.0.sol-0.4.7-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.4.8-compact.json | 0 ...from_top_level-0.4.0.sol-0.4.8-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.4.9-compact.json | 0 ...from_top_level-0.4.0.sol-0.4.9-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.5.0-compact.json | 0 ...from_top_level-0.4.0.sol-0.5.0-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.5.1-compact.json | 0 ...from_top_level-0.4.0.sol-0.5.1-legacy.json | 0 ...om_top_level-0.4.0.sol-0.5.10-compact.json | 0 ...rom_top_level-0.4.0.sol-0.5.10-legacy.json | 0 ...om_top_level-0.4.0.sol-0.5.11-compact.json | 0 ...rom_top_level-0.4.0.sol-0.5.11-legacy.json | 0 ...om_top_level-0.4.0.sol-0.5.12-compact.json | 0 ...rom_top_level-0.4.0.sol-0.5.12-legacy.json | 0 ...om_top_level-0.4.0.sol-0.5.13-compact.json | 0 ...rom_top_level-0.4.0.sol-0.5.13-legacy.json | 0 ...om_top_level-0.4.0.sol-0.5.14-compact.json | 0 ...rom_top_level-0.4.0.sol-0.5.14-legacy.json | 0 ...om_top_level-0.4.0.sol-0.5.15-compact.json | 0 ...rom_top_level-0.4.0.sol-0.5.15-legacy.json | 0 ...om_top_level-0.4.0.sol-0.5.16-compact.json | 0 ...rom_top_level-0.4.0.sol-0.5.16-legacy.json | 0 ...om_top_level-0.4.0.sol-0.5.17-compact.json | 0 ...rom_top_level-0.4.0.sol-0.5.17-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.5.2-compact.json | 0 ...from_top_level-0.4.0.sol-0.5.2-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.5.3-compact.json | 0 ...from_top_level-0.4.0.sol-0.5.3-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.5.4-compact.json | 0 ...from_top_level-0.4.0.sol-0.5.4-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.5.5-compact.json | 0 ...from_top_level-0.4.0.sol-0.5.5-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.5.6-compact.json | 0 ...from_top_level-0.4.0.sol-0.5.6-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.5.7-compact.json | 0 ...from_top_level-0.4.0.sol-0.5.7-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.5.8-compact.json | 0 ...from_top_level-0.4.0.sol-0.5.8-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.5.9-compact.json | 0 ...from_top_level-0.4.0.sol-0.5.9-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.6.0-compact.json | 0 ...from_top_level-0.4.0.sol-0.6.0-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.6.1-compact.json | 0 ...from_top_level-0.4.0.sol-0.6.1-legacy.json | 0 ...om_top_level-0.4.0.sol-0.6.10-compact.json | 0 ...rom_top_level-0.4.0.sol-0.6.10-legacy.json | 0 ...om_top_level-0.4.0.sol-0.6.11-compact.json | 0 ...rom_top_level-0.4.0.sol-0.6.11-legacy.json | 0 ...om_top_level-0.4.0.sol-0.6.12-compact.json | 0 ...rom_top_level-0.4.0.sol-0.6.12-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.6.2-compact.json | 0 ...from_top_level-0.4.0.sol-0.6.2-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.6.3-compact.json | 0 ...from_top_level-0.4.0.sol-0.6.3-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.6.4-compact.json | 0 ...from_top_level-0.4.0.sol-0.6.4-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.6.5-compact.json | 0 ...from_top_level-0.4.0.sol-0.6.5-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.6.6-compact.json | 0 ...from_top_level-0.4.0.sol-0.6.6-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.6.7-compact.json | 0 ...from_top_level-0.4.0.sol-0.6.7-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.6.8-compact.json | 0 ...from_top_level-0.4.0.sol-0.6.8-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.6.9-compact.json | 0 ...from_top_level-0.4.0.sol-0.6.9-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.7.0-compact.json | 0 ...from_top_level-0.4.0.sol-0.7.0-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.7.1-compact.json | 0 ...from_top_level-0.4.0.sol-0.7.1-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.7.2-compact.json | 0 ...from_top_level-0.4.0.sol-0.7.2-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.7.3-compact.json | 0 ...from_top_level-0.4.0.sol-0.7.3-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.7.4-compact.json | 0 ...from_top_level-0.4.0.sol-0.7.4-legacy.json | 0 ...rom_top_level-0.4.0.sol-0.7.5-compact.json | 0 ...from_top_level-0.4.0.sol-0.7.5-legacy.json | 0 ...rom_top_level-0.7.6.sol-0.7.6-compact.json | 0 ...from_top_level-0.7.6.sol-0.7.6-legacy.json | 0 ...rom_top_level-0.7.6.sol-0.8.0-compact.json | 0 ...rom_top_level-0.7.6.sol-0.8.1-compact.json | 0 ...om_top_level-0.7.6.sol-0.8.10-compact.json | 0 ...om_top_level-0.7.6.sol-0.8.11-compact.json | 0 ...om_top_level-0.7.6.sol-0.8.12-compact.json | 0 ...om_top_level-0.7.6.sol-0.8.13-compact.json | 0 ...om_top_level-0.7.6.sol-0.8.14-compact.json | 0 ...om_top_level-0.7.6.sol-0.8.15-compact.json | 0 ...rom_top_level-0.7.6.sol-0.8.2-compact.json | 0 ...rom_top_level-0.7.6.sol-0.8.3-compact.json | 0 ...rom_top_level-0.7.6.sol-0.8.4-compact.json | 0 ...rom_top_level-0.7.6.sol-0.8.5-compact.json | 0 ...rom_top_level-0.7.6.sol-0.8.6-compact.json | 0 ...rom_top_level-0.7.6.sol-0.8.7-compact.json | 0 ...rom_top_level-0.7.6.sol-0.8.8-compact.json | 0 ...rom_top_level-0.7.6.sol-0.8.9-compact.json | 0 .../indexaccess-all.sol-0.4.0-compact.json | 0 .../indexaccess-all.sol-0.4.0-legacy.json | 0 .../indexaccess-all.sol-0.4.1-compact.json | 0 .../indexaccess-all.sol-0.4.1-legacy.json | 0 .../indexaccess-all.sol-0.4.10-compact.json | 0 .../indexaccess-all.sol-0.4.10-legacy.json | 0 .../indexaccess-all.sol-0.4.11-compact.json | 0 .../indexaccess-all.sol-0.4.11-legacy.json | 0 .../indexaccess-all.sol-0.4.12-compact.json | 0 .../indexaccess-all.sol-0.4.12-legacy.json | 0 .../indexaccess-all.sol-0.4.13-compact.json | 0 .../indexaccess-all.sol-0.4.13-legacy.json | 0 .../indexaccess-all.sol-0.4.14-compact.json | 0 .../indexaccess-all.sol-0.4.14-legacy.json | 0 .../indexaccess-all.sol-0.4.15-compact.json | 0 .../indexaccess-all.sol-0.4.15-legacy.json | 0 .../indexaccess-all.sol-0.4.16-compact.json | 0 .../indexaccess-all.sol-0.4.16-legacy.json | 0 .../indexaccess-all.sol-0.4.17-compact.json | 0 .../indexaccess-all.sol-0.4.17-legacy.json | 0 .../indexaccess-all.sol-0.4.18-compact.json | 0 .../indexaccess-all.sol-0.4.18-legacy.json | 0 .../indexaccess-all.sol-0.4.19-compact.json | 0 .../indexaccess-all.sol-0.4.19-legacy.json | 0 .../indexaccess-all.sol-0.4.2-compact.json | 0 .../indexaccess-all.sol-0.4.2-legacy.json | 0 .../indexaccess-all.sol-0.4.20-compact.json | 0 .../indexaccess-all.sol-0.4.20-legacy.json | 0 .../indexaccess-all.sol-0.4.21-compact.json | 0 .../indexaccess-all.sol-0.4.21-legacy.json | 0 .../indexaccess-all.sol-0.4.22-compact.json | 0 .../indexaccess-all.sol-0.4.22-legacy.json | 0 .../indexaccess-all.sol-0.4.23-compact.json | 0 .../indexaccess-all.sol-0.4.23-legacy.json | 0 .../indexaccess-all.sol-0.4.24-compact.json | 0 .../indexaccess-all.sol-0.4.24-legacy.json | 0 .../indexaccess-all.sol-0.4.25-compact.json | 0 .../indexaccess-all.sol-0.4.25-legacy.json | 0 .../indexaccess-all.sol-0.4.26-compact.json | 0 .../indexaccess-all.sol-0.4.26-legacy.json | 0 .../indexaccess-all.sol-0.4.3-compact.json | 0 .../indexaccess-all.sol-0.4.3-legacy.json | 0 .../indexaccess-all.sol-0.4.4-compact.json | 0 .../indexaccess-all.sol-0.4.4-legacy.json | 0 .../indexaccess-all.sol-0.4.5-compact.json | 0 .../indexaccess-all.sol-0.4.5-legacy.json | 0 .../indexaccess-all.sol-0.4.6-compact.json | 0 .../indexaccess-all.sol-0.4.6-legacy.json | 0 .../indexaccess-all.sol-0.4.7-compact.json | 0 .../indexaccess-all.sol-0.4.7-legacy.json | 0 .../indexaccess-all.sol-0.4.8-compact.json | 0 .../indexaccess-all.sol-0.4.8-legacy.json | 0 .../indexaccess-all.sol-0.4.9-compact.json | 0 .../indexaccess-all.sol-0.4.9-legacy.json | 0 .../indexaccess-all.sol-0.5.0-compact.json | 0 .../indexaccess-all.sol-0.5.0-legacy.json | 0 .../indexaccess-all.sol-0.5.1-compact.json | 0 .../indexaccess-all.sol-0.5.1-legacy.json | 0 .../indexaccess-all.sol-0.5.10-compact.json | 0 .../indexaccess-all.sol-0.5.10-legacy.json | 0 .../indexaccess-all.sol-0.5.11-compact.json | 0 .../indexaccess-all.sol-0.5.11-legacy.json | 0 .../indexaccess-all.sol-0.5.12-compact.json | 0 .../indexaccess-all.sol-0.5.12-legacy.json | 0 .../indexaccess-all.sol-0.5.13-compact.json | 0 .../indexaccess-all.sol-0.5.13-legacy.json | 0 .../indexaccess-all.sol-0.5.14-compact.json | 0 .../indexaccess-all.sol-0.5.14-legacy.json | 0 .../indexaccess-all.sol-0.5.15-compact.json | 0 .../indexaccess-all.sol-0.5.15-legacy.json | 0 .../indexaccess-all.sol-0.5.16-compact.json | 0 .../indexaccess-all.sol-0.5.16-legacy.json | 0 .../indexaccess-all.sol-0.5.17-compact.json | 0 .../indexaccess-all.sol-0.5.17-legacy.json | 0 .../indexaccess-all.sol-0.5.2-compact.json | 0 .../indexaccess-all.sol-0.5.2-legacy.json | 0 .../indexaccess-all.sol-0.5.3-compact.json | 0 .../indexaccess-all.sol-0.5.3-legacy.json | 0 .../indexaccess-all.sol-0.5.4-compact.json | 0 .../indexaccess-all.sol-0.5.4-legacy.json | 0 .../indexaccess-all.sol-0.5.5-compact.json | 0 .../indexaccess-all.sol-0.5.5-legacy.json | 0 .../indexaccess-all.sol-0.5.6-compact.json | 0 .../indexaccess-all.sol-0.5.6-legacy.json | 0 .../indexaccess-all.sol-0.5.7-compact.json | 0 .../indexaccess-all.sol-0.5.7-legacy.json | 0 .../indexaccess-all.sol-0.5.8-compact.json | 0 .../indexaccess-all.sol-0.5.8-legacy.json | 0 .../indexaccess-all.sol-0.5.9-compact.json | 0 .../indexaccess-all.sol-0.5.9-legacy.json | 0 .../indexaccess-all.sol-0.6.0-compact.json | 0 .../indexaccess-all.sol-0.6.0-legacy.json | 0 .../indexaccess-all.sol-0.6.1-compact.json | 0 .../indexaccess-all.sol-0.6.1-legacy.json | 0 .../indexaccess-all.sol-0.6.10-compact.json | 0 .../indexaccess-all.sol-0.6.10-legacy.json | 0 .../indexaccess-all.sol-0.6.11-compact.json | 0 .../indexaccess-all.sol-0.6.11-legacy.json | 0 .../indexaccess-all.sol-0.6.12-compact.json | 0 .../indexaccess-all.sol-0.6.12-legacy.json | 0 .../indexaccess-all.sol-0.6.2-compact.json | 0 .../indexaccess-all.sol-0.6.2-legacy.json | 0 .../indexaccess-all.sol-0.6.3-compact.json | 0 .../indexaccess-all.sol-0.6.3-legacy.json | 0 .../indexaccess-all.sol-0.6.4-compact.json | 0 .../indexaccess-all.sol-0.6.4-legacy.json | 0 .../indexaccess-all.sol-0.6.5-compact.json | 0 .../indexaccess-all.sol-0.6.5-legacy.json | 0 .../indexaccess-all.sol-0.6.6-compact.json | 0 .../indexaccess-all.sol-0.6.6-legacy.json | 0 .../indexaccess-all.sol-0.6.7-compact.json | 0 .../indexaccess-all.sol-0.6.7-legacy.json | 0 .../indexaccess-all.sol-0.6.8-compact.json | 0 .../indexaccess-all.sol-0.6.8-legacy.json | 0 .../indexaccess-all.sol-0.6.9-compact.json | 0 .../indexaccess-all.sol-0.6.9-legacy.json | 0 .../indexaccess-all.sol-0.7.0-compact.json | 0 .../indexaccess-all.sol-0.7.0-legacy.json | 0 .../indexaccess-all.sol-0.7.1-compact.json | 0 .../indexaccess-all.sol-0.7.1-legacy.json | 0 .../indexaccess-all.sol-0.7.2-compact.json | 0 .../indexaccess-all.sol-0.7.2-legacy.json | 0 .../indexaccess-all.sol-0.7.3-compact.json | 0 .../indexaccess-all.sol-0.7.3-legacy.json | 0 .../indexaccess-all.sol-0.7.4-compact.json | 0 .../indexaccess-all.sol-0.7.4-legacy.json | 0 .../indexaccess-all.sol-0.7.5-compact.json | 0 .../indexaccess-all.sol-0.7.5-legacy.json | 0 .../indexaccess-all.sol-0.7.6-compact.json | 0 .../indexaccess-all.sol-0.7.6-legacy.json | 0 .../indexaccess-all.sol-0.8.0-compact.json | 0 .../indexaccess-all.sol-0.8.1-compact.json | 0 .../indexaccess-all.sol-0.8.10-compact.json | 0 .../indexaccess-all.sol-0.8.11-compact.json | 0 .../indexaccess-all.sol-0.8.12-compact.json | 0 .../indexaccess-all.sol-0.8.13-compact.json | 0 .../indexaccess-all.sol-0.8.14-compact.json | 0 .../indexaccess-all.sol-0.8.15-compact.json | 0 .../indexaccess-all.sol-0.8.2-compact.json | 0 .../indexaccess-all.sol-0.8.3-compact.json | 0 .../indexaccess-all.sol-0.8.4-compact.json | 0 .../indexaccess-all.sol-0.8.5-compact.json | 0 .../indexaccess-all.sol-0.8.6-compact.json | 0 .../indexaccess-all.sol-0.8.7-compact.json | 0 .../indexaccess-all.sol-0.8.8-compact.json | 0 .../indexaccess-all.sol-0.8.9-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.0-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.4.0-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.4.1-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.4.1-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.10-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.10-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.11-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.11-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.12-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.12-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.13-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.13-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.14-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.14-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.15-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.15-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.16-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.16-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.17-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.17-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.18-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.18-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.19-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.19-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.4.2-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.4.2-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.20-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.20-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.21-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.21-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.22-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.22-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.23-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.23-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.24-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.24-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.25-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.25-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.4.26-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.4.26-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.4.3-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.4.3-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.4.4-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.4.4-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.4.5-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.4.5-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.4.6-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.4.6-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.4.7-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.4.7-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.4.8-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.4.8-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.4.9-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.4.9-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.5.0-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.5.0-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.5.1-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.5.1-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.5.10-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.5.10-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.5.11-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.5.11-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.5.12-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.5.12-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.5.13-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.5.13-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.5.14-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.5.14-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.5.15-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.5.15-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.5.16-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.5.16-legacy.json | 0 ...xrangeaccess-0.4.0.sol-0.5.17-compact.json | 0 ...exrangeaccess-0.4.0.sol-0.5.17-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.5.2-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.5.2-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.5.3-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.5.3-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.5.4-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.5.4-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.5.5-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.5.5-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.5.6-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.5.6-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.5.7-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.5.7-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.5.8-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.5.8-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.5.9-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.5.9-legacy.json | 0 ...exrangeaccess-0.4.0.sol-0.6.0-compact.json | 0 ...dexrangeaccess-0.4.0.sol-0.6.0-legacy.json | 0 ...exrangeaccess-0.6.1.sol-0.6.1-compact.json | 0 ...xrangeaccess-0.6.1.sol-0.6.10-compact.json | 0 ...xrangeaccess-0.6.1.sol-0.6.11-compact.json | 0 ...xrangeaccess-0.6.1.sol-0.6.12-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.6.2-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.6.3-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.6.4-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.6.5-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.6.6-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.6.7-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.6.8-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.6.9-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.7.0-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.7.1-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.7.2-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.7.3-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.7.4-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.7.5-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.7.6-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.8.0-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.8.1-compact.json | 0 ...xrangeaccess-0.6.1.sol-0.8.10-compact.json | 0 ...xrangeaccess-0.6.1.sol-0.8.11-compact.json | 0 ...xrangeaccess-0.6.1.sol-0.8.12-compact.json | 0 ...xrangeaccess-0.6.1.sol-0.8.13-compact.json | 0 ...xrangeaccess-0.6.1.sol-0.8.14-compact.json | 0 ...xrangeaccess-0.6.1.sol-0.8.15-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.8.2-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.8.3-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.8.4-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.8.5-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.8.6-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.8.7-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.8.8-compact.json | 0 ...exrangeaccess-0.6.1.sol-0.8.9-compact.json | 0 ...brary_event-0.8.16.sol-0.8.16-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.0-compact.json | 0 ...cit_conversion-0.4.0.sol-0.4.0-legacy.json | 0 ...it_conversion-0.4.0.sol-0.4.1-compact.json | 0 ...cit_conversion-0.4.0.sol-0.4.1-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.10-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.10-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.11-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.11-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.12-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.12-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.13-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.13-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.14-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.14-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.15-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.15-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.16-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.16-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.17-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.17-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.18-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.18-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.19-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.19-legacy.json | 0 ...it_conversion-0.4.0.sol-0.4.2-compact.json | 0 ...cit_conversion-0.4.0.sol-0.4.2-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.20-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.20-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.21-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.21-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.22-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.22-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.23-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.23-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.24-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.24-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.25-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.25-legacy.json | 0 ...t_conversion-0.4.0.sol-0.4.26-compact.json | 0 ...it_conversion-0.4.0.sol-0.4.26-legacy.json | 0 ...it_conversion-0.4.0.sol-0.4.3-compact.json | 0 ...cit_conversion-0.4.0.sol-0.4.3-legacy.json | 0 ...it_conversion-0.4.0.sol-0.4.4-compact.json | 0 ...cit_conversion-0.4.0.sol-0.4.4-legacy.json | 0 ...it_conversion-0.4.0.sol-0.4.5-compact.json | 0 ...cit_conversion-0.4.0.sol-0.4.5-legacy.json | 0 ...it_conversion-0.4.0.sol-0.4.6-compact.json | 0 ...cit_conversion-0.4.0.sol-0.4.6-legacy.json | 0 ...it_conversion-0.4.0.sol-0.4.7-compact.json | 0 ...cit_conversion-0.4.0.sol-0.4.7-legacy.json | 0 ...it_conversion-0.4.0.sol-0.4.8-compact.json | 0 ...cit_conversion-0.4.0.sol-0.4.8-legacy.json | 0 ...it_conversion-0.4.0.sol-0.4.9-compact.json | 0 ...cit_conversion-0.4.0.sol-0.4.9-legacy.json | 0 ...it_conversion-0.5.0.sol-0.5.0-compact.json | 0 ...cit_conversion-0.5.0.sol-0.5.0-legacy.json | 0 ...it_conversion-0.5.0.sol-0.5.1-compact.json | 0 ...cit_conversion-0.5.0.sol-0.5.1-legacy.json | 0 ...t_conversion-0.5.0.sol-0.5.10-compact.json | 0 ...it_conversion-0.5.0.sol-0.5.10-legacy.json | 0 ...t_conversion-0.5.0.sol-0.5.11-compact.json | 0 ...it_conversion-0.5.0.sol-0.5.11-legacy.json | 0 ...t_conversion-0.5.0.sol-0.5.12-compact.json | 0 ...it_conversion-0.5.0.sol-0.5.12-legacy.json | 0 ...t_conversion-0.5.0.sol-0.5.13-compact.json | 0 ...it_conversion-0.5.0.sol-0.5.13-legacy.json | 0 ...t_conversion-0.5.0.sol-0.5.14-compact.json | 0 ...it_conversion-0.5.0.sol-0.5.14-legacy.json | 0 ...t_conversion-0.5.0.sol-0.5.15-compact.json | 0 ...it_conversion-0.5.0.sol-0.5.15-legacy.json | 0 ...t_conversion-0.5.0.sol-0.5.16-compact.json | 0 ...it_conversion-0.5.0.sol-0.5.16-legacy.json | 0 ...t_conversion-0.5.0.sol-0.5.17-compact.json | 0 ...it_conversion-0.5.0.sol-0.5.17-legacy.json | 0 ...it_conversion-0.5.0.sol-0.5.2-compact.json | 0 ...cit_conversion-0.5.0.sol-0.5.2-legacy.json | 0 ...it_conversion-0.5.0.sol-0.5.3-compact.json | 0 ...cit_conversion-0.5.0.sol-0.5.3-legacy.json | 0 ...it_conversion-0.5.0.sol-0.5.4-compact.json | 0 ...cit_conversion-0.5.0.sol-0.5.4-legacy.json | 0 ...it_conversion-0.5.0.sol-0.5.5-compact.json | 0 ...cit_conversion-0.5.0.sol-0.5.5-legacy.json | 0 ...it_conversion-0.5.0.sol-0.5.6-compact.json | 0 ...cit_conversion-0.5.0.sol-0.5.6-legacy.json | 0 ...it_conversion-0.5.0.sol-0.5.7-compact.json | 0 ...cit_conversion-0.5.0.sol-0.5.7-legacy.json | 0 ...it_conversion-0.5.0.sol-0.5.8-compact.json | 0 ...cit_conversion-0.5.0.sol-0.5.8-legacy.json | 0 ...it_conversion-0.5.0.sol-0.5.9-compact.json | 0 ...cit_conversion-0.5.0.sol-0.5.9-legacy.json | 0 ...it_conversion-0.5.0.sol-0.6.0-compact.json | 0 ...cit_conversion-0.5.0.sol-0.6.0-legacy.json | 0 ...it_conversion-0.5.0.sol-0.6.1-compact.json | 0 ...cit_conversion-0.5.0.sol-0.6.1-legacy.json | 0 ...t_conversion-0.5.0.sol-0.6.10-compact.json | 0 ...it_conversion-0.5.0.sol-0.6.10-legacy.json | 0 ...t_conversion-0.5.0.sol-0.6.11-compact.json | 0 ...it_conversion-0.5.0.sol-0.6.11-legacy.json | 0 ...t_conversion-0.5.0.sol-0.6.12-compact.json | 0 ...it_conversion-0.5.0.sol-0.6.12-legacy.json | 0 ...it_conversion-0.5.0.sol-0.6.2-compact.json | 0 ...cit_conversion-0.5.0.sol-0.6.2-legacy.json | 0 ...it_conversion-0.5.0.sol-0.6.3-compact.json | 0 ...cit_conversion-0.5.0.sol-0.6.3-legacy.json | 0 ...it_conversion-0.5.0.sol-0.6.4-compact.json | 0 ...cit_conversion-0.5.0.sol-0.6.4-legacy.json | 0 ...it_conversion-0.5.0.sol-0.6.5-compact.json | 0 ...cit_conversion-0.5.0.sol-0.6.5-legacy.json | 0 ...it_conversion-0.5.0.sol-0.6.6-compact.json | 0 ...cit_conversion-0.5.0.sol-0.6.6-legacy.json | 0 ...it_conversion-0.5.0.sol-0.6.7-compact.json | 0 ...cit_conversion-0.5.0.sol-0.6.7-legacy.json | 0 ...it_conversion-0.5.0.sol-0.6.8-compact.json | 0 ...cit_conversion-0.5.0.sol-0.6.8-legacy.json | 0 ...it_conversion-0.5.0.sol-0.6.9-compact.json | 0 ...cit_conversion-0.5.0.sol-0.6.9-legacy.json | 0 ...it_conversion-0.5.0.sol-0.7.0-compact.json | 0 ...cit_conversion-0.5.0.sol-0.7.0-legacy.json | 0 ...it_conversion-0.5.0.sol-0.7.1-compact.json | 0 ...cit_conversion-0.5.0.sol-0.7.1-legacy.json | 0 ...it_conversion-0.5.0.sol-0.7.2-compact.json | 0 ...cit_conversion-0.5.0.sol-0.7.2-legacy.json | 0 ...it_conversion-0.5.0.sol-0.7.3-compact.json | 0 ...cit_conversion-0.5.0.sol-0.7.3-legacy.json | 0 ...it_conversion-0.5.0.sol-0.7.4-compact.json | 0 ...cit_conversion-0.5.0.sol-0.7.4-legacy.json | 0 ...it_conversion-0.5.0.sol-0.7.5-compact.json | 0 ...cit_conversion-0.5.0.sol-0.7.5-legacy.json | 0 ...it_conversion-0.5.0.sol-0.7.6-compact.json | 0 ...cit_conversion-0.5.0.sol-0.7.6-legacy.json | 0 ...it_conversion-0.5.0.sol-0.8.0-compact.json | 0 ...it_conversion-0.5.0.sol-0.8.1-compact.json | 0 ...t_conversion-0.5.0.sol-0.8.10-compact.json | 0 ...t_conversion-0.5.0.sol-0.8.11-compact.json | 0 ...t_conversion-0.5.0.sol-0.8.12-compact.json | 0 ...t_conversion-0.5.0.sol-0.8.13-compact.json | 0 ...t_conversion-0.5.0.sol-0.8.14-compact.json | 0 ...t_conversion-0.5.0.sol-0.8.15-compact.json | 0 ...it_conversion-0.5.0.sol-0.8.2-compact.json | 0 ...it_conversion-0.5.0.sol-0.8.3-compact.json | 0 ...it_conversion-0.5.0.sol-0.8.4-compact.json | 0 ...it_conversion-0.5.0.sol-0.8.5-compact.json | 0 ...it_conversion-0.5.0.sol-0.8.6-compact.json | 0 ...it_conversion-0.5.0.sol-0.8.7-compact.json | 0 ...it_conversion-0.5.0.sol-0.8.8-compact.json | 0 ...it_conversion-0.5.0.sol-0.8.9-compact.json | 0 .../literal-0.4.0.sol-0.4.0-compact.json | 0 .../literal-0.4.0.sol-0.4.0-legacy.json | 0 .../literal-0.4.0.sol-0.4.1-compact.json | 0 .../literal-0.4.0.sol-0.4.1-legacy.json | 0 .../literal-0.4.0.sol-0.4.2-compact.json | 0 .../literal-0.4.0.sol-0.4.2-legacy.json | 0 .../literal-0.4.0.sol-0.4.3-compact.json | 0 .../literal-0.4.0.sol-0.4.3-legacy.json | 0 .../literal-0.4.0.sol-0.4.4-compact.json | 0 .../literal-0.4.0.sol-0.4.4-legacy.json | 0 .../literal-0.4.0.sol-0.4.5-compact.json | 0 .../literal-0.4.0.sol-0.4.5-legacy.json | 0 .../literal-0.4.0.sol-0.4.6-compact.json | 0 .../literal-0.4.0.sol-0.4.6-legacy.json | 0 .../literal-0.4.0.sol-0.4.7-compact.json | 0 .../literal-0.4.0.sol-0.4.7-legacy.json | 0 .../literal-0.4.0.sol-0.4.8-compact.json | 0 .../literal-0.4.0.sol-0.4.8-legacy.json | 0 .../literal-0.4.0.sol-0.4.9-compact.json | 0 .../literal-0.4.0.sol-0.4.9-legacy.json | 0 .../literal-0.4.10.sol-0.4.10-compact.json | 0 .../literal-0.4.10.sol-0.4.10-legacy.json | 0 .../literal-0.4.10.sol-0.4.11-compact.json | 0 .../literal-0.4.10.sol-0.4.11-legacy.json | 0 .../literal-0.4.10.sol-0.4.12-compact.json | 0 .../literal-0.4.10.sol-0.4.12-legacy.json | 0 .../literal-0.4.10.sol-0.4.13-compact.json | 0 .../literal-0.4.10.sol-0.4.13-legacy.json | 0 .../literal-0.4.10.sol-0.4.14-compact.json | 0 .../literal-0.4.10.sol-0.4.14-legacy.json | 0 .../literal-0.4.10.sol-0.4.15-compact.json | 0 .../literal-0.4.10.sol-0.4.15-legacy.json | 0 .../literal-0.4.10.sol-0.4.16-compact.json | 0 .../literal-0.4.10.sol-0.4.16-legacy.json | 0 .../literal-0.4.10.sol-0.4.17-compact.json | 0 .../literal-0.4.10.sol-0.4.17-legacy.json | 0 .../literal-0.4.10.sol-0.4.18-compact.json | 0 .../literal-0.4.10.sol-0.4.18-legacy.json | 0 .../literal-0.4.10.sol-0.4.19-compact.json | 0 .../literal-0.4.10.sol-0.4.19-legacy.json | 0 .../literal-0.4.10.sol-0.4.20-compact.json | 0 .../literal-0.4.10.sol-0.4.20-legacy.json | 0 .../literal-0.4.10.sol-0.4.21-compact.json | 0 .../literal-0.4.10.sol-0.4.21-legacy.json | 0 .../literal-0.4.10.sol-0.4.22-compact.json | 0 .../literal-0.4.10.sol-0.4.22-legacy.json | 0 .../literal-0.4.10.sol-0.4.23-compact.json | 0 .../literal-0.4.10.sol-0.4.23-legacy.json | 0 .../literal-0.4.10.sol-0.4.24-compact.json | 0 .../literal-0.4.10.sol-0.4.24-legacy.json | 0 .../literal-0.4.10.sol-0.4.25-compact.json | 0 .../literal-0.4.10.sol-0.4.25-legacy.json | 0 .../literal-0.4.10.sol-0.4.26-compact.json | 0 .../literal-0.4.10.sol-0.4.26-legacy.json | 0 .../literal-0.5.0.sol-0.5.0-compact.json | 0 .../literal-0.5.0.sol-0.5.0-legacy.json | 0 .../literal-0.5.0.sol-0.5.1-compact.json | 0 .../literal-0.5.0.sol-0.5.1-legacy.json | 0 .../literal-0.5.0.sol-0.5.10-compact.json | 0 .../literal-0.5.0.sol-0.5.10-legacy.json | 0 .../literal-0.5.0.sol-0.5.11-compact.json | 0 .../literal-0.5.0.sol-0.5.11-legacy.json | 0 .../literal-0.5.0.sol-0.5.12-compact.json | 0 .../literal-0.5.0.sol-0.5.12-legacy.json | 0 .../literal-0.5.0.sol-0.5.13-compact.json | 0 .../literal-0.5.0.sol-0.5.13-legacy.json | 0 .../literal-0.5.0.sol-0.5.14-compact.json | 0 .../literal-0.5.0.sol-0.5.14-legacy.json | 0 .../literal-0.5.0.sol-0.5.15-compact.json | 0 .../literal-0.5.0.sol-0.5.15-legacy.json | 0 .../literal-0.5.0.sol-0.5.16-compact.json | 0 .../literal-0.5.0.sol-0.5.16-legacy.json | 0 .../literal-0.5.0.sol-0.5.17-compact.json | 0 .../literal-0.5.0.sol-0.5.17-legacy.json | 0 .../literal-0.5.0.sol-0.5.2-compact.json | 0 .../literal-0.5.0.sol-0.5.2-legacy.json | 0 .../literal-0.5.0.sol-0.5.3-compact.json | 0 .../literal-0.5.0.sol-0.5.3-legacy.json | 0 .../literal-0.5.0.sol-0.5.4-compact.json | 0 .../literal-0.5.0.sol-0.5.4-legacy.json | 0 .../literal-0.5.0.sol-0.5.5-compact.json | 0 .../literal-0.5.0.sol-0.5.5-legacy.json | 0 .../literal-0.5.0.sol-0.5.6-compact.json | 0 .../literal-0.5.0.sol-0.5.6-legacy.json | 0 .../literal-0.5.0.sol-0.5.7-compact.json | 0 .../literal-0.5.0.sol-0.5.7-legacy.json | 0 .../literal-0.5.0.sol-0.5.8-compact.json | 0 .../literal-0.5.0.sol-0.5.8-legacy.json | 0 .../literal-0.5.0.sol-0.5.9-compact.json | 0 .../literal-0.5.0.sol-0.5.9-legacy.json | 0 .../literal-0.6.0.sol-0.6.0-compact.json | 0 .../literal-0.6.0.sol-0.6.0-legacy.json | 0 .../literal-0.6.0.sol-0.6.1-compact.json | 0 .../literal-0.6.0.sol-0.6.1-legacy.json | 0 .../literal-0.6.0.sol-0.6.10-compact.json | 0 .../literal-0.6.0.sol-0.6.10-legacy.json | 0 .../literal-0.6.0.sol-0.6.11-compact.json | 0 .../literal-0.6.0.sol-0.6.11-legacy.json | 0 .../literal-0.6.0.sol-0.6.12-compact.json | 0 .../literal-0.6.0.sol-0.6.12-legacy.json | 0 .../literal-0.6.0.sol-0.6.2-compact.json | 0 .../literal-0.6.0.sol-0.6.2-legacy.json | 0 .../literal-0.6.0.sol-0.6.3-compact.json | 0 .../literal-0.6.0.sol-0.6.3-legacy.json | 0 .../literal-0.6.0.sol-0.6.4-compact.json | 0 .../literal-0.6.0.sol-0.6.4-legacy.json | 0 .../literal-0.6.0.sol-0.6.5-compact.json | 0 .../literal-0.6.0.sol-0.6.5-legacy.json | 0 .../literal-0.6.0.sol-0.6.6-compact.json | 0 .../literal-0.6.0.sol-0.6.6-legacy.json | 0 .../literal-0.6.0.sol-0.6.7-compact.json | 0 .../literal-0.6.0.sol-0.6.7-legacy.json | 0 .../literal-0.6.0.sol-0.6.8-compact.json | 0 .../literal-0.6.0.sol-0.6.8-legacy.json | 0 .../literal-0.6.0.sol-0.6.9-compact.json | 0 .../literal-0.6.0.sol-0.6.9-legacy.json | 0 .../memberaccess-0.4.0.sol-0.4.0-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.0-legacy.json | 0 .../memberaccess-0.4.0.sol-0.4.1-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.1-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.10-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.10-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.11-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.11-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.12-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.12-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.13-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.13-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.14-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.14-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.15-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.15-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.16-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.16-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.17-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.17-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.18-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.18-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.19-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.19-legacy.json | 0 .../memberaccess-0.4.0.sol-0.4.2-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.2-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.20-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.20-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.21-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.21-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.22-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.22-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.23-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.23-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.24-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.24-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.25-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.25-legacy.json | 0 ...memberaccess-0.4.0.sol-0.4.26-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.26-legacy.json | 0 .../memberaccess-0.4.0.sol-0.4.3-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.3-legacy.json | 0 .../memberaccess-0.4.0.sol-0.4.4-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.4-legacy.json | 0 .../memberaccess-0.4.0.sol-0.4.5-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.5-legacy.json | 0 .../memberaccess-0.4.0.sol-0.4.6-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.6-legacy.json | 0 .../memberaccess-0.4.0.sol-0.4.7-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.7-legacy.json | 0 .../memberaccess-0.4.0.sol-0.4.8-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.8-legacy.json | 0 .../memberaccess-0.4.0.sol-0.4.9-compact.json | 0 .../memberaccess-0.4.0.sol-0.4.9-legacy.json | 0 .../memberaccess-0.4.0.sol-0.5.0-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.0-legacy.json | 0 .../memberaccess-0.4.0.sol-0.5.1-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.1-legacy.json | 0 ...memberaccess-0.4.0.sol-0.5.10-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.10-legacy.json | 0 ...memberaccess-0.4.0.sol-0.5.11-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.11-legacy.json | 0 ...memberaccess-0.4.0.sol-0.5.12-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.12-legacy.json | 0 ...memberaccess-0.4.0.sol-0.5.13-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.13-legacy.json | 0 ...memberaccess-0.4.0.sol-0.5.14-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.14-legacy.json | 0 ...memberaccess-0.4.0.sol-0.5.15-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.15-legacy.json | 0 ...memberaccess-0.4.0.sol-0.5.16-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.16-legacy.json | 0 ...memberaccess-0.4.0.sol-0.5.17-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.17-legacy.json | 0 .../memberaccess-0.4.0.sol-0.5.2-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.2-legacy.json | 0 .../memberaccess-0.4.0.sol-0.5.3-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.3-legacy.json | 0 .../memberaccess-0.4.0.sol-0.5.4-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.4-legacy.json | 0 .../memberaccess-0.4.0.sol-0.5.5-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.5-legacy.json | 0 .../memberaccess-0.4.0.sol-0.5.6-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.6-legacy.json | 0 .../memberaccess-0.4.0.sol-0.5.7-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.7-legacy.json | 0 .../memberaccess-0.4.0.sol-0.5.8-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.8-legacy.json | 0 .../memberaccess-0.4.0.sol-0.5.9-compact.json | 0 .../memberaccess-0.4.0.sol-0.5.9-legacy.json | 0 .../memberaccess-0.5.3.sol-0.5.3-compact.json | 0 .../memberaccess-0.5.3.sol-0.5.3-legacy.json | 0 .../memberaccess-0.5.3.sol-0.5.4-compact.json | 0 .../memberaccess-0.5.3.sol-0.5.4-legacy.json | 0 .../memberaccess-0.5.3.sol-0.5.5-compact.json | 0 .../memberaccess-0.5.3.sol-0.5.5-legacy.json | 0 .../memberaccess-0.5.3.sol-0.5.6-compact.json | 0 .../memberaccess-0.5.3.sol-0.5.6-legacy.json | 0 .../memberaccess-0.5.3.sol-0.5.7-compact.json | 0 .../memberaccess-0.5.3.sol-0.5.7-legacy.json | 0 .../memberaccess-0.5.3.sol-0.5.8-compact.json | 0 .../memberaccess-0.5.3.sol-0.5.8-legacy.json | 0 .../memberaccess-0.5.3.sol-0.5.9-compact.json | 0 .../memberaccess-0.5.3.sol-0.5.9-legacy.json | 0 .../memberaccess-0.5.3.sol-0.6.0-compact.json | 0 .../memberaccess-0.5.3.sol-0.6.1-compact.json | 0 ...memberaccess-0.5.3.sol-0.6.10-compact.json | 0 ...memberaccess-0.5.3.sol-0.6.11-compact.json | 0 ...memberaccess-0.5.3.sol-0.6.12-compact.json | 0 .../memberaccess-0.5.3.sol-0.6.2-compact.json | 0 .../memberaccess-0.5.3.sol-0.6.3-compact.json | 0 .../memberaccess-0.5.3.sol-0.6.4-compact.json | 0 .../memberaccess-0.5.3.sol-0.6.5-compact.json | 0 .../memberaccess-0.5.3.sol-0.6.6-compact.json | 0 .../memberaccess-0.5.3.sol-0.6.7-compact.json | 0 .../memberaccess-0.5.3.sol-0.6.8-compact.json | 0 .../memberaccess-0.5.3.sol-0.6.9-compact.json | 0 .../memberaccess-0.5.3.sol-0.7.0-compact.json | 0 .../memberaccess-0.5.3.sol-0.7.1-compact.json | 0 .../memberaccess-0.5.3.sol-0.7.2-compact.json | 0 .../memberaccess-0.5.3.sol-0.7.3-compact.json | 0 .../memberaccess-0.5.3.sol-0.7.4-compact.json | 0 .../memberaccess-0.5.3.sol-0.7.5-compact.json | 0 .../memberaccess-0.5.3.sol-0.7.6-compact.json | 0 .../memberaccess-0.5.3.sol-0.8.0-compact.json | 0 .../memberaccess-0.5.3.sol-0.8.1-compact.json | 0 ...memberaccess-0.5.3.sol-0.8.10-compact.json | 0 ...memberaccess-0.5.3.sol-0.8.11-compact.json | 0 ...memberaccess-0.5.3.sol-0.8.12-compact.json | 0 ...memberaccess-0.5.3.sol-0.8.13-compact.json | 0 ...memberaccess-0.5.3.sol-0.8.14-compact.json | 0 ...memberaccess-0.5.3.sol-0.8.15-compact.json | 0 .../memberaccess-0.5.3.sol-0.8.2-compact.json | 0 .../memberaccess-0.5.3.sol-0.8.3-compact.json | 0 .../memberaccess-0.5.3.sol-0.8.4-compact.json | 0 .../memberaccess-0.5.3.sol-0.8.5-compact.json | 0 .../memberaccess-0.5.3.sol-0.8.6-compact.json | 0 .../memberaccess-0.5.3.sol-0.8.7-compact.json | 0 .../memberaccess-0.5.3.sol-0.8.8-compact.json | 0 .../memberaccess-0.5.3.sol-0.8.9-compact.json | 0 .../minmax-0.4.0.sol-0.4.0-compact.json | 0 .../minmax-0.4.0.sol-0.4.0-legacy.json | 0 .../minmax-0.4.0.sol-0.4.1-compact.json | 0 .../minmax-0.4.0.sol-0.4.1-legacy.json | 0 .../minmax-0.4.0.sol-0.4.10-compact.json | 0 .../minmax-0.4.0.sol-0.4.10-legacy.json | 0 .../minmax-0.4.0.sol-0.4.11-compact.json | 0 .../minmax-0.4.0.sol-0.4.11-legacy.json | 0 .../minmax-0.4.0.sol-0.4.12-compact.json | 0 .../minmax-0.4.0.sol-0.4.12-legacy.json | 0 .../minmax-0.4.0.sol-0.4.13-compact.json | 0 .../minmax-0.4.0.sol-0.4.13-legacy.json | 0 .../minmax-0.4.0.sol-0.4.14-compact.json | 0 .../minmax-0.4.0.sol-0.4.14-legacy.json | 0 .../minmax-0.4.0.sol-0.4.15-compact.json | 0 .../minmax-0.4.0.sol-0.4.15-legacy.json | 0 .../minmax-0.4.0.sol-0.4.16-compact.json | 0 .../minmax-0.4.0.sol-0.4.16-legacy.json | 0 .../minmax-0.4.0.sol-0.4.17-compact.json | 0 .../minmax-0.4.0.sol-0.4.17-legacy.json | 0 .../minmax-0.4.0.sol-0.4.18-compact.json | 0 .../minmax-0.4.0.sol-0.4.18-legacy.json | 0 .../minmax-0.4.0.sol-0.4.19-compact.json | 0 .../minmax-0.4.0.sol-0.4.19-legacy.json | 0 .../minmax-0.4.0.sol-0.4.2-compact.json | 0 .../minmax-0.4.0.sol-0.4.2-legacy.json | 0 .../minmax-0.4.0.sol-0.4.20-compact.json | 0 .../minmax-0.4.0.sol-0.4.20-legacy.json | 0 .../minmax-0.4.0.sol-0.4.21-compact.json | 0 .../minmax-0.4.0.sol-0.4.21-legacy.json | 0 .../minmax-0.4.0.sol-0.4.22-compact.json | 0 .../minmax-0.4.0.sol-0.4.22-legacy.json | 0 .../minmax-0.4.0.sol-0.4.23-compact.json | 0 .../minmax-0.4.0.sol-0.4.23-legacy.json | 0 .../minmax-0.4.0.sol-0.4.24-compact.json | 0 .../minmax-0.4.0.sol-0.4.24-legacy.json | 0 .../minmax-0.4.0.sol-0.4.25-compact.json | 0 .../minmax-0.4.0.sol-0.4.25-legacy.json | 0 .../minmax-0.4.0.sol-0.4.26-compact.json | 0 .../minmax-0.4.0.sol-0.4.26-legacy.json | 0 .../minmax-0.4.0.sol-0.4.3-compact.json | 0 .../minmax-0.4.0.sol-0.4.3-legacy.json | 0 .../minmax-0.4.0.sol-0.4.4-compact.json | 0 .../minmax-0.4.0.sol-0.4.4-legacy.json | 0 .../minmax-0.4.0.sol-0.4.5-compact.json | 0 .../minmax-0.4.0.sol-0.4.5-legacy.json | 0 .../minmax-0.4.0.sol-0.4.6-compact.json | 0 .../minmax-0.4.0.sol-0.4.6-legacy.json | 0 .../minmax-0.4.0.sol-0.4.7-compact.json | 0 .../minmax-0.4.0.sol-0.4.7-legacy.json | 0 .../minmax-0.4.0.sol-0.4.8-compact.json | 0 .../minmax-0.4.0.sol-0.4.8-legacy.json | 0 .../minmax-0.4.0.sol-0.4.9-compact.json | 0 .../minmax-0.4.0.sol-0.4.9-legacy.json | 0 .../minmax-0.4.0.sol-0.5.0-compact.json | 0 .../minmax-0.4.0.sol-0.5.0-legacy.json | 0 .../minmax-0.4.0.sol-0.5.1-compact.json | 0 .../minmax-0.4.0.sol-0.5.1-legacy.json | 0 .../minmax-0.4.0.sol-0.5.10-compact.json | 0 .../minmax-0.4.0.sol-0.5.10-legacy.json | 0 .../minmax-0.4.0.sol-0.5.11-compact.json | 0 .../minmax-0.4.0.sol-0.5.11-legacy.json | 0 .../minmax-0.4.0.sol-0.5.12-compact.json | 0 .../minmax-0.4.0.sol-0.5.12-legacy.json | 0 .../minmax-0.4.0.sol-0.5.13-compact.json | 0 .../minmax-0.4.0.sol-0.5.13-legacy.json | 0 .../minmax-0.4.0.sol-0.5.14-compact.json | 0 .../minmax-0.4.0.sol-0.5.14-legacy.json | 0 .../minmax-0.4.0.sol-0.5.15-compact.json | 0 .../minmax-0.4.0.sol-0.5.15-legacy.json | 0 .../minmax-0.4.0.sol-0.5.16-compact.json | 0 .../minmax-0.4.0.sol-0.5.16-legacy.json | 0 .../minmax-0.4.0.sol-0.5.17-compact.json | 0 .../minmax-0.4.0.sol-0.5.17-legacy.json | 0 .../minmax-0.4.0.sol-0.5.2-compact.json | 0 .../minmax-0.4.0.sol-0.5.2-legacy.json | 0 .../minmax-0.4.0.sol-0.5.3-compact.json | 0 .../minmax-0.4.0.sol-0.5.3-legacy.json | 0 .../minmax-0.4.0.sol-0.5.4-compact.json | 0 .../minmax-0.4.0.sol-0.5.4-legacy.json | 0 .../minmax-0.4.0.sol-0.5.5-compact.json | 0 .../minmax-0.4.0.sol-0.5.5-legacy.json | 0 .../minmax-0.4.0.sol-0.5.6-compact.json | 0 .../minmax-0.4.0.sol-0.5.6-legacy.json | 0 .../minmax-0.4.0.sol-0.5.7-compact.json | 0 .../minmax-0.4.0.sol-0.5.7-legacy.json | 0 .../minmax-0.4.0.sol-0.5.8-compact.json | 0 .../minmax-0.4.0.sol-0.5.8-legacy.json | 0 .../minmax-0.4.0.sol-0.5.9-compact.json | 0 .../minmax-0.4.0.sol-0.5.9-legacy.json | 0 .../minmax-0.4.0.sol-0.6.0-compact.json | 0 .../minmax-0.4.0.sol-0.6.0-legacy.json | 0 .../minmax-0.4.0.sol-0.6.1-compact.json | 0 .../minmax-0.4.0.sol-0.6.1-legacy.json | 0 .../minmax-0.4.0.sol-0.6.10-compact.json | 0 .../minmax-0.4.0.sol-0.6.10-legacy.json | 0 .../minmax-0.4.0.sol-0.6.11-compact.json | 0 .../minmax-0.4.0.sol-0.6.11-legacy.json | 0 .../minmax-0.4.0.sol-0.6.12-compact.json | 0 .../minmax-0.4.0.sol-0.6.12-legacy.json | 0 .../minmax-0.4.0.sol-0.6.2-compact.json | 0 .../minmax-0.4.0.sol-0.6.2-legacy.json | 0 .../minmax-0.4.0.sol-0.6.3-compact.json | 0 .../minmax-0.4.0.sol-0.6.3-legacy.json | 0 .../minmax-0.4.0.sol-0.6.4-compact.json | 0 .../minmax-0.4.0.sol-0.6.4-legacy.json | 0 .../minmax-0.4.0.sol-0.6.5-compact.json | 0 .../minmax-0.4.0.sol-0.6.5-legacy.json | 0 .../minmax-0.4.0.sol-0.6.6-compact.json | 0 .../minmax-0.4.0.sol-0.6.6-legacy.json | 0 .../minmax-0.4.0.sol-0.6.7-compact.json | 0 .../minmax-0.4.0.sol-0.6.7-legacy.json | 0 .../minmax-0.4.0.sol-0.6.8-compact.json | 0 .../minmax-0.4.0.sol-0.6.8-legacy.json | 0 .../minmax-0.4.0.sol-0.6.9-compact.json | 0 .../minmax-0.4.0.sol-0.6.9-legacy.json | 0 .../minmax-0.6.8.sol-0.6.8-compact.json | 0 .../minmax-0.6.8.sol-0.6.8-legacy.json | 0 .../minmax-0.6.8.sol-0.6.9-compact.json | 0 .../minmax-0.6.8.sol-0.6.9-legacy.json | 0 .../minmax-0.6.8.sol-0.7.0-compact.json | 0 .../minmax-0.6.8.sol-0.7.0-legacy.json | 0 .../minmax-0.6.8.sol-0.7.1-compact.json | 0 .../minmax-0.6.8.sol-0.7.1-legacy.json | 0 .../minmax-0.6.8.sol-0.7.2-compact.json | 0 .../minmax-0.6.8.sol-0.7.2-legacy.json | 0 .../minmax-0.6.8.sol-0.7.3-compact.json | 0 .../minmax-0.6.8.sol-0.7.3-legacy.json | 0 .../minmax-0.6.8.sol-0.7.4-compact.json | 0 .../minmax-0.6.8.sol-0.7.4-legacy.json | 0 .../minmax-0.6.8.sol-0.7.5-compact.json | 0 .../minmax-0.6.8.sol-0.7.5-legacy.json | 0 .../minmax-0.6.8.sol-0.7.6-compact.json | 0 .../minmax-0.6.8.sol-0.7.6-legacy.json | 0 .../minmax-0.6.8.sol-0.8.0-compact.json | 0 .../minmax-0.6.8.sol-0.8.1-compact.json | 0 .../minmax-0.6.8.sol-0.8.10-compact.json | 0 .../minmax-0.6.8.sol-0.8.11-compact.json | 0 .../minmax-0.6.8.sol-0.8.12-compact.json | 0 .../minmax-0.6.8.sol-0.8.13-compact.json | 0 .../minmax-0.6.8.sol-0.8.14-compact.json | 0 .../minmax-0.6.8.sol-0.8.15-compact.json | 0 .../minmax-0.6.8.sol-0.8.2-compact.json | 0 .../minmax-0.6.8.sol-0.8.3-compact.json | 0 .../minmax-0.6.8.sol-0.8.4-compact.json | 0 .../minmax-0.6.8.sol-0.8.5-compact.json | 0 .../minmax-0.6.8.sol-0.8.6-compact.json | 0 .../minmax-0.6.8.sol-0.8.7-compact.json | 0 .../minmax-0.6.8.sol-0.8.8-compact.json | 0 .../minmax-0.6.8.sol-0.8.9-compact.json | 0 .../minmax-0.8.8.sol-0.8.10-compact.json | 0 .../minmax-0.8.8.sol-0.8.11-compact.json | 0 .../minmax-0.8.8.sol-0.8.12-compact.json | 0 .../minmax-0.8.8.sol-0.8.13-compact.json | 0 .../minmax-0.8.8.sol-0.8.14-compact.json | 0 .../minmax-0.8.8.sol-0.8.15-compact.json | 0 .../minmax-0.8.8.sol-0.8.8-compact.json | 0 .../minmax-0.8.8.sol-0.8.9-compact.json | 0 .../modifier-0.7.0.sol-0.7.0-compact.json | 0 .../modifier-0.7.0.sol-0.7.0-legacy.json | 0 .../modifier-0.7.0.sol-0.7.1-compact.json | 0 .../modifier-0.7.0.sol-0.7.1-legacy.json | 0 .../modifier-0.7.0.sol-0.7.2-compact.json | 0 .../modifier-0.7.0.sol-0.7.2-legacy.json | 0 .../modifier-0.7.0.sol-0.7.3-compact.json | 0 .../modifier-0.7.0.sol-0.7.3-legacy.json | 0 .../modifier-0.7.0.sol-0.7.4-compact.json | 0 .../modifier-0.7.0.sol-0.7.4-legacy.json | 0 .../modifier-0.7.0.sol-0.7.5-compact.json | 0 .../modifier-0.7.0.sol-0.7.5-legacy.json | 0 .../modifier-0.7.0.sol-0.7.6-compact.json | 0 .../modifier-0.7.0.sol-0.7.6-legacy.json | 0 .../modifier-0.7.0.sol-0.8.0-compact.json | 0 .../modifier-0.7.0.sol-0.8.1-compact.json | 0 .../modifier-0.7.0.sol-0.8.10-compact.json | 0 .../modifier-0.7.0.sol-0.8.11-compact.json | 0 .../modifier-0.7.0.sol-0.8.12-compact.json | 0 .../modifier-0.7.0.sol-0.8.13-compact.json | 0 .../modifier-0.7.0.sol-0.8.14-compact.json | 0 .../modifier-0.7.0.sol-0.8.15-compact.json | 0 .../modifier-0.7.0.sol-0.8.2-compact.json | 0 .../modifier-0.7.0.sol-0.8.3-compact.json | 0 .../modifier-0.7.0.sol-0.8.4-compact.json | 0 .../modifier-0.7.0.sol-0.8.5-compact.json | 0 .../modifier-0.7.0.sol-0.8.6-compact.json | 0 .../modifier-0.7.0.sol-0.8.7-compact.json | 0 .../modifier-0.7.0.sol-0.8.8-compact.json | 0 .../modifier-0.7.0.sol-0.8.9-compact.json | 0 .../modifier-all.sol-0.4.0-compact.json | 0 .../modifier-all.sol-0.4.0-legacy.json | 0 .../modifier-all.sol-0.4.1-compact.json | 0 .../modifier-all.sol-0.4.1-legacy.json | 0 .../modifier-all.sol-0.4.10-compact.json | 0 .../modifier-all.sol-0.4.10-legacy.json | 0 .../modifier-all.sol-0.4.11-compact.json | 0 .../modifier-all.sol-0.4.11-legacy.json | 0 .../modifier-all.sol-0.4.12-compact.json | 0 .../modifier-all.sol-0.4.12-legacy.json | 0 .../modifier-all.sol-0.4.13-compact.json | 0 .../modifier-all.sol-0.4.13-legacy.json | 0 .../modifier-all.sol-0.4.14-compact.json | 0 .../modifier-all.sol-0.4.14-legacy.json | 0 .../modifier-all.sol-0.4.15-compact.json | 0 .../modifier-all.sol-0.4.15-legacy.json | 0 .../modifier-all.sol-0.4.16-compact.json | 0 .../modifier-all.sol-0.4.16-legacy.json | 0 .../modifier-all.sol-0.4.17-compact.json | 0 .../modifier-all.sol-0.4.17-legacy.json | 0 .../modifier-all.sol-0.4.18-compact.json | 0 .../modifier-all.sol-0.4.18-legacy.json | 0 .../modifier-all.sol-0.4.19-compact.json | 0 .../modifier-all.sol-0.4.19-legacy.json | 0 .../modifier-all.sol-0.4.2-compact.json | 0 .../modifier-all.sol-0.4.2-legacy.json | 0 .../modifier-all.sol-0.4.20-compact.json | 0 .../modifier-all.sol-0.4.20-legacy.json | 0 .../modifier-all.sol-0.4.21-compact.json | 0 .../modifier-all.sol-0.4.21-legacy.json | 0 .../modifier-all.sol-0.4.22-compact.json | 0 .../modifier-all.sol-0.4.22-legacy.json | 0 .../modifier-all.sol-0.4.23-compact.json | 0 .../modifier-all.sol-0.4.23-legacy.json | 0 .../modifier-all.sol-0.4.24-compact.json | 0 .../modifier-all.sol-0.4.24-legacy.json | 0 .../modifier-all.sol-0.4.25-compact.json | 0 .../modifier-all.sol-0.4.25-legacy.json | 0 .../modifier-all.sol-0.4.26-compact.json | 0 .../modifier-all.sol-0.4.26-legacy.json | 0 .../modifier-all.sol-0.4.3-compact.json | 0 .../modifier-all.sol-0.4.3-legacy.json | 0 .../modifier-all.sol-0.4.4-compact.json | 0 .../modifier-all.sol-0.4.4-legacy.json | 0 .../modifier-all.sol-0.4.5-compact.json | 0 .../modifier-all.sol-0.4.5-legacy.json | 0 .../modifier-all.sol-0.4.6-compact.json | 0 .../modifier-all.sol-0.4.6-legacy.json | 0 .../modifier-all.sol-0.4.7-compact.json | 0 .../modifier-all.sol-0.4.7-legacy.json | 0 .../modifier-all.sol-0.4.8-compact.json | 0 .../modifier-all.sol-0.4.8-legacy.json | 0 .../modifier-all.sol-0.4.9-compact.json | 0 .../modifier-all.sol-0.4.9-legacy.json | 0 .../modifier-all.sol-0.5.0-compact.json | 0 .../modifier-all.sol-0.5.0-legacy.json | 0 .../modifier-all.sol-0.5.1-compact.json | 0 .../modifier-all.sol-0.5.1-legacy.json | 0 .../modifier-all.sol-0.5.10-compact.json | 0 .../modifier-all.sol-0.5.10-legacy.json | 0 .../modifier-all.sol-0.5.11-compact.json | 0 .../modifier-all.sol-0.5.11-legacy.json | 0 .../modifier-all.sol-0.5.12-compact.json | 0 .../modifier-all.sol-0.5.12-legacy.json | 0 .../modifier-all.sol-0.5.13-compact.json | 0 .../modifier-all.sol-0.5.13-legacy.json | 0 .../modifier-all.sol-0.5.14-compact.json | 0 .../modifier-all.sol-0.5.14-legacy.json | 0 .../modifier-all.sol-0.5.15-compact.json | 0 .../modifier-all.sol-0.5.15-legacy.json | 0 .../modifier-all.sol-0.5.16-compact.json | 0 .../modifier-all.sol-0.5.16-legacy.json | 0 .../modifier-all.sol-0.5.17-compact.json | 0 .../modifier-all.sol-0.5.17-legacy.json | 0 .../modifier-all.sol-0.5.2-compact.json | 0 .../modifier-all.sol-0.5.2-legacy.json | 0 .../modifier-all.sol-0.5.3-compact.json | 0 .../modifier-all.sol-0.5.3-legacy.json | 0 .../modifier-all.sol-0.5.4-compact.json | 0 .../modifier-all.sol-0.5.4-legacy.json | 0 .../modifier-all.sol-0.5.5-compact.json | 0 .../modifier-all.sol-0.5.5-legacy.json | 0 .../modifier-all.sol-0.5.6-compact.json | 0 .../modifier-all.sol-0.5.6-legacy.json | 0 .../modifier-all.sol-0.5.7-compact.json | 0 .../modifier-all.sol-0.5.7-legacy.json | 0 .../modifier-all.sol-0.5.8-compact.json | 0 .../modifier-all.sol-0.5.8-legacy.json | 0 .../modifier-all.sol-0.5.9-compact.json | 0 .../modifier-all.sol-0.5.9-legacy.json | 0 .../modifier-all.sol-0.6.0-compact.json | 0 .../modifier-all.sol-0.6.0-legacy.json | 0 .../modifier-all.sol-0.6.1-compact.json | 0 .../modifier-all.sol-0.6.1-legacy.json | 0 .../modifier-all.sol-0.6.10-compact.json | 0 .../modifier-all.sol-0.6.10-legacy.json | 0 .../modifier-all.sol-0.6.11-compact.json | 0 .../modifier-all.sol-0.6.11-legacy.json | 0 .../modifier-all.sol-0.6.12-compact.json | 0 .../modifier-all.sol-0.6.12-legacy.json | 0 .../modifier-all.sol-0.6.2-compact.json | 0 .../modifier-all.sol-0.6.2-legacy.json | 0 .../modifier-all.sol-0.6.3-compact.json | 0 .../modifier-all.sol-0.6.3-legacy.json | 0 .../modifier-all.sol-0.6.4-compact.json | 0 .../modifier-all.sol-0.6.4-legacy.json | 0 .../modifier-all.sol-0.6.5-compact.json | 0 .../modifier-all.sol-0.6.5-legacy.json | 0 .../modifier-all.sol-0.6.6-compact.json | 0 .../modifier-all.sol-0.6.6-legacy.json | 0 .../modifier-all.sol-0.6.7-compact.json | 0 .../modifier-all.sol-0.6.7-legacy.json | 0 .../modifier-all.sol-0.6.8-compact.json | 0 .../modifier-all.sol-0.6.8-legacy.json | 0 .../modifier-all.sol-0.6.9-compact.json | 0 .../modifier-all.sol-0.6.9-legacy.json | 0 .../modifier-all.sol-0.7.0-compact.json | 0 .../modifier-all.sol-0.7.0-legacy.json | 0 .../modifier-all.sol-0.7.1-compact.json | 0 .../modifier-all.sol-0.7.1-legacy.json | 0 .../modifier-all.sol-0.7.2-compact.json | 0 .../modifier-all.sol-0.7.2-legacy.json | 0 .../modifier-all.sol-0.7.3-compact.json | 0 .../modifier-all.sol-0.7.3-legacy.json | 0 .../modifier-all.sol-0.7.4-compact.json | 0 .../modifier-all.sol-0.7.4-legacy.json | 0 .../modifier-all.sol-0.7.5-compact.json | 0 .../modifier-all.sol-0.7.5-legacy.json | 0 .../modifier-all.sol-0.7.6-compact.json | 0 .../modifier-all.sol-0.7.6-legacy.json | 0 .../modifier-all.sol-0.8.0-compact.json | 0 .../modifier-all.sol-0.8.1-compact.json | 0 .../modifier-all.sol-0.8.10-compact.json | 0 .../modifier-all.sol-0.8.11-compact.json | 0 .../modifier-all.sol-0.8.12-compact.json | 0 .../modifier-all.sol-0.8.13-compact.json | 0 .../modifier-all.sol-0.8.14-compact.json | 0 .../modifier-all.sol-0.8.15-compact.json | 0 .../modifier-all.sol-0.8.2-compact.json | 0 .../modifier-all.sol-0.8.3-compact.json | 0 .../modifier-all.sol-0.8.4-compact.json | 0 .../modifier-all.sol-0.8.5-compact.json | 0 .../modifier-all.sol-0.8.6-compact.json | 0 .../modifier-all.sol-0.8.7-compact.json | 0 .../modifier-all.sol-0.8.8-compact.json | 0 .../modifier-all.sol-0.8.9-compact.json | 0 ...ier_identifier_path.sol-0.8.0-compact.json | 0 ...ier_identifier_path.sol-0.8.1-compact.json | 0 ...er_identifier_path.sol-0.8.10-compact.json | 0 ...er_identifier_path.sol-0.8.11-compact.json | 0 ...er_identifier_path.sol-0.8.12-compact.json | 0 ...er_identifier_path.sol-0.8.13-compact.json | 0 ...er_identifier_path.sol-0.8.14-compact.json | 0 ...er_identifier_path.sol-0.8.15-compact.json | 0 ...ier_identifier_path.sol-0.8.2-compact.json | 0 ...ier_identifier_path.sol-0.8.3-compact.json | 0 ...ier_identifier_path.sol-0.8.4-compact.json | 0 ...ier_identifier_path.sol-0.8.5-compact.json | 0 ...ier_identifier_path.sol-0.8.6-compact.json | 0 ...ier_identifier_path.sol-0.8.7-compact.json | 0 ...ier_identifier_path.sol-0.8.8-compact.json | 0 ...ier_identifier_path.sol-0.8.9-compact.json | 0 ...newexpression-0.4.0.sol-0.4.0-compact.json | 0 .../newexpression-0.4.0.sol-0.4.0-legacy.json | 0 ...newexpression-0.4.0.sol-0.4.1-compact.json | 0 .../newexpression-0.4.0.sol-0.4.1-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.10-compact.json | 0 ...newexpression-0.4.0.sol-0.4.10-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.11-compact.json | 0 ...newexpression-0.4.0.sol-0.4.11-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.12-compact.json | 0 ...newexpression-0.4.0.sol-0.4.12-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.13-compact.json | 0 ...newexpression-0.4.0.sol-0.4.13-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.14-compact.json | 0 ...newexpression-0.4.0.sol-0.4.14-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.15-compact.json | 0 ...newexpression-0.4.0.sol-0.4.15-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.16-compact.json | 0 ...newexpression-0.4.0.sol-0.4.16-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.17-compact.json | 0 ...newexpression-0.4.0.sol-0.4.17-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.18-compact.json | 0 ...newexpression-0.4.0.sol-0.4.18-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.19-compact.json | 0 ...newexpression-0.4.0.sol-0.4.19-legacy.json | 0 ...newexpression-0.4.0.sol-0.4.2-compact.json | 0 .../newexpression-0.4.0.sol-0.4.2-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.20-compact.json | 0 ...newexpression-0.4.0.sol-0.4.20-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.21-compact.json | 0 ...newexpression-0.4.0.sol-0.4.21-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.22-compact.json | 0 ...newexpression-0.4.0.sol-0.4.22-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.23-compact.json | 0 ...newexpression-0.4.0.sol-0.4.23-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.24-compact.json | 0 ...newexpression-0.4.0.sol-0.4.24-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.25-compact.json | 0 ...newexpression-0.4.0.sol-0.4.25-legacy.json | 0 ...ewexpression-0.4.0.sol-0.4.26-compact.json | 0 ...newexpression-0.4.0.sol-0.4.26-legacy.json | 0 ...newexpression-0.4.0.sol-0.4.3-compact.json | 0 .../newexpression-0.4.0.sol-0.4.3-legacy.json | 0 ...newexpression-0.4.0.sol-0.4.4-compact.json | 0 .../newexpression-0.4.0.sol-0.4.4-legacy.json | 0 ...newexpression-0.4.0.sol-0.4.5-compact.json | 0 .../newexpression-0.4.0.sol-0.4.5-legacy.json | 0 ...newexpression-0.4.0.sol-0.4.6-compact.json | 0 .../newexpression-0.4.0.sol-0.4.6-legacy.json | 0 ...newexpression-0.4.0.sol-0.4.7-compact.json | 0 .../newexpression-0.4.0.sol-0.4.7-legacy.json | 0 ...newexpression-0.4.0.sol-0.4.8-compact.json | 0 .../newexpression-0.4.0.sol-0.4.8-legacy.json | 0 ...newexpression-0.4.0.sol-0.4.9-compact.json | 0 .../newexpression-0.4.0.sol-0.4.9-legacy.json | 0 ...newexpression-0.5.0.sol-0.5.0-compact.json | 0 .../newexpression-0.5.0.sol-0.5.0-legacy.json | 0 ...newexpression-0.5.0.sol-0.5.1-compact.json | 0 .../newexpression-0.5.0.sol-0.5.1-legacy.json | 0 ...ewexpression-0.5.0.sol-0.5.10-compact.json | 0 ...newexpression-0.5.0.sol-0.5.10-legacy.json | 0 ...ewexpression-0.5.0.sol-0.5.11-compact.json | 0 ...newexpression-0.5.0.sol-0.5.11-legacy.json | 0 ...ewexpression-0.5.0.sol-0.5.12-compact.json | 0 ...newexpression-0.5.0.sol-0.5.12-legacy.json | 0 ...ewexpression-0.5.0.sol-0.5.13-compact.json | 0 ...newexpression-0.5.0.sol-0.5.13-legacy.json | 0 ...ewexpression-0.5.0.sol-0.5.14-compact.json | 0 ...newexpression-0.5.0.sol-0.5.14-legacy.json | 0 ...ewexpression-0.5.0.sol-0.5.15-compact.json | 0 ...newexpression-0.5.0.sol-0.5.15-legacy.json | 0 ...ewexpression-0.5.0.sol-0.5.16-compact.json | 0 ...newexpression-0.5.0.sol-0.5.16-legacy.json | 0 ...ewexpression-0.5.0.sol-0.5.17-compact.json | 0 ...newexpression-0.5.0.sol-0.5.17-legacy.json | 0 ...newexpression-0.5.0.sol-0.5.2-compact.json | 0 .../newexpression-0.5.0.sol-0.5.2-legacy.json | 0 ...newexpression-0.5.0.sol-0.5.3-compact.json | 0 .../newexpression-0.5.0.sol-0.5.3-legacy.json | 0 ...newexpression-0.5.0.sol-0.5.4-compact.json | 0 .../newexpression-0.5.0.sol-0.5.4-legacy.json | 0 ...newexpression-0.5.0.sol-0.5.5-compact.json | 0 .../newexpression-0.5.0.sol-0.5.5-legacy.json | 0 ...newexpression-0.5.0.sol-0.5.6-compact.json | 0 .../newexpression-0.5.0.sol-0.5.6-legacy.json | 0 ...newexpression-0.5.0.sol-0.5.7-compact.json | 0 .../newexpression-0.5.0.sol-0.5.7-legacy.json | 0 ...newexpression-0.5.0.sol-0.5.8-compact.json | 0 .../newexpression-0.5.0.sol-0.5.8-legacy.json | 0 ...newexpression-0.5.0.sol-0.5.9-compact.json | 0 .../newexpression-0.5.0.sol-0.5.9-legacy.json | 0 ...newexpression-0.5.0.sol-0.6.0-compact.json | 0 .../newexpression-0.5.0.sol-0.6.0-legacy.json | 0 ...newexpression-0.5.0.sol-0.6.1-compact.json | 0 .../newexpression-0.5.0.sol-0.6.1-legacy.json | 0 ...ewexpression-0.5.0.sol-0.6.10-compact.json | 0 ...newexpression-0.5.0.sol-0.6.10-legacy.json | 0 ...ewexpression-0.5.0.sol-0.6.11-compact.json | 0 ...newexpression-0.5.0.sol-0.6.11-legacy.json | 0 ...ewexpression-0.5.0.sol-0.6.12-compact.json | 0 ...newexpression-0.5.0.sol-0.6.12-legacy.json | 0 ...newexpression-0.5.0.sol-0.6.2-compact.json | 0 .../newexpression-0.5.0.sol-0.6.2-legacy.json | 0 ...newexpression-0.5.0.sol-0.6.3-compact.json | 0 .../newexpression-0.5.0.sol-0.6.3-legacy.json | 0 ...newexpression-0.5.0.sol-0.6.4-compact.json | 0 .../newexpression-0.5.0.sol-0.6.4-legacy.json | 0 ...newexpression-0.5.0.sol-0.6.5-compact.json | 0 .../newexpression-0.5.0.sol-0.6.5-legacy.json | 0 ...newexpression-0.5.0.sol-0.6.6-compact.json | 0 .../newexpression-0.5.0.sol-0.6.6-legacy.json | 0 ...newexpression-0.5.0.sol-0.6.7-compact.json | 0 .../newexpression-0.5.0.sol-0.6.7-legacy.json | 0 ...newexpression-0.5.0.sol-0.6.8-compact.json | 0 .../newexpression-0.5.0.sol-0.6.8-legacy.json | 0 ...newexpression-0.5.0.sol-0.6.9-compact.json | 0 .../newexpression-0.5.0.sol-0.6.9-legacy.json | 0 ...newexpression-0.5.0.sol-0.7.0-compact.json | 0 .../newexpression-0.5.0.sol-0.7.0-legacy.json | 0 ...newexpression-0.5.0.sol-0.7.1-compact.json | 0 .../newexpression-0.5.0.sol-0.7.1-legacy.json | 0 ...newexpression-0.5.0.sol-0.7.2-compact.json | 0 .../newexpression-0.5.0.sol-0.7.2-legacy.json | 0 ...newexpression-0.5.0.sol-0.7.3-compact.json | 0 .../newexpression-0.5.0.sol-0.7.3-legacy.json | 0 ...newexpression-0.5.0.sol-0.7.4-compact.json | 0 .../newexpression-0.5.0.sol-0.7.4-legacy.json | 0 ...newexpression-0.5.0.sol-0.7.5-compact.json | 0 .../newexpression-0.5.0.sol-0.7.5-legacy.json | 0 ...newexpression-0.5.0.sol-0.7.6-compact.json | 0 .../newexpression-0.5.0.sol-0.7.6-legacy.json | 0 ...newexpression-0.5.0.sol-0.8.0-compact.json | 0 ...newexpression-0.5.0.sol-0.8.1-compact.json | 0 ...ewexpression-0.5.0.sol-0.8.10-compact.json | 0 ...ewexpression-0.5.0.sol-0.8.11-compact.json | 0 ...ewexpression-0.5.0.sol-0.8.12-compact.json | 0 ...ewexpression-0.5.0.sol-0.8.13-compact.json | 0 ...ewexpression-0.5.0.sol-0.8.14-compact.json | 0 ...ewexpression-0.5.0.sol-0.8.15-compact.json | 0 ...newexpression-0.5.0.sol-0.8.2-compact.json | 0 ...newexpression-0.5.0.sol-0.8.3-compact.json | 0 ...newexpression-0.5.0.sol-0.8.4-compact.json | 0 ...newexpression-0.5.0.sol-0.8.5-compact.json | 0 ...newexpression-0.5.0.sol-0.8.6-compact.json | 0 ...newexpression-0.5.0.sol-0.8.7-compact.json | 0 ...newexpression-0.5.0.sol-0.8.8-compact.json | 0 ...newexpression-0.5.0.sol-0.8.9-compact.json | 0 .../pragma-0.4.0.sol-0.4.0-compact.json | 0 .../pragma-0.4.0.sol-0.4.0-legacy.json | 0 .../pragma-0.4.0.sol-0.4.1-compact.json | 0 .../pragma-0.4.0.sol-0.4.1-legacy.json | 0 .../pragma-0.4.0.sol-0.4.10-compact.json | 0 .../pragma-0.4.0.sol-0.4.10-legacy.json | 0 .../pragma-0.4.0.sol-0.4.11-compact.json | 0 .../pragma-0.4.0.sol-0.4.11-legacy.json | 0 .../pragma-0.4.0.sol-0.4.12-compact.json | 0 .../pragma-0.4.0.sol-0.4.12-legacy.json | 0 .../pragma-0.4.0.sol-0.4.13-compact.json | 0 .../pragma-0.4.0.sol-0.4.13-legacy.json | 0 .../pragma-0.4.0.sol-0.4.14-compact.json | 0 .../pragma-0.4.0.sol-0.4.14-legacy.json | 0 .../pragma-0.4.0.sol-0.4.15-compact.json | 0 .../pragma-0.4.0.sol-0.4.15-legacy.json | 0 .../pragma-0.4.0.sol-0.4.16-compact.json | 0 .../pragma-0.4.0.sol-0.4.16-legacy.json | 0 .../pragma-0.4.0.sol-0.4.17-compact.json | 0 .../pragma-0.4.0.sol-0.4.17-legacy.json | 0 .../pragma-0.4.0.sol-0.4.18-compact.json | 0 .../pragma-0.4.0.sol-0.4.18-legacy.json | 0 .../pragma-0.4.0.sol-0.4.19-compact.json | 0 .../pragma-0.4.0.sol-0.4.19-legacy.json | 0 .../pragma-0.4.0.sol-0.4.2-compact.json | 0 .../pragma-0.4.0.sol-0.4.2-legacy.json | 0 .../pragma-0.4.0.sol-0.4.20-compact.json | 0 .../pragma-0.4.0.sol-0.4.20-legacy.json | 0 .../pragma-0.4.0.sol-0.4.21-compact.json | 0 .../pragma-0.4.0.sol-0.4.21-legacy.json | 0 .../pragma-0.4.0.sol-0.4.22-compact.json | 0 .../pragma-0.4.0.sol-0.4.22-legacy.json | 0 .../pragma-0.4.0.sol-0.4.23-compact.json | 0 .../pragma-0.4.0.sol-0.4.23-legacy.json | 0 .../pragma-0.4.0.sol-0.4.24-compact.json | 0 .../pragma-0.4.0.sol-0.4.24-legacy.json | 0 .../pragma-0.4.0.sol-0.4.25-compact.json | 0 .../pragma-0.4.0.sol-0.4.25-legacy.json | 0 .../pragma-0.4.0.sol-0.4.26-compact.json | 0 .../pragma-0.4.0.sol-0.4.26-legacy.json | 0 .../pragma-0.4.0.sol-0.4.3-compact.json | 0 .../pragma-0.4.0.sol-0.4.3-legacy.json | 0 .../pragma-0.4.0.sol-0.4.4-compact.json | 0 .../pragma-0.4.0.sol-0.4.4-legacy.json | 0 .../pragma-0.4.0.sol-0.4.5-compact.json | 0 .../pragma-0.4.0.sol-0.4.5-legacy.json | 0 .../pragma-0.4.0.sol-0.4.6-compact.json | 0 .../pragma-0.4.0.sol-0.4.6-legacy.json | 0 .../pragma-0.4.0.sol-0.4.7-compact.json | 0 .../pragma-0.4.0.sol-0.4.7-legacy.json | 0 .../pragma-0.4.0.sol-0.4.8-compact.json | 0 .../pragma-0.4.0.sol-0.4.8-legacy.json | 0 .../pragma-0.4.0.sol-0.4.9-compact.json | 0 .../pragma-0.4.0.sol-0.4.9-legacy.json | 0 .../pragma-0.5.0.sol-0.5.0-compact.json | 0 .../pragma-0.5.0.sol-0.5.0-legacy.json | 0 .../pragma-0.5.0.sol-0.5.1-compact.json | 0 .../pragma-0.5.0.sol-0.5.1-legacy.json | 0 .../pragma-0.5.0.sol-0.5.10-compact.json | 0 .../pragma-0.5.0.sol-0.5.10-legacy.json | 0 .../pragma-0.5.0.sol-0.5.11-compact.json | 0 .../pragma-0.5.0.sol-0.5.11-legacy.json | 0 .../pragma-0.5.0.sol-0.5.12-compact.json | 0 .../pragma-0.5.0.sol-0.5.12-legacy.json | 0 .../pragma-0.5.0.sol-0.5.13-compact.json | 0 .../pragma-0.5.0.sol-0.5.13-legacy.json | 0 .../pragma-0.5.0.sol-0.5.14-compact.json | 0 .../pragma-0.5.0.sol-0.5.14-legacy.json | 0 .../pragma-0.5.0.sol-0.5.15-compact.json | 0 .../pragma-0.5.0.sol-0.5.15-legacy.json | 0 .../pragma-0.5.0.sol-0.5.16-compact.json | 0 .../pragma-0.5.0.sol-0.5.16-legacy.json | 0 .../pragma-0.5.0.sol-0.5.17-compact.json | 0 .../pragma-0.5.0.sol-0.5.17-legacy.json | 0 .../pragma-0.5.0.sol-0.5.2-compact.json | 0 .../pragma-0.5.0.sol-0.5.2-legacy.json | 0 .../pragma-0.5.0.sol-0.5.3-compact.json | 0 .../pragma-0.5.0.sol-0.5.3-legacy.json | 0 .../pragma-0.5.0.sol-0.5.4-compact.json | 0 .../pragma-0.5.0.sol-0.5.4-legacy.json | 0 .../pragma-0.5.0.sol-0.5.5-compact.json | 0 .../pragma-0.5.0.sol-0.5.5-legacy.json | 0 .../pragma-0.5.0.sol-0.5.6-compact.json | 0 .../pragma-0.5.0.sol-0.5.6-legacy.json | 0 .../pragma-0.5.0.sol-0.5.7-compact.json | 0 .../pragma-0.5.0.sol-0.5.7-legacy.json | 0 .../pragma-0.5.0.sol-0.5.8-compact.json | 0 .../pragma-0.5.0.sol-0.5.8-legacy.json | 0 .../pragma-0.5.0.sol-0.5.9-compact.json | 0 .../pragma-0.5.0.sol-0.5.9-legacy.json | 0 .../pragma-0.6.0.sol-0.6.0-compact.json | 0 .../pragma-0.6.0.sol-0.6.0-legacy.json | 0 .../pragma-0.6.0.sol-0.6.1-compact.json | 0 .../pragma-0.6.0.sol-0.6.1-legacy.json | 0 .../pragma-0.6.0.sol-0.6.10-compact.json | 0 .../pragma-0.6.0.sol-0.6.10-legacy.json | 0 .../pragma-0.6.0.sol-0.6.11-compact.json | 0 .../pragma-0.6.0.sol-0.6.11-legacy.json | 0 .../pragma-0.6.0.sol-0.6.12-compact.json | 0 .../pragma-0.6.0.sol-0.6.12-legacy.json | 0 .../pragma-0.6.0.sol-0.6.2-compact.json | 0 .../pragma-0.6.0.sol-0.6.2-legacy.json | 0 .../pragma-0.6.0.sol-0.6.3-compact.json | 0 .../pragma-0.6.0.sol-0.6.3-legacy.json | 0 .../pragma-0.6.0.sol-0.6.4-compact.json | 0 .../pragma-0.6.0.sol-0.6.4-legacy.json | 0 .../pragma-0.6.0.sol-0.6.5-compact.json | 0 .../pragma-0.6.0.sol-0.6.5-legacy.json | 0 .../pragma-0.6.0.sol-0.6.6-compact.json | 0 .../pragma-0.6.0.sol-0.6.6-legacy.json | 0 .../pragma-0.6.0.sol-0.6.7-compact.json | 0 .../pragma-0.6.0.sol-0.6.7-legacy.json | 0 .../pragma-0.6.0.sol-0.6.8-compact.json | 0 .../pragma-0.6.0.sol-0.6.8-legacy.json | 0 .../pragma-0.6.0.sol-0.6.9-compact.json | 0 .../pragma-0.6.0.sol-0.6.9-legacy.json | 0 .../pragma-0.7.0.sol-0.7.0-compact.json | 0 .../pragma-0.7.0.sol-0.7.0-legacy.json | 0 .../pragma-0.7.0.sol-0.7.1-compact.json | 0 .../pragma-0.7.0.sol-0.7.1-legacy.json | 0 .../pragma-0.7.0.sol-0.7.2-compact.json | 0 .../pragma-0.7.0.sol-0.7.2-legacy.json | 0 .../pragma-0.7.0.sol-0.7.3-compact.json | 0 .../pragma-0.7.0.sol-0.7.3-legacy.json | 0 .../pragma-0.7.0.sol-0.7.4-compact.json | 0 .../pragma-0.7.0.sol-0.7.4-legacy.json | 0 .../pragma-0.7.0.sol-0.7.5-compact.json | 0 .../pragma-0.7.0.sol-0.7.5-legacy.json | 0 .../pragma-0.7.0.sol-0.7.6-compact.json | 0 .../pragma-0.7.0.sol-0.7.6-legacy.json | 0 .../pragma-0.8.0.sol-0.8.0-compact.json | 0 .../pragma-0.8.0.sol-0.8.1-compact.json | 0 .../pragma-0.8.0.sol-0.8.10-compact.json | 0 .../pragma-0.8.0.sol-0.8.11-compact.json | 0 .../pragma-0.8.0.sol-0.8.12-compact.json | 0 .../pragma-0.8.0.sol-0.8.13-compact.json | 0 .../pragma-0.8.0.sol-0.8.14-compact.json | 0 .../pragma-0.8.0.sol-0.8.15-compact.json | 0 .../pragma-0.8.0.sol-0.8.2-compact.json | 0 .../pragma-0.8.0.sol-0.8.3-compact.json | 0 .../pragma-0.8.0.sol-0.8.4-compact.json | 0 .../pragma-0.8.0.sol-0.8.5-compact.json | 0 .../pragma-0.8.0.sol-0.8.6-compact.json | 0 .../pragma-0.8.0.sol-0.8.7-compact.json | 0 .../pragma-0.8.0.sol-0.8.8-compact.json | 0 .../pragma-0.8.0.sol-0.8.9-compact.json | 0 .../expected/push-all.sol-0.4.0-compact.json | 0 .../expected/push-all.sol-0.4.0-legacy.json | 0 .../expected/push-all.sol-0.4.1-compact.json | 0 .../expected/push-all.sol-0.4.1-legacy.json | 0 .../expected/push-all.sol-0.4.10-compact.json | 0 .../expected/push-all.sol-0.4.10-legacy.json | 0 .../expected/push-all.sol-0.4.11-compact.json | 0 .../expected/push-all.sol-0.4.11-legacy.json | 0 .../expected/push-all.sol-0.4.12-compact.json | 0 .../expected/push-all.sol-0.4.12-legacy.json | 0 .../expected/push-all.sol-0.4.13-compact.json | 0 .../expected/push-all.sol-0.4.13-legacy.json | 0 .../expected/push-all.sol-0.4.14-compact.json | 0 .../expected/push-all.sol-0.4.14-legacy.json | 0 .../expected/push-all.sol-0.4.15-compact.json | 0 .../expected/push-all.sol-0.4.15-legacy.json | 0 .../expected/push-all.sol-0.4.16-compact.json | 0 .../expected/push-all.sol-0.4.16-legacy.json | 0 .../expected/push-all.sol-0.4.17-compact.json | 0 .../expected/push-all.sol-0.4.17-legacy.json | 0 .../expected/push-all.sol-0.4.18-compact.json | 0 .../expected/push-all.sol-0.4.18-legacy.json | 0 .../expected/push-all.sol-0.4.19-compact.json | 0 .../expected/push-all.sol-0.4.19-legacy.json | 0 .../expected/push-all.sol-0.4.2-compact.json | 0 .../expected/push-all.sol-0.4.2-legacy.json | 0 .../expected/push-all.sol-0.4.20-compact.json | 0 .../expected/push-all.sol-0.4.20-legacy.json | 0 .../expected/push-all.sol-0.4.21-compact.json | 0 .../expected/push-all.sol-0.4.21-legacy.json | 0 .../expected/push-all.sol-0.4.22-compact.json | 0 .../expected/push-all.sol-0.4.22-legacy.json | 0 .../expected/push-all.sol-0.4.23-compact.json | 0 .../expected/push-all.sol-0.4.23-legacy.json | 0 .../expected/push-all.sol-0.4.24-compact.json | 0 .../expected/push-all.sol-0.4.24-legacy.json | 0 .../expected/push-all.sol-0.4.25-compact.json | 0 .../expected/push-all.sol-0.4.25-legacy.json | 0 .../expected/push-all.sol-0.4.26-compact.json | 0 .../expected/push-all.sol-0.4.26-legacy.json | 0 .../expected/push-all.sol-0.4.3-compact.json | 0 .../expected/push-all.sol-0.4.3-legacy.json | 0 .../expected/push-all.sol-0.4.4-compact.json | 0 .../expected/push-all.sol-0.4.4-legacy.json | 0 .../expected/push-all.sol-0.4.5-compact.json | 0 .../expected/push-all.sol-0.4.5-legacy.json | 0 .../expected/push-all.sol-0.4.6-compact.json | 0 .../expected/push-all.sol-0.4.6-legacy.json | 0 .../expected/push-all.sol-0.4.7-compact.json | 0 .../expected/push-all.sol-0.4.7-legacy.json | 0 .../expected/push-all.sol-0.4.8-compact.json | 0 .../expected/push-all.sol-0.4.8-legacy.json | 0 .../expected/push-all.sol-0.4.9-compact.json | 0 .../expected/push-all.sol-0.4.9-legacy.json | 0 .../expected/push-all.sol-0.5.0-compact.json | 0 .../expected/push-all.sol-0.5.0-legacy.json | 0 .../expected/push-all.sol-0.5.1-compact.json | 0 .../expected/push-all.sol-0.5.1-legacy.json | 0 .../expected/push-all.sol-0.5.10-compact.json | 0 .../expected/push-all.sol-0.5.10-legacy.json | 0 .../expected/push-all.sol-0.5.11-compact.json | 0 .../expected/push-all.sol-0.5.11-legacy.json | 0 .../expected/push-all.sol-0.5.12-compact.json | 0 .../expected/push-all.sol-0.5.12-legacy.json | 0 .../expected/push-all.sol-0.5.13-compact.json | 0 .../expected/push-all.sol-0.5.13-legacy.json | 0 .../expected/push-all.sol-0.5.14-compact.json | 0 .../expected/push-all.sol-0.5.14-legacy.json | 0 .../expected/push-all.sol-0.5.15-compact.json | 0 .../expected/push-all.sol-0.5.15-legacy.json | 0 .../expected/push-all.sol-0.5.16-compact.json | 0 .../expected/push-all.sol-0.5.16-legacy.json | 0 .../expected/push-all.sol-0.5.17-compact.json | 0 .../expected/push-all.sol-0.5.17-legacy.json | 0 .../expected/push-all.sol-0.5.2-compact.json | 0 .../expected/push-all.sol-0.5.2-legacy.json | 0 .../expected/push-all.sol-0.5.3-compact.json | 0 .../expected/push-all.sol-0.5.3-legacy.json | 0 .../expected/push-all.sol-0.5.4-compact.json | 0 .../expected/push-all.sol-0.5.4-legacy.json | 0 .../expected/push-all.sol-0.5.5-compact.json | 0 .../expected/push-all.sol-0.5.5-legacy.json | 0 .../expected/push-all.sol-0.5.6-compact.json | 0 .../expected/push-all.sol-0.5.6-legacy.json | 0 .../expected/push-all.sol-0.5.7-compact.json | 0 .../expected/push-all.sol-0.5.7-legacy.json | 0 .../expected/push-all.sol-0.5.8-compact.json | 0 .../expected/push-all.sol-0.5.8-legacy.json | 0 .../expected/push-all.sol-0.5.9-compact.json | 0 .../expected/push-all.sol-0.5.9-legacy.json | 0 .../expected/push-all.sol-0.6.0-compact.json | 0 .../expected/push-all.sol-0.6.0-legacy.json | 0 .../expected/push-all.sol-0.6.1-compact.json | 0 .../expected/push-all.sol-0.6.1-legacy.json | 0 .../expected/push-all.sol-0.6.10-compact.json | 0 .../expected/push-all.sol-0.6.10-legacy.json | 0 .../expected/push-all.sol-0.6.11-compact.json | 0 .../expected/push-all.sol-0.6.11-legacy.json | 0 .../expected/push-all.sol-0.6.12-compact.json | 0 .../expected/push-all.sol-0.6.12-legacy.json | 0 .../expected/push-all.sol-0.6.2-compact.json | 0 .../expected/push-all.sol-0.6.2-legacy.json | 0 .../expected/push-all.sol-0.6.3-compact.json | 0 .../expected/push-all.sol-0.6.3-legacy.json | 0 .../expected/push-all.sol-0.6.4-compact.json | 0 .../expected/push-all.sol-0.6.4-legacy.json | 0 .../expected/push-all.sol-0.6.5-compact.json | 0 .../expected/push-all.sol-0.6.5-legacy.json | 0 .../expected/push-all.sol-0.6.6-compact.json | 0 .../expected/push-all.sol-0.6.6-legacy.json | 0 .../expected/push-all.sol-0.6.7-compact.json | 0 .../expected/push-all.sol-0.6.7-legacy.json | 0 .../expected/push-all.sol-0.6.8-compact.json | 0 .../expected/push-all.sol-0.6.8-legacy.json | 0 .../expected/push-all.sol-0.6.9-compact.json | 0 .../expected/push-all.sol-0.6.9-legacy.json | 0 .../expected/push-all.sol-0.7.0-compact.json | 0 .../expected/push-all.sol-0.7.0-legacy.json | 0 .../expected/push-all.sol-0.7.1-compact.json | 0 .../expected/push-all.sol-0.7.1-legacy.json | 0 .../expected/push-all.sol-0.7.2-compact.json | 0 .../expected/push-all.sol-0.7.2-legacy.json | 0 .../expected/push-all.sol-0.7.3-compact.json | 0 .../expected/push-all.sol-0.7.3-legacy.json | 0 .../expected/push-all.sol-0.7.4-compact.json | 0 .../expected/push-all.sol-0.7.4-legacy.json | 0 .../expected/push-all.sol-0.7.5-compact.json | 0 .../expected/push-all.sol-0.7.5-legacy.json | 0 .../expected/push-all.sol-0.7.6-compact.json | 0 .../expected/push-all.sol-0.7.6-legacy.json | 0 .../expected/push-all.sol-0.8.0-compact.json | 0 .../expected/push-all.sol-0.8.1-compact.json | 0 .../expected/push-all.sol-0.8.10-compact.json | 0 .../expected/push-all.sol-0.8.11-compact.json | 0 .../expected/push-all.sol-0.8.12-compact.json | 0 .../expected/push-all.sol-0.8.13-compact.json | 0 .../expected/push-all.sol-0.8.14-compact.json | 0 .../expected/push-all.sol-0.8.15-compact.json | 0 .../expected/push-all.sol-0.8.2-compact.json | 0 .../expected/push-all.sol-0.8.3-compact.json | 0 .../expected/push-all.sol-0.8.4-compact.json | 0 .../expected/push-all.sol-0.8.5-compact.json | 0 .../expected/push-all.sol-0.8.6-compact.json | 0 .../expected/push-all.sol-0.8.7-compact.json | 0 .../expected/push-all.sol-0.8.8-compact.json | 0 .../expected/push-all.sol-0.8.9-compact.json | 0 .../return-all.sol-0.4.0-compact.json | 0 .../expected/return-all.sol-0.4.0-legacy.json | 0 .../return-all.sol-0.4.1-compact.json | 0 .../expected/return-all.sol-0.4.1-legacy.json | 0 .../return-all.sol-0.4.10-compact.json | 0 .../return-all.sol-0.4.10-legacy.json | 0 .../return-all.sol-0.4.11-compact.json | 0 .../return-all.sol-0.4.11-legacy.json | 0 .../return-all.sol-0.4.12-compact.json | 0 .../return-all.sol-0.4.12-legacy.json | 0 .../return-all.sol-0.4.13-compact.json | 0 .../return-all.sol-0.4.13-legacy.json | 0 .../return-all.sol-0.4.14-compact.json | 0 .../return-all.sol-0.4.14-legacy.json | 0 .../return-all.sol-0.4.15-compact.json | 0 .../return-all.sol-0.4.15-legacy.json | 0 .../return-all.sol-0.4.16-compact.json | 0 .../return-all.sol-0.4.16-legacy.json | 0 .../return-all.sol-0.4.17-compact.json | 0 .../return-all.sol-0.4.17-legacy.json | 0 .../return-all.sol-0.4.18-compact.json | 0 .../return-all.sol-0.4.18-legacy.json | 0 .../return-all.sol-0.4.19-compact.json | 0 .../return-all.sol-0.4.19-legacy.json | 0 .../return-all.sol-0.4.2-compact.json | 0 .../expected/return-all.sol-0.4.2-legacy.json | 0 .../return-all.sol-0.4.20-compact.json | 0 .../return-all.sol-0.4.20-legacy.json | 0 .../return-all.sol-0.4.21-compact.json | 0 .../return-all.sol-0.4.21-legacy.json | 0 .../return-all.sol-0.4.22-compact.json | 0 .../return-all.sol-0.4.22-legacy.json | 0 .../return-all.sol-0.4.23-compact.json | 0 .../return-all.sol-0.4.23-legacy.json | 0 .../return-all.sol-0.4.24-compact.json | 0 .../return-all.sol-0.4.24-legacy.json | 0 .../return-all.sol-0.4.25-compact.json | 0 .../return-all.sol-0.4.25-legacy.json | 0 .../return-all.sol-0.4.26-compact.json | 0 .../return-all.sol-0.4.26-legacy.json | 0 .../return-all.sol-0.4.3-compact.json | 0 .../expected/return-all.sol-0.4.3-legacy.json | 0 .../return-all.sol-0.4.4-compact.json | 0 .../expected/return-all.sol-0.4.4-legacy.json | 0 .../return-all.sol-0.4.5-compact.json | 0 .../expected/return-all.sol-0.4.5-legacy.json | 0 .../return-all.sol-0.4.6-compact.json | 0 .../expected/return-all.sol-0.4.6-legacy.json | 0 .../return-all.sol-0.4.7-compact.json | 0 .../expected/return-all.sol-0.4.7-legacy.json | 0 .../return-all.sol-0.4.8-compact.json | 0 .../expected/return-all.sol-0.4.8-legacy.json | 0 .../return-all.sol-0.4.9-compact.json | 0 .../expected/return-all.sol-0.4.9-legacy.json | 0 .../return-all.sol-0.5.0-compact.json | 0 .../expected/return-all.sol-0.5.0-legacy.json | 0 .../return-all.sol-0.5.1-compact.json | 0 .../expected/return-all.sol-0.5.1-legacy.json | 0 .../return-all.sol-0.5.10-compact.json | 0 .../return-all.sol-0.5.10-legacy.json | 0 .../return-all.sol-0.5.11-compact.json | 0 .../return-all.sol-0.5.11-legacy.json | 0 .../return-all.sol-0.5.12-compact.json | 0 .../return-all.sol-0.5.12-legacy.json | 0 .../return-all.sol-0.5.13-compact.json | 0 .../return-all.sol-0.5.13-legacy.json | 0 .../return-all.sol-0.5.14-compact.json | 0 .../return-all.sol-0.5.14-legacy.json | 0 .../return-all.sol-0.5.15-compact.json | 0 .../return-all.sol-0.5.15-legacy.json | 0 .../return-all.sol-0.5.16-compact.json | 0 .../return-all.sol-0.5.16-legacy.json | 0 .../return-all.sol-0.5.17-compact.json | 0 .../return-all.sol-0.5.17-legacy.json | 0 .../return-all.sol-0.5.2-compact.json | 0 .../expected/return-all.sol-0.5.2-legacy.json | 0 .../return-all.sol-0.5.3-compact.json | 0 .../expected/return-all.sol-0.5.3-legacy.json | 0 .../return-all.sol-0.5.4-compact.json | 0 .../expected/return-all.sol-0.5.4-legacy.json | 0 .../return-all.sol-0.5.5-compact.json | 0 .../expected/return-all.sol-0.5.5-legacy.json | 0 .../return-all.sol-0.5.6-compact.json | 0 .../expected/return-all.sol-0.5.6-legacy.json | 0 .../return-all.sol-0.5.7-compact.json | 0 .../expected/return-all.sol-0.5.7-legacy.json | 0 .../return-all.sol-0.5.8-compact.json | 0 .../expected/return-all.sol-0.5.8-legacy.json | 0 .../return-all.sol-0.5.9-compact.json | 0 .../expected/return-all.sol-0.5.9-legacy.json | 0 .../return-all.sol-0.6.0-compact.json | 0 .../expected/return-all.sol-0.6.0-legacy.json | 0 .../return-all.sol-0.6.1-compact.json | 0 .../expected/return-all.sol-0.6.1-legacy.json | 0 .../return-all.sol-0.6.10-compact.json | 0 .../return-all.sol-0.6.10-legacy.json | 0 .../return-all.sol-0.6.11-compact.json | 0 .../return-all.sol-0.6.11-legacy.json | 0 .../return-all.sol-0.6.12-compact.json | 0 .../return-all.sol-0.6.12-legacy.json | 0 .../return-all.sol-0.6.2-compact.json | 0 .../expected/return-all.sol-0.6.2-legacy.json | 0 .../return-all.sol-0.6.3-compact.json | 0 .../expected/return-all.sol-0.6.3-legacy.json | 0 .../return-all.sol-0.6.4-compact.json | 0 .../expected/return-all.sol-0.6.4-legacy.json | 0 .../return-all.sol-0.6.5-compact.json | 0 .../expected/return-all.sol-0.6.5-legacy.json | 0 .../return-all.sol-0.6.6-compact.json | 0 .../expected/return-all.sol-0.6.6-legacy.json | 0 .../return-all.sol-0.6.7-compact.json | 0 .../expected/return-all.sol-0.6.7-legacy.json | 0 .../return-all.sol-0.6.8-compact.json | 0 .../expected/return-all.sol-0.6.8-legacy.json | 0 .../return-all.sol-0.6.9-compact.json | 0 .../expected/return-all.sol-0.6.9-legacy.json | 0 .../return-all.sol-0.7.0-compact.json | 0 .../expected/return-all.sol-0.7.0-legacy.json | 0 .../return-all.sol-0.7.1-compact.json | 0 .../expected/return-all.sol-0.7.1-legacy.json | 0 .../return-all.sol-0.7.2-compact.json | 0 .../expected/return-all.sol-0.7.2-legacy.json | 0 .../return-all.sol-0.7.3-compact.json | 0 .../expected/return-all.sol-0.7.3-legacy.json | 0 .../return-all.sol-0.7.4-compact.json | 0 .../expected/return-all.sol-0.7.4-legacy.json | 0 .../return-all.sol-0.7.5-compact.json | 0 .../expected/return-all.sol-0.7.5-legacy.json | 0 .../return-all.sol-0.7.6-compact.json | 0 .../expected/return-all.sol-0.7.6-legacy.json | 0 .../return-all.sol-0.8.0-compact.json | 0 .../return-all.sol-0.8.1-compact.json | 0 .../return-all.sol-0.8.10-compact.json | 0 .../return-all.sol-0.8.11-compact.json | 0 .../return-all.sol-0.8.12-compact.json | 0 .../return-all.sol-0.8.13-compact.json | 0 .../return-all.sol-0.8.14-compact.json | 0 .../return-all.sol-0.8.15-compact.json | 0 .../return-all.sol-0.8.2-compact.json | 0 .../return-all.sol-0.8.3-compact.json | 0 .../return-all.sol-0.8.4-compact.json | 0 .../return-all.sol-0.8.5-compact.json | 0 .../return-all.sol-0.8.6-compact.json | 0 .../return-all.sol-0.8.7-compact.json | 0 .../return-all.sol-0.8.8-compact.json | 0 .../return-all.sol-0.8.9-compact.json | 0 .../scope-0.4.0.sol-0.4.0-compact.json | 0 .../scope-0.4.0.sol-0.4.0-legacy.json | 0 .../scope-0.4.0.sol-0.4.1-compact.json | 0 .../scope-0.4.0.sol-0.4.1-legacy.json | 0 .../scope-0.4.0.sol-0.4.10-compact.json | 0 .../scope-0.4.0.sol-0.4.10-legacy.json | 0 .../scope-0.4.0.sol-0.4.11-compact.json | 0 .../scope-0.4.0.sol-0.4.11-legacy.json | 0 .../scope-0.4.0.sol-0.4.12-compact.json | 0 .../scope-0.4.0.sol-0.4.12-legacy.json | 0 .../scope-0.4.0.sol-0.4.13-compact.json | 0 .../scope-0.4.0.sol-0.4.13-legacy.json | 0 .../scope-0.4.0.sol-0.4.14-compact.json | 0 .../scope-0.4.0.sol-0.4.14-legacy.json | 0 .../scope-0.4.0.sol-0.4.15-compact.json | 0 .../scope-0.4.0.sol-0.4.15-legacy.json | 0 .../scope-0.4.0.sol-0.4.16-compact.json | 0 .../scope-0.4.0.sol-0.4.16-legacy.json | 0 .../scope-0.4.0.sol-0.4.17-compact.json | 0 .../scope-0.4.0.sol-0.4.17-legacy.json | 0 .../scope-0.4.0.sol-0.4.18-compact.json | 0 .../scope-0.4.0.sol-0.4.18-legacy.json | 0 .../scope-0.4.0.sol-0.4.19-compact.json | 0 .../scope-0.4.0.sol-0.4.19-legacy.json | 0 .../scope-0.4.0.sol-0.4.2-compact.json | 0 .../scope-0.4.0.sol-0.4.2-legacy.json | 0 .../scope-0.4.0.sol-0.4.20-compact.json | 0 .../scope-0.4.0.sol-0.4.20-legacy.json | 0 .../scope-0.4.0.sol-0.4.21-compact.json | 0 .../scope-0.4.0.sol-0.4.21-legacy.json | 0 .../scope-0.4.0.sol-0.4.22-compact.json | 0 .../scope-0.4.0.sol-0.4.22-legacy.json | 0 .../scope-0.4.0.sol-0.4.23-compact.json | 0 .../scope-0.4.0.sol-0.4.23-legacy.json | 0 .../scope-0.4.0.sol-0.4.24-compact.json | 0 .../scope-0.4.0.sol-0.4.24-legacy.json | 0 .../scope-0.4.0.sol-0.4.25-compact.json | 0 .../scope-0.4.0.sol-0.4.25-legacy.json | 0 .../scope-0.4.0.sol-0.4.26-compact.json | 0 .../scope-0.4.0.sol-0.4.26-legacy.json | 0 .../scope-0.4.0.sol-0.4.3-compact.json | 0 .../scope-0.4.0.sol-0.4.3-legacy.json | 0 .../scope-0.4.0.sol-0.4.4-compact.json | 0 .../scope-0.4.0.sol-0.4.4-legacy.json | 0 .../scope-0.4.0.sol-0.4.5-compact.json | 0 .../scope-0.4.0.sol-0.4.5-legacy.json | 0 .../scope-0.4.0.sol-0.4.6-compact.json | 0 .../scope-0.4.0.sol-0.4.6-legacy.json | 0 .../scope-0.4.0.sol-0.4.7-compact.json | 0 .../scope-0.4.0.sol-0.4.7-legacy.json | 0 .../scope-0.4.0.sol-0.4.8-compact.json | 0 .../scope-0.4.0.sol-0.4.8-legacy.json | 0 .../scope-0.4.0.sol-0.4.9-compact.json | 0 .../scope-0.4.0.sol-0.4.9-legacy.json | 0 .../scope-0.5.0.sol-0.5.0-compact.json | 0 .../scope-0.5.0.sol-0.5.0-legacy.json | 0 .../scope-0.5.0.sol-0.5.1-compact.json | 0 .../scope-0.5.0.sol-0.5.1-legacy.json | 0 .../scope-0.5.0.sol-0.5.10-compact.json | 0 .../scope-0.5.0.sol-0.5.10-legacy.json | 0 .../scope-0.5.0.sol-0.5.11-compact.json | 0 .../scope-0.5.0.sol-0.5.11-legacy.json | 0 .../scope-0.5.0.sol-0.5.12-compact.json | 0 .../scope-0.5.0.sol-0.5.12-legacy.json | 0 .../scope-0.5.0.sol-0.5.13-compact.json | 0 .../scope-0.5.0.sol-0.5.13-legacy.json | 0 .../scope-0.5.0.sol-0.5.14-compact.json | 0 .../scope-0.5.0.sol-0.5.14-legacy.json | 0 .../scope-0.5.0.sol-0.5.15-compact.json | 0 .../scope-0.5.0.sol-0.5.15-legacy.json | 0 .../scope-0.5.0.sol-0.5.16-compact.json | 0 .../scope-0.5.0.sol-0.5.16-legacy.json | 0 .../scope-0.5.0.sol-0.5.17-compact.json | 0 .../scope-0.5.0.sol-0.5.17-legacy.json | 0 .../scope-0.5.0.sol-0.5.2-compact.json | 0 .../scope-0.5.0.sol-0.5.2-legacy.json | 0 .../scope-0.5.0.sol-0.5.3-compact.json | 0 .../scope-0.5.0.sol-0.5.3-legacy.json | 0 .../scope-0.5.0.sol-0.5.4-compact.json | 0 .../scope-0.5.0.sol-0.5.4-legacy.json | 0 .../scope-0.5.0.sol-0.5.5-compact.json | 0 .../scope-0.5.0.sol-0.5.5-legacy.json | 0 .../scope-0.5.0.sol-0.5.6-compact.json | 0 .../scope-0.5.0.sol-0.5.6-legacy.json | 0 .../scope-0.5.0.sol-0.5.7-compact.json | 0 .../scope-0.5.0.sol-0.5.7-legacy.json | 0 .../scope-0.5.0.sol-0.5.8-compact.json | 0 .../scope-0.5.0.sol-0.5.8-legacy.json | 0 .../scope-0.5.0.sol-0.5.9-compact.json | 0 .../scope-0.5.0.sol-0.5.9-legacy.json | 0 .../scope-0.5.0.sol-0.6.0-compact.json | 0 .../scope-0.5.0.sol-0.6.0-legacy.json | 0 .../scope-0.5.0.sol-0.6.1-compact.json | 0 .../scope-0.5.0.sol-0.6.1-legacy.json | 0 .../scope-0.5.0.sol-0.6.10-compact.json | 0 .../scope-0.5.0.sol-0.6.10-legacy.json | 0 .../scope-0.5.0.sol-0.6.11-compact.json | 0 .../scope-0.5.0.sol-0.6.11-legacy.json | 0 .../scope-0.5.0.sol-0.6.12-compact.json | 0 .../scope-0.5.0.sol-0.6.12-legacy.json | 0 .../scope-0.5.0.sol-0.6.2-compact.json | 0 .../scope-0.5.0.sol-0.6.2-legacy.json | 0 .../scope-0.5.0.sol-0.6.3-compact.json | 0 .../scope-0.5.0.sol-0.6.3-legacy.json | 0 .../scope-0.5.0.sol-0.6.4-compact.json | 0 .../scope-0.5.0.sol-0.6.4-legacy.json | 0 .../scope-0.5.0.sol-0.6.5-compact.json | 0 .../scope-0.5.0.sol-0.6.5-legacy.json | 0 .../scope-0.5.0.sol-0.6.6-compact.json | 0 .../scope-0.5.0.sol-0.6.6-legacy.json | 0 .../scope-0.5.0.sol-0.6.7-compact.json | 0 .../scope-0.5.0.sol-0.6.7-legacy.json | 0 .../scope-0.5.0.sol-0.6.8-compact.json | 0 .../scope-0.5.0.sol-0.6.8-legacy.json | 0 .../scope-0.5.0.sol-0.6.9-compact.json | 0 .../scope-0.5.0.sol-0.6.9-legacy.json | 0 .../scope-0.5.0.sol-0.7.0-compact.json | 0 .../scope-0.5.0.sol-0.7.0-legacy.json | 0 .../scope-0.5.0.sol-0.7.1-compact.json | 0 .../scope-0.5.0.sol-0.7.1-legacy.json | 0 .../scope-0.5.0.sol-0.7.2-compact.json | 0 .../scope-0.5.0.sol-0.7.2-legacy.json | 0 .../scope-0.5.0.sol-0.7.3-compact.json | 0 .../scope-0.5.0.sol-0.7.3-legacy.json | 0 .../scope-0.5.0.sol-0.7.4-compact.json | 0 .../scope-0.5.0.sol-0.7.4-legacy.json | 0 .../scope-0.5.0.sol-0.7.5-compact.json | 0 .../scope-0.5.0.sol-0.7.5-legacy.json | 0 .../scope-0.5.0.sol-0.7.6-compact.json | 0 .../scope-0.5.0.sol-0.7.6-legacy.json | 0 .../scope-0.5.0.sol-0.8.0-compact.json | 0 .../scope-0.5.0.sol-0.8.1-compact.json | 0 .../scope-0.5.0.sol-0.8.10-compact.json | 0 .../scope-0.5.0.sol-0.8.11-compact.json | 0 .../scope-0.5.0.sol-0.8.12-compact.json | 0 .../scope-0.5.0.sol-0.8.13-compact.json | 0 .../scope-0.5.0.sol-0.8.14-compact.json | 0 .../scope-0.5.0.sol-0.8.15-compact.json | 0 .../scope-0.5.0.sol-0.8.2-compact.json | 0 .../scope-0.5.0.sol-0.8.3-compact.json | 0 .../scope-0.5.0.sol-0.8.4-compact.json | 0 .../scope-0.5.0.sol-0.8.5-compact.json | 0 .../scope-0.5.0.sol-0.8.6-compact.json | 0 .../scope-0.5.0.sol-0.8.7-compact.json | 0 .../scope-0.5.0.sol-0.8.8-compact.json | 0 .../scope-0.5.0.sol-0.8.9-compact.json | 0 .../struct-0.4.0.sol-0.4.0-compact.json | 0 .../struct-0.4.0.sol-0.4.0-legacy.json | 0 .../struct-0.4.0.sol-0.4.1-compact.json | 0 .../struct-0.4.0.sol-0.4.1-legacy.json | 0 .../struct-0.4.0.sol-0.4.10-compact.json | 0 .../struct-0.4.0.sol-0.4.10-legacy.json | 0 .../struct-0.4.0.sol-0.4.11-compact.json | 0 .../struct-0.4.0.sol-0.4.11-legacy.json | 0 .../struct-0.4.0.sol-0.4.12-compact.json | 0 .../struct-0.4.0.sol-0.4.12-legacy.json | 0 .../struct-0.4.0.sol-0.4.13-compact.json | 0 .../struct-0.4.0.sol-0.4.13-legacy.json | 0 .../struct-0.4.0.sol-0.4.14-compact.json | 0 .../struct-0.4.0.sol-0.4.14-legacy.json | 0 .../struct-0.4.0.sol-0.4.15-compact.json | 0 .../struct-0.4.0.sol-0.4.15-legacy.json | 0 .../struct-0.4.0.sol-0.4.16-compact.json | 0 .../struct-0.4.0.sol-0.4.16-legacy.json | 0 .../struct-0.4.0.sol-0.4.17-compact.json | 0 .../struct-0.4.0.sol-0.4.17-legacy.json | 0 .../struct-0.4.0.sol-0.4.18-compact.json | 0 .../struct-0.4.0.sol-0.4.18-legacy.json | 0 .../struct-0.4.0.sol-0.4.19-compact.json | 0 .../struct-0.4.0.sol-0.4.19-legacy.json | 0 .../struct-0.4.0.sol-0.4.2-compact.json | 0 .../struct-0.4.0.sol-0.4.2-legacy.json | 0 .../struct-0.4.0.sol-0.4.20-compact.json | 0 .../struct-0.4.0.sol-0.4.20-legacy.json | 0 .../struct-0.4.0.sol-0.4.21-compact.json | 0 .../struct-0.4.0.sol-0.4.21-legacy.json | 0 .../struct-0.4.0.sol-0.4.22-compact.json | 0 .../struct-0.4.0.sol-0.4.22-legacy.json | 0 .../struct-0.4.0.sol-0.4.23-compact.json | 0 .../struct-0.4.0.sol-0.4.23-legacy.json | 0 .../struct-0.4.0.sol-0.4.24-compact.json | 0 .../struct-0.4.0.sol-0.4.24-legacy.json | 0 .../struct-0.4.0.sol-0.4.25-compact.json | 0 .../struct-0.4.0.sol-0.4.25-legacy.json | 0 .../struct-0.4.0.sol-0.4.26-compact.json | 0 .../struct-0.4.0.sol-0.4.26-legacy.json | 0 .../struct-0.4.0.sol-0.4.3-compact.json | 0 .../struct-0.4.0.sol-0.4.3-legacy.json | 0 .../struct-0.4.0.sol-0.4.4-compact.json | 0 .../struct-0.4.0.sol-0.4.4-legacy.json | 0 .../struct-0.4.0.sol-0.4.5-compact.json | 0 .../struct-0.4.0.sol-0.4.5-legacy.json | 0 .../struct-0.4.0.sol-0.4.6-compact.json | 0 .../struct-0.4.0.sol-0.4.6-legacy.json | 0 .../struct-0.4.0.sol-0.4.7-compact.json | 0 .../struct-0.4.0.sol-0.4.7-legacy.json | 0 .../struct-0.4.0.sol-0.4.8-compact.json | 0 .../struct-0.4.0.sol-0.4.8-legacy.json | 0 .../struct-0.4.0.sol-0.4.9-compact.json | 0 .../struct-0.4.0.sol-0.4.9-legacy.json | 0 .../struct-0.4.0.sol-0.5.0-compact.json | 0 .../struct-0.4.0.sol-0.5.0-legacy.json | 0 .../struct-0.4.0.sol-0.5.1-compact.json | 0 .../struct-0.4.0.sol-0.5.1-legacy.json | 0 .../struct-0.4.0.sol-0.5.10-compact.json | 0 .../struct-0.4.0.sol-0.5.10-legacy.json | 0 .../struct-0.4.0.sol-0.5.11-compact.json | 0 .../struct-0.4.0.sol-0.5.11-legacy.json | 0 .../struct-0.4.0.sol-0.5.12-compact.json | 0 .../struct-0.4.0.sol-0.5.12-legacy.json | 0 .../struct-0.4.0.sol-0.5.13-compact.json | 0 .../struct-0.4.0.sol-0.5.13-legacy.json | 0 .../struct-0.4.0.sol-0.5.14-compact.json | 0 .../struct-0.4.0.sol-0.5.14-legacy.json | 0 .../struct-0.4.0.sol-0.5.15-compact.json | 0 .../struct-0.4.0.sol-0.5.15-legacy.json | 0 .../struct-0.4.0.sol-0.5.16-compact.json | 0 .../struct-0.4.0.sol-0.5.16-legacy.json | 0 .../struct-0.4.0.sol-0.5.17-compact.json | 0 .../struct-0.4.0.sol-0.5.17-legacy.json | 0 .../struct-0.4.0.sol-0.5.2-compact.json | 0 .../struct-0.4.0.sol-0.5.2-legacy.json | 0 .../struct-0.4.0.sol-0.5.3-compact.json | 0 .../struct-0.4.0.sol-0.5.3-legacy.json | 0 .../struct-0.4.0.sol-0.5.4-compact.json | 0 .../struct-0.4.0.sol-0.5.4-legacy.json | 0 .../struct-0.4.0.sol-0.5.5-compact.json | 0 .../struct-0.4.0.sol-0.5.5-legacy.json | 0 .../struct-0.4.0.sol-0.5.6-compact.json | 0 .../struct-0.4.0.sol-0.5.6-legacy.json | 0 .../struct-0.4.0.sol-0.5.7-compact.json | 0 .../struct-0.4.0.sol-0.5.7-legacy.json | 0 .../struct-0.4.0.sol-0.5.8-compact.json | 0 .../struct-0.4.0.sol-0.5.8-legacy.json | 0 .../struct-0.4.0.sol-0.5.9-compact.json | 0 .../struct-0.4.0.sol-0.5.9-legacy.json | 0 .../struct-0.6.0.sol-0.6.0-compact.json | 0 .../struct-0.6.0.sol-0.6.1-compact.json | 0 .../struct-0.6.0.sol-0.6.10-compact.json | 0 .../struct-0.6.0.sol-0.6.11-compact.json | 0 .../struct-0.6.0.sol-0.6.12-compact.json | 0 .../struct-0.6.0.sol-0.6.2-compact.json | 0 .../struct-0.6.0.sol-0.6.3-compact.json | 0 .../struct-0.6.0.sol-0.6.4-compact.json | 0 .../struct-0.6.0.sol-0.6.5-compact.json | 0 .../struct-0.6.0.sol-0.6.6-compact.json | 0 .../struct-0.6.0.sol-0.6.7-compact.json | 0 .../struct-0.6.0.sol-0.6.8-compact.json | 0 .../struct-0.6.0.sol-0.6.9-compact.json | 0 .../struct-0.6.0.sol-0.7.0-compact.json | 0 .../struct-0.6.0.sol-0.7.1-compact.json | 0 .../struct-0.6.0.sol-0.7.2-compact.json | 0 .../struct-0.6.0.sol-0.7.3-compact.json | 0 .../struct-0.6.0.sol-0.7.4-compact.json | 0 .../struct-0.6.0.sol-0.7.5-compact.json | 0 .../struct-0.6.0.sol-0.7.6-compact.json | 0 .../struct-0.6.0.sol-0.8.0-compact.json | 0 .../struct-0.6.0.sol-0.8.1-compact.json | 0 .../struct-0.6.0.sol-0.8.10-compact.json | 0 .../struct-0.6.0.sol-0.8.11-compact.json | 0 .../struct-0.6.0.sol-0.8.12-compact.json | 0 .../struct-0.6.0.sol-0.8.13-compact.json | 0 .../struct-0.6.0.sol-0.8.14-compact.json | 0 .../struct-0.6.0.sol-0.8.15-compact.json | 0 .../struct-0.6.0.sol-0.8.2-compact.json | 0 .../struct-0.6.0.sol-0.8.3-compact.json | 0 .../struct-0.6.0.sol-0.8.4-compact.json | 0 .../struct-0.6.0.sol-0.8.5-compact.json | 0 .../struct-0.6.0.sol-0.8.6-compact.json | 0 .../struct-0.6.0.sol-0.8.7-compact.json | 0 .../struct-0.6.0.sol-0.8.8-compact.json | 0 .../struct-0.6.0.sol-0.8.9-compact.json | 0 .../ternary-with-max.sol-0.8.15-compact.json | 0 .../throw-0.4.0.sol-0.4.0-compact.json | 0 .../throw-0.4.0.sol-0.4.0-legacy.json | 0 .../throw-0.4.0.sol-0.4.1-compact.json | 0 .../throw-0.4.0.sol-0.4.1-legacy.json | 0 .../throw-0.4.0.sol-0.4.10-compact.json | 0 .../throw-0.4.0.sol-0.4.10-legacy.json | 0 .../throw-0.4.0.sol-0.4.11-compact.json | 0 .../throw-0.4.0.sol-0.4.11-legacy.json | 0 .../throw-0.4.0.sol-0.4.12-compact.json | 0 .../throw-0.4.0.sol-0.4.12-legacy.json | 0 .../throw-0.4.0.sol-0.4.13-compact.json | 0 .../throw-0.4.0.sol-0.4.13-legacy.json | 0 .../throw-0.4.0.sol-0.4.14-compact.json | 0 .../throw-0.4.0.sol-0.4.14-legacy.json | 0 .../throw-0.4.0.sol-0.4.15-compact.json | 0 .../throw-0.4.0.sol-0.4.15-legacy.json | 0 .../throw-0.4.0.sol-0.4.16-compact.json | 0 .../throw-0.4.0.sol-0.4.16-legacy.json | 0 .../throw-0.4.0.sol-0.4.17-compact.json | 0 .../throw-0.4.0.sol-0.4.17-legacy.json | 0 .../throw-0.4.0.sol-0.4.18-compact.json | 0 .../throw-0.4.0.sol-0.4.18-legacy.json | 0 .../throw-0.4.0.sol-0.4.19-compact.json | 0 .../throw-0.4.0.sol-0.4.19-legacy.json | 0 .../throw-0.4.0.sol-0.4.2-compact.json | 0 .../throw-0.4.0.sol-0.4.2-legacy.json | 0 .../throw-0.4.0.sol-0.4.20-compact.json | 0 .../throw-0.4.0.sol-0.4.20-legacy.json | 0 .../throw-0.4.0.sol-0.4.21-compact.json | 0 .../throw-0.4.0.sol-0.4.21-legacy.json | 0 .../throw-0.4.0.sol-0.4.22-compact.json | 0 .../throw-0.4.0.sol-0.4.22-legacy.json | 0 .../throw-0.4.0.sol-0.4.23-compact.json | 0 .../throw-0.4.0.sol-0.4.23-legacy.json | 0 .../throw-0.4.0.sol-0.4.24-compact.json | 0 .../throw-0.4.0.sol-0.4.24-legacy.json | 0 .../throw-0.4.0.sol-0.4.25-compact.json | 0 .../throw-0.4.0.sol-0.4.25-legacy.json | 0 .../throw-0.4.0.sol-0.4.26-compact.json | 0 .../throw-0.4.0.sol-0.4.26-legacy.json | 0 .../throw-0.4.0.sol-0.4.3-compact.json | 0 .../throw-0.4.0.sol-0.4.3-legacy.json | 0 .../throw-0.4.0.sol-0.4.4-compact.json | 0 .../throw-0.4.0.sol-0.4.4-legacy.json | 0 .../throw-0.4.0.sol-0.4.5-compact.json | 0 .../throw-0.4.0.sol-0.4.5-legacy.json | 0 .../throw-0.4.0.sol-0.4.6-compact.json | 0 .../throw-0.4.0.sol-0.4.6-legacy.json | 0 .../throw-0.4.0.sol-0.4.7-compact.json | 0 .../throw-0.4.0.sol-0.4.7-legacy.json | 0 .../throw-0.4.0.sol-0.4.8-compact.json | 0 .../throw-0.4.0.sol-0.4.8-legacy.json | 0 .../throw-0.4.0.sol-0.4.9-compact.json | 0 .../throw-0.4.0.sol-0.4.9-legacy.json | 0 .../throw-0.5.0.sol-0.5.0-compact.json | 0 .../throw-0.5.0.sol-0.5.0-legacy.json | 0 .../throw-0.5.0.sol-0.5.1-compact.json | 0 .../throw-0.5.0.sol-0.5.1-legacy.json | 0 .../throw-0.5.0.sol-0.5.10-compact.json | 0 .../throw-0.5.0.sol-0.5.10-legacy.json | 0 .../throw-0.5.0.sol-0.5.11-compact.json | 0 .../throw-0.5.0.sol-0.5.11-legacy.json | 0 .../throw-0.5.0.sol-0.5.12-compact.json | 0 .../throw-0.5.0.sol-0.5.12-legacy.json | 0 .../throw-0.5.0.sol-0.5.13-compact.json | 0 .../throw-0.5.0.sol-0.5.13-legacy.json | 0 .../throw-0.5.0.sol-0.5.14-compact.json | 0 .../throw-0.5.0.sol-0.5.14-legacy.json | 0 .../throw-0.5.0.sol-0.5.15-compact.json | 0 .../throw-0.5.0.sol-0.5.15-legacy.json | 0 .../throw-0.5.0.sol-0.5.16-compact.json | 0 .../throw-0.5.0.sol-0.5.16-legacy.json | 0 .../throw-0.5.0.sol-0.5.17-compact.json | 0 .../throw-0.5.0.sol-0.5.17-legacy.json | 0 .../throw-0.5.0.sol-0.5.2-compact.json | 0 .../throw-0.5.0.sol-0.5.2-legacy.json | 0 .../throw-0.5.0.sol-0.5.3-compact.json | 0 .../throw-0.5.0.sol-0.5.3-legacy.json | 0 .../throw-0.5.0.sol-0.5.4-compact.json | 0 .../throw-0.5.0.sol-0.5.4-legacy.json | 0 .../throw-0.5.0.sol-0.5.5-compact.json | 0 .../throw-0.5.0.sol-0.5.5-legacy.json | 0 .../throw-0.5.0.sol-0.5.6-compact.json | 0 .../throw-0.5.0.sol-0.5.6-legacy.json | 0 .../throw-0.5.0.sol-0.5.7-compact.json | 0 .../throw-0.5.0.sol-0.5.7-legacy.json | 0 .../throw-0.5.0.sol-0.5.8-compact.json | 0 .../throw-0.5.0.sol-0.5.8-legacy.json | 0 .../throw-0.5.0.sol-0.5.9-compact.json | 0 .../throw-0.5.0.sol-0.5.9-legacy.json | 0 .../throw-0.5.0.sol-0.6.0-compact.json | 0 .../throw-0.5.0.sol-0.6.0-legacy.json | 0 .../throw-0.5.0.sol-0.6.1-compact.json | 0 .../throw-0.5.0.sol-0.6.1-legacy.json | 0 .../throw-0.5.0.sol-0.6.10-compact.json | 0 .../throw-0.5.0.sol-0.6.10-legacy.json | 0 .../throw-0.5.0.sol-0.6.11-compact.json | 0 .../throw-0.5.0.sol-0.6.11-legacy.json | 0 .../throw-0.5.0.sol-0.6.12-compact.json | 0 .../throw-0.5.0.sol-0.6.12-legacy.json | 0 .../throw-0.5.0.sol-0.6.2-compact.json | 0 .../throw-0.5.0.sol-0.6.2-legacy.json | 0 .../throw-0.5.0.sol-0.6.3-compact.json | 0 .../throw-0.5.0.sol-0.6.3-legacy.json | 0 .../throw-0.5.0.sol-0.6.4-compact.json | 0 .../throw-0.5.0.sol-0.6.4-legacy.json | 0 .../throw-0.5.0.sol-0.6.5-compact.json | 0 .../throw-0.5.0.sol-0.6.5-legacy.json | 0 .../throw-0.5.0.sol-0.6.6-compact.json | 0 .../throw-0.5.0.sol-0.6.6-legacy.json | 0 .../throw-0.5.0.sol-0.6.7-compact.json | 0 .../throw-0.5.0.sol-0.6.7-legacy.json | 0 .../throw-0.5.0.sol-0.6.8-compact.json | 0 .../throw-0.5.0.sol-0.6.8-legacy.json | 0 .../throw-0.5.0.sol-0.6.9-compact.json | 0 .../throw-0.5.0.sol-0.6.9-legacy.json | 0 .../throw-0.5.0.sol-0.7.0-compact.json | 0 .../throw-0.5.0.sol-0.7.0-legacy.json | 0 .../throw-0.5.0.sol-0.7.1-compact.json | 0 .../throw-0.5.0.sol-0.7.1-legacy.json | 0 .../throw-0.5.0.sol-0.7.2-compact.json | 0 .../throw-0.5.0.sol-0.7.2-legacy.json | 0 .../throw-0.5.0.sol-0.7.3-compact.json | 0 .../throw-0.5.0.sol-0.7.3-legacy.json | 0 .../throw-0.5.0.sol-0.7.4-compact.json | 0 .../throw-0.5.0.sol-0.7.4-legacy.json | 0 .../throw-0.5.0.sol-0.7.5-compact.json | 0 .../throw-0.5.0.sol-0.7.5-legacy.json | 0 .../throw-0.5.0.sol-0.7.6-compact.json | 0 .../throw-0.5.0.sol-0.7.6-legacy.json | 0 .../throw-0.5.0.sol-0.8.0-compact.json | 0 .../throw-0.5.0.sol-0.8.1-compact.json | 0 .../throw-0.5.0.sol-0.8.10-compact.json | 0 .../throw-0.5.0.sol-0.8.11-compact.json | 0 .../throw-0.5.0.sol-0.8.12-compact.json | 0 .../throw-0.5.0.sol-0.8.13-compact.json | 0 .../throw-0.5.0.sol-0.8.14-compact.json | 0 .../throw-0.5.0.sol-0.8.15-compact.json | 0 .../throw-0.5.0.sol-0.8.2-compact.json | 0 .../throw-0.5.0.sol-0.8.3-compact.json | 0 .../throw-0.5.0.sol-0.8.4-compact.json | 0 .../throw-0.5.0.sol-0.8.5-compact.json | 0 .../throw-0.5.0.sol-0.8.6-compact.json | 0 .../throw-0.5.0.sol-0.8.7-compact.json | 0 .../throw-0.5.0.sol-0.8.8-compact.json | 0 .../throw-0.5.0.sol-0.8.9-compact.json | 0 .../top-level-0.4.0.sol-0.4.0-compact.json | 0 .../top-level-0.4.0.sol-0.4.0-legacy.json | 0 .../top-level-0.4.0.sol-0.4.1-compact.json | 0 .../top-level-0.4.0.sol-0.4.1-legacy.json | 0 .../top-level-0.4.0.sol-0.4.10-compact.json | 0 .../top-level-0.4.0.sol-0.4.10-legacy.json | 0 .../top-level-0.4.0.sol-0.4.11-compact.json | 0 .../top-level-0.4.0.sol-0.4.11-legacy.json | 0 .../top-level-0.4.0.sol-0.4.12-compact.json | 0 .../top-level-0.4.0.sol-0.4.12-legacy.json | 0 .../top-level-0.4.0.sol-0.4.13-compact.json | 0 .../top-level-0.4.0.sol-0.4.13-legacy.json | 0 .../top-level-0.4.0.sol-0.4.14-compact.json | 0 .../top-level-0.4.0.sol-0.4.14-legacy.json | 0 .../top-level-0.4.0.sol-0.4.15-compact.json | 0 .../top-level-0.4.0.sol-0.4.15-legacy.json | 0 .../top-level-0.4.0.sol-0.4.16-compact.json | 0 .../top-level-0.4.0.sol-0.4.16-legacy.json | 0 .../top-level-0.4.0.sol-0.4.17-compact.json | 0 .../top-level-0.4.0.sol-0.4.17-legacy.json | 0 .../top-level-0.4.0.sol-0.4.18-compact.json | 0 .../top-level-0.4.0.sol-0.4.18-legacy.json | 0 .../top-level-0.4.0.sol-0.4.19-compact.json | 0 .../top-level-0.4.0.sol-0.4.19-legacy.json | 0 .../top-level-0.4.0.sol-0.4.2-compact.json | 0 .../top-level-0.4.0.sol-0.4.2-legacy.json | 0 .../top-level-0.4.0.sol-0.4.20-compact.json | 0 .../top-level-0.4.0.sol-0.4.20-legacy.json | 0 .../top-level-0.4.0.sol-0.4.21-compact.json | 0 .../top-level-0.4.0.sol-0.4.21-legacy.json | 0 .../top-level-0.4.0.sol-0.4.22-compact.json | 0 .../top-level-0.4.0.sol-0.4.22-legacy.json | 0 .../top-level-0.4.0.sol-0.4.23-compact.json | 0 .../top-level-0.4.0.sol-0.4.23-legacy.json | 0 .../top-level-0.4.0.sol-0.4.24-compact.json | 0 .../top-level-0.4.0.sol-0.4.24-legacy.json | 0 .../top-level-0.4.0.sol-0.4.25-compact.json | 0 .../top-level-0.4.0.sol-0.4.25-legacy.json | 0 .../top-level-0.4.0.sol-0.4.26-compact.json | 0 .../top-level-0.4.0.sol-0.4.26-legacy.json | 0 .../top-level-0.4.0.sol-0.4.3-compact.json | 0 .../top-level-0.4.0.sol-0.4.3-legacy.json | 0 .../top-level-0.4.0.sol-0.4.4-compact.json | 0 .../top-level-0.4.0.sol-0.4.4-legacy.json | 0 .../top-level-0.4.0.sol-0.4.5-compact.json | 0 .../top-level-0.4.0.sol-0.4.5-legacy.json | 0 .../top-level-0.4.0.sol-0.4.6-compact.json | 0 .../top-level-0.4.0.sol-0.4.6-legacy.json | 0 .../top-level-0.4.0.sol-0.4.7-compact.json | 0 .../top-level-0.4.0.sol-0.4.7-legacy.json | 0 .../top-level-0.4.0.sol-0.4.8-compact.json | 0 .../top-level-0.4.0.sol-0.4.8-legacy.json | 0 .../top-level-0.4.0.sol-0.4.9-compact.json | 0 .../top-level-0.4.0.sol-0.4.9-legacy.json | 0 .../top-level-0.4.0.sol-0.5.0-compact.json | 0 .../top-level-0.4.0.sol-0.5.0-legacy.json | 0 .../top-level-0.4.0.sol-0.5.1-compact.json | 0 .../top-level-0.4.0.sol-0.5.1-legacy.json | 0 .../top-level-0.4.0.sol-0.5.10-compact.json | 0 .../top-level-0.4.0.sol-0.5.10-legacy.json | 0 .../top-level-0.4.0.sol-0.5.11-compact.json | 0 .../top-level-0.4.0.sol-0.5.11-legacy.json | 0 .../top-level-0.4.0.sol-0.5.12-compact.json | 0 .../top-level-0.4.0.sol-0.5.12-legacy.json | 0 .../top-level-0.4.0.sol-0.5.13-compact.json | 0 .../top-level-0.4.0.sol-0.5.13-legacy.json | 0 .../top-level-0.4.0.sol-0.5.14-compact.json | 0 .../top-level-0.4.0.sol-0.5.14-legacy.json | 0 .../top-level-0.4.0.sol-0.5.15-compact.json | 0 .../top-level-0.4.0.sol-0.5.15-legacy.json | 0 .../top-level-0.4.0.sol-0.5.16-compact.json | 0 .../top-level-0.4.0.sol-0.5.16-legacy.json | 0 .../top-level-0.4.0.sol-0.5.17-compact.json | 0 .../top-level-0.4.0.sol-0.5.17-legacy.json | 0 .../top-level-0.4.0.sol-0.5.2-compact.json | 0 .../top-level-0.4.0.sol-0.5.2-legacy.json | 0 .../top-level-0.4.0.sol-0.5.3-compact.json | 0 .../top-level-0.4.0.sol-0.5.3-legacy.json | 0 .../top-level-0.4.0.sol-0.5.4-compact.json | 0 .../top-level-0.4.0.sol-0.5.4-legacy.json | 0 .../top-level-0.4.0.sol-0.5.5-compact.json | 0 .../top-level-0.4.0.sol-0.5.5-legacy.json | 0 .../top-level-0.4.0.sol-0.5.6-compact.json | 0 .../top-level-0.4.0.sol-0.5.6-legacy.json | 0 .../top-level-0.4.0.sol-0.5.7-compact.json | 0 .../top-level-0.4.0.sol-0.5.7-legacy.json | 0 .../top-level-0.4.0.sol-0.5.8-compact.json | 0 .../top-level-0.4.0.sol-0.5.8-legacy.json | 0 .../top-level-0.4.0.sol-0.5.9-compact.json | 0 .../top-level-0.4.0.sol-0.5.9-legacy.json | 0 .../top-level-0.4.0.sol-0.6.0-compact.json | 0 .../top-level-0.4.0.sol-0.6.0-legacy.json | 0 .../top-level-0.4.0.sol-0.6.1-compact.json | 0 .../top-level-0.4.0.sol-0.6.1-legacy.json | 0 .../top-level-0.4.0.sol-0.6.10-compact.json | 0 .../top-level-0.4.0.sol-0.6.10-legacy.json | 0 .../top-level-0.4.0.sol-0.6.11-compact.json | 0 .../top-level-0.4.0.sol-0.6.11-legacy.json | 0 .../top-level-0.4.0.sol-0.6.12-compact.json | 0 .../top-level-0.4.0.sol-0.6.12-legacy.json | 0 .../top-level-0.4.0.sol-0.6.2-compact.json | 0 .../top-level-0.4.0.sol-0.6.2-legacy.json | 0 .../top-level-0.4.0.sol-0.6.3-compact.json | 0 .../top-level-0.4.0.sol-0.6.3-legacy.json | 0 .../top-level-0.4.0.sol-0.6.4-compact.json | 0 .../top-level-0.4.0.sol-0.6.4-legacy.json | 0 .../top-level-0.4.0.sol-0.6.5-compact.json | 0 .../top-level-0.4.0.sol-0.6.5-legacy.json | 0 .../top-level-0.4.0.sol-0.6.6-compact.json | 0 .../top-level-0.4.0.sol-0.6.6-legacy.json | 0 .../top-level-0.4.0.sol-0.6.7-compact.json | 0 .../top-level-0.4.0.sol-0.6.7-legacy.json | 0 .../top-level-0.4.0.sol-0.6.8-compact.json | 0 .../top-level-0.4.0.sol-0.6.8-legacy.json | 0 .../top-level-0.4.0.sol-0.6.9-compact.json | 0 .../top-level-0.4.0.sol-0.6.9-legacy.json | 0 .../top-level-0.4.0.sol-0.7.0-compact.json | 0 .../top-level-0.4.0.sol-0.7.0-legacy.json | 0 .../top-level-0.7.1.sol-0.7.1-compact.json | 0 .../top-level-0.7.1.sol-0.7.1-legacy.json | 0 .../top-level-0.7.1.sol-0.7.2-compact.json | 0 .../top-level-0.7.1.sol-0.7.2-legacy.json | 0 .../top-level-0.7.1.sol-0.7.3-compact.json | 0 .../top-level-0.7.1.sol-0.7.3-legacy.json | 0 .../top-level-0.7.4.sol-0.7.4-compact.json | 0 .../top-level-0.7.4.sol-0.7.4-legacy.json | 0 .../top-level-0.7.4.sol-0.7.5-compact.json | 0 .../top-level-0.7.4.sol-0.7.5-legacy.json | 0 .../top-level-0.7.4.sol-0.7.6-compact.json | 0 .../top-level-0.7.4.sol-0.7.6-legacy.json | 0 .../top-level-0.7.4.sol-0.8.0-compact.json | 0 .../top-level-0.7.4.sol-0.8.1-compact.json | 0 .../top-level-0.7.4.sol-0.8.10-compact.json | 0 .../top-level-0.7.4.sol-0.8.11-compact.json | 0 .../top-level-0.7.4.sol-0.8.12-compact.json | 0 .../top-level-0.7.4.sol-0.8.13-compact.json | 0 .../top-level-0.7.4.sol-0.8.14-compact.json | 0 .../top-level-0.7.4.sol-0.8.15-compact.json | 0 .../top-level-0.7.4.sol-0.8.2-compact.json | 0 .../top-level-0.7.4.sol-0.8.3-compact.json | 0 .../top-level-0.7.4.sol-0.8.4-compact.json | 0 .../top-level-0.7.4.sol-0.8.5-compact.json | 0 .../top-level-0.7.4.sol-0.8.6-compact.json | 0 .../top-level-0.7.4.sol-0.8.7-compact.json | 0 .../top-level-0.7.4.sol-0.8.8-compact.json | 0 .../top-level-0.7.4.sol-0.8.9-compact.json | 0 ...-level-import-0.4.0.sol-0.4.0-compact.json | 0 ...p-level-import-0.4.0.sol-0.4.0-legacy.json | 0 ...-level-import-0.4.0.sol-0.4.1-compact.json | 0 ...p-level-import-0.4.0.sol-0.4.1-legacy.json | 0 ...level-import-0.4.0.sol-0.4.10-compact.json | 0 ...-level-import-0.4.0.sol-0.4.10-legacy.json | 0 ...level-import-0.4.0.sol-0.4.11-compact.json | 0 ...-level-import-0.4.0.sol-0.4.11-legacy.json | 0 ...level-import-0.4.0.sol-0.4.12-compact.json | 0 ...-level-import-0.4.0.sol-0.4.12-legacy.json | 0 ...level-import-0.4.0.sol-0.4.13-compact.json | 0 ...-level-import-0.4.0.sol-0.4.13-legacy.json | 0 ...level-import-0.4.0.sol-0.4.14-compact.json | 0 ...-level-import-0.4.0.sol-0.4.14-legacy.json | 0 ...level-import-0.4.0.sol-0.4.15-compact.json | 0 ...-level-import-0.4.0.sol-0.4.15-legacy.json | 0 ...level-import-0.4.0.sol-0.4.16-compact.json | 0 ...-level-import-0.4.0.sol-0.4.16-legacy.json | 0 ...level-import-0.4.0.sol-0.4.17-compact.json | 0 ...-level-import-0.4.0.sol-0.4.17-legacy.json | 0 ...level-import-0.4.0.sol-0.4.18-compact.json | 0 ...-level-import-0.4.0.sol-0.4.18-legacy.json | 0 ...level-import-0.4.0.sol-0.4.19-compact.json | 0 ...-level-import-0.4.0.sol-0.4.19-legacy.json | 0 ...-level-import-0.4.0.sol-0.4.2-compact.json | 0 ...p-level-import-0.4.0.sol-0.4.2-legacy.json | 0 ...level-import-0.4.0.sol-0.4.20-compact.json | 0 ...-level-import-0.4.0.sol-0.4.20-legacy.json | 0 ...level-import-0.4.0.sol-0.4.21-compact.json | 0 ...-level-import-0.4.0.sol-0.4.21-legacy.json | 0 ...level-import-0.4.0.sol-0.4.22-compact.json | 0 ...-level-import-0.4.0.sol-0.4.22-legacy.json | 0 ...level-import-0.4.0.sol-0.4.23-compact.json | 0 ...-level-import-0.4.0.sol-0.4.23-legacy.json | 0 ...level-import-0.4.0.sol-0.4.24-compact.json | 0 ...-level-import-0.4.0.sol-0.4.24-legacy.json | 0 ...level-import-0.4.0.sol-0.4.25-compact.json | 0 ...-level-import-0.4.0.sol-0.4.25-legacy.json | 0 ...level-import-0.4.0.sol-0.4.26-compact.json | 0 ...-level-import-0.4.0.sol-0.4.26-legacy.json | 0 ...-level-import-0.4.0.sol-0.4.3-compact.json | 0 ...p-level-import-0.4.0.sol-0.4.3-legacy.json | 0 ...-level-import-0.4.0.sol-0.4.4-compact.json | 0 ...p-level-import-0.4.0.sol-0.4.4-legacy.json | 0 ...-level-import-0.4.0.sol-0.4.5-compact.json | 0 ...p-level-import-0.4.0.sol-0.4.5-legacy.json | 0 ...-level-import-0.4.0.sol-0.4.6-compact.json | 0 ...p-level-import-0.4.0.sol-0.4.6-legacy.json | 0 ...-level-import-0.4.0.sol-0.4.7-compact.json | 0 ...p-level-import-0.4.0.sol-0.4.7-legacy.json | 0 ...-level-import-0.4.0.sol-0.4.8-compact.json | 0 ...p-level-import-0.4.0.sol-0.4.8-legacy.json | 0 ...-level-import-0.4.0.sol-0.4.9-compact.json | 0 ...p-level-import-0.4.0.sol-0.4.9-legacy.json | 0 ...-level-import-0.4.0.sol-0.5.0-compact.json | 0 ...p-level-import-0.4.0.sol-0.5.0-legacy.json | 0 ...-level-import-0.4.0.sol-0.5.1-compact.json | 0 ...p-level-import-0.4.0.sol-0.5.1-legacy.json | 0 ...level-import-0.4.0.sol-0.5.10-compact.json | 0 ...-level-import-0.4.0.sol-0.5.10-legacy.json | 0 ...level-import-0.4.0.sol-0.5.11-compact.json | 0 ...-level-import-0.4.0.sol-0.5.11-legacy.json | 0 ...level-import-0.4.0.sol-0.5.12-compact.json | 0 ...-level-import-0.4.0.sol-0.5.12-legacy.json | 0 ...level-import-0.4.0.sol-0.5.13-compact.json | 0 ...-level-import-0.4.0.sol-0.5.13-legacy.json | 0 ...level-import-0.4.0.sol-0.5.14-compact.json | 0 ...-level-import-0.4.0.sol-0.5.14-legacy.json | 0 ...level-import-0.4.0.sol-0.5.15-compact.json | 0 ...-level-import-0.4.0.sol-0.5.15-legacy.json | 0 ...level-import-0.4.0.sol-0.5.16-compact.json | 0 ...-level-import-0.4.0.sol-0.5.16-legacy.json | 0 ...level-import-0.4.0.sol-0.5.17-compact.json | 0 ...-level-import-0.4.0.sol-0.5.17-legacy.json | 0 ...-level-import-0.4.0.sol-0.5.2-compact.json | 0 ...p-level-import-0.4.0.sol-0.5.2-legacy.json | 0 ...-level-import-0.4.0.sol-0.5.3-compact.json | 0 ...p-level-import-0.4.0.sol-0.5.3-legacy.json | 0 ...-level-import-0.4.0.sol-0.5.4-compact.json | 0 ...p-level-import-0.4.0.sol-0.5.4-legacy.json | 0 ...-level-import-0.4.0.sol-0.5.5-compact.json | 0 ...p-level-import-0.4.0.sol-0.5.5-legacy.json | 0 ...-level-import-0.4.0.sol-0.5.6-compact.json | 0 ...p-level-import-0.4.0.sol-0.5.6-legacy.json | 0 ...-level-import-0.4.0.sol-0.5.7-compact.json | 0 ...p-level-import-0.4.0.sol-0.5.7-legacy.json | 0 ...-level-import-0.4.0.sol-0.5.8-compact.json | 0 ...p-level-import-0.4.0.sol-0.5.8-legacy.json | 0 ...-level-import-0.4.0.sol-0.5.9-compact.json | 0 ...p-level-import-0.4.0.sol-0.5.9-legacy.json | 0 ...-level-import-0.4.0.sol-0.6.0-compact.json | 0 ...p-level-import-0.4.0.sol-0.6.0-legacy.json | 0 ...-level-import-0.4.0.sol-0.6.1-compact.json | 0 ...p-level-import-0.4.0.sol-0.6.1-legacy.json | 0 ...level-import-0.4.0.sol-0.6.10-compact.json | 0 ...-level-import-0.4.0.sol-0.6.10-legacy.json | 0 ...level-import-0.4.0.sol-0.6.11-compact.json | 0 ...-level-import-0.4.0.sol-0.6.11-legacy.json | 0 ...level-import-0.4.0.sol-0.6.12-compact.json | 0 ...-level-import-0.4.0.sol-0.6.12-legacy.json | 0 ...-level-import-0.4.0.sol-0.6.2-compact.json | 0 ...p-level-import-0.4.0.sol-0.6.2-legacy.json | 0 ...-level-import-0.4.0.sol-0.6.3-compact.json | 0 ...p-level-import-0.4.0.sol-0.6.3-legacy.json | 0 ...-level-import-0.4.0.sol-0.6.4-compact.json | 0 ...p-level-import-0.4.0.sol-0.6.4-legacy.json | 0 ...-level-import-0.4.0.sol-0.6.5-compact.json | 0 ...p-level-import-0.4.0.sol-0.6.5-legacy.json | 0 ...-level-import-0.4.0.sol-0.6.6-compact.json | 0 ...p-level-import-0.4.0.sol-0.6.6-legacy.json | 0 ...-level-import-0.4.0.sol-0.6.7-compact.json | 0 ...p-level-import-0.4.0.sol-0.6.7-legacy.json | 0 ...-level-import-0.4.0.sol-0.6.8-compact.json | 0 ...p-level-import-0.4.0.sol-0.6.8-legacy.json | 0 ...-level-import-0.4.0.sol-0.6.9-compact.json | 0 ...p-level-import-0.4.0.sol-0.6.9-legacy.json | 0 ...-level-import-0.4.0.sol-0.7.0-compact.json | 0 ...p-level-import-0.4.0.sol-0.7.0-legacy.json | 0 ...-level-import-0.7.1.sol-0.7.1-compact.json | 0 ...p-level-import-0.7.1.sol-0.7.1-legacy.json | 0 ...-level-import-0.7.1.sol-0.7.2-compact.json | 0 ...p-level-import-0.7.1.sol-0.7.2-legacy.json | 0 ...-level-import-0.7.1.sol-0.7.3-compact.json | 0 ...p-level-import-0.7.1.sol-0.7.3-legacy.json | 0 ...-level-import-0.7.1.sol-0.7.4-compact.json | 0 ...p-level-import-0.7.1.sol-0.7.4-legacy.json | 0 ...-level-import-0.7.1.sol-0.7.5-compact.json | 0 ...p-level-import-0.7.1.sol-0.7.5-legacy.json | 0 ...-level-import-0.7.1.sol-0.7.6-compact.json | 0 ...p-level-import-0.7.1.sol-0.7.6-legacy.json | 0 ...-level-import-0.7.1.sol-0.8.0-compact.json | 0 ...-level-import-0.7.1.sol-0.8.1-compact.json | 0 ...level-import-0.7.1.sol-0.8.10-compact.json | 0 ...level-import-0.7.1.sol-0.8.11-compact.json | 0 ...level-import-0.7.1.sol-0.8.12-compact.json | 0 ...level-import-0.7.1.sol-0.8.13-compact.json | 0 ...level-import-0.7.1.sol-0.8.14-compact.json | 0 ...level-import-0.7.1.sol-0.8.15-compact.json | 0 ...-level-import-0.7.1.sol-0.8.2-compact.json | 0 ...-level-import-0.7.1.sol-0.8.3-compact.json | 0 ...-level-import-0.7.1.sol-0.8.4-compact.json | 0 ...-level-import-0.7.1.sol-0.8.5-compact.json | 0 ...-level-import-0.7.1.sol-0.8.6-compact.json | 0 ...-level-import-0.7.1.sol-0.8.7-compact.json | 0 ...-level-import-0.7.1.sol-0.8.8-compact.json | 0 ...-level-import-0.7.1.sol-0.8.9-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.0-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.4.0-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.4.1-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.4.1-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.10-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.10-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.11-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.11-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.12-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.12-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.13-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.13-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.14-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.14-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.15-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.15-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.16-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.16-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.17-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.17-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.18-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.18-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.19-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.19-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.4.2-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.4.2-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.20-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.20-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.21-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.21-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.22-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.22-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.23-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.23-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.24-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.24-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.25-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.25-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.4.26-compact.json | 0 ...el-import-bis-0.4.0.sol-0.4.26-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.4.3-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.4.3-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.4.4-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.4.4-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.4.5-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.4.5-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.4.6-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.4.6-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.4.7-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.4.7-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.4.8-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.4.8-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.4.9-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.4.9-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.5.0-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.5.0-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.5.1-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.5.1-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.5.10-compact.json | 0 ...el-import-bis-0.4.0.sol-0.5.10-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.5.11-compact.json | 0 ...el-import-bis-0.4.0.sol-0.5.11-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.5.12-compact.json | 0 ...el-import-bis-0.4.0.sol-0.5.12-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.5.13-compact.json | 0 ...el-import-bis-0.4.0.sol-0.5.13-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.5.14-compact.json | 0 ...el-import-bis-0.4.0.sol-0.5.14-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.5.15-compact.json | 0 ...el-import-bis-0.4.0.sol-0.5.15-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.5.16-compact.json | 0 ...el-import-bis-0.4.0.sol-0.5.16-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.5.17-compact.json | 0 ...el-import-bis-0.4.0.sol-0.5.17-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.5.2-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.5.2-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.5.3-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.5.3-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.5.4-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.5.4-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.5.5-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.5.5-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.5.6-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.5.6-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.5.7-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.5.7-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.5.8-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.5.8-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.5.9-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.5.9-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.6.0-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.6.0-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.6.1-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.6.1-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.6.10-compact.json | 0 ...el-import-bis-0.4.0.sol-0.6.10-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.6.11-compact.json | 0 ...el-import-bis-0.4.0.sol-0.6.11-legacy.json | 0 ...l-import-bis-0.4.0.sol-0.6.12-compact.json | 0 ...el-import-bis-0.4.0.sol-0.6.12-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.6.2-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.6.2-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.6.3-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.6.3-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.6.4-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.6.4-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.6.5-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.6.5-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.6.6-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.6.6-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.6.7-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.6.7-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.6.8-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.6.8-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.6.9-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.6.9-legacy.json | 0 ...el-import-bis-0.4.0.sol-0.7.0-compact.json | 0 ...vel-import-bis-0.4.0.sol-0.7.0-legacy.json | 0 ...el-import-bis-0.7.1.sol-0.7.1-compact.json | 0 ...vel-import-bis-0.7.1.sol-0.7.1-legacy.json | 0 ...el-import-bis-0.7.1.sol-0.7.2-compact.json | 0 ...vel-import-bis-0.7.1.sol-0.7.2-legacy.json | 0 ...el-import-bis-0.7.1.sol-0.7.3-compact.json | 0 ...vel-import-bis-0.7.1.sol-0.7.3-legacy.json | 0 ...el-import-bis-0.7.1.sol-0.7.4-compact.json | 0 ...vel-import-bis-0.7.1.sol-0.7.4-legacy.json | 0 ...el-import-bis-0.7.1.sol-0.7.5-compact.json | 0 ...vel-import-bis-0.7.1.sol-0.7.5-legacy.json | 0 ...el-import-bis-0.7.1.sol-0.7.6-compact.json | 0 ...vel-import-bis-0.7.1.sol-0.7.6-legacy.json | 0 ...el-import-bis-0.7.1.sol-0.8.0-compact.json | 0 ...el-import-bis-0.7.1.sol-0.8.1-compact.json | 0 ...l-import-bis-0.7.1.sol-0.8.10-compact.json | 0 ...l-import-bis-0.7.1.sol-0.8.11-compact.json | 0 ...l-import-bis-0.7.1.sol-0.8.12-compact.json | 0 ...l-import-bis-0.7.1.sol-0.8.13-compact.json | 0 ...l-import-bis-0.7.1.sol-0.8.14-compact.json | 0 ...l-import-bis-0.7.1.sol-0.8.15-compact.json | 0 ...el-import-bis-0.7.1.sol-0.8.2-compact.json | 0 ...el-import-bis-0.7.1.sol-0.8.3-compact.json | 0 ...el-import-bis-0.7.1.sol-0.8.4-compact.json | 0 ...el-import-bis-0.7.1.sol-0.8.5-compact.json | 0 ...el-import-bis-0.7.1.sol-0.8.6-compact.json | 0 ...el-import-bis-0.7.1.sol-0.8.7-compact.json | 0 ...el-import-bis-0.7.1.sol-0.8.8-compact.json | 0 ...el-import-bis-0.7.1.sol-0.8.9-compact.json | 0 ...nested-import-0.4.0.sol-0.4.0-compact.json | 0 ...-nested-import-0.4.0.sol-0.4.0-legacy.json | 0 ...nested-import-0.4.0.sol-0.4.1-compact.json | 0 ...-nested-import-0.4.0.sol-0.4.1-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.10-compact.json | 0 ...nested-import-0.4.0.sol-0.4.10-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.11-compact.json | 0 ...nested-import-0.4.0.sol-0.4.11-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.12-compact.json | 0 ...nested-import-0.4.0.sol-0.4.12-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.13-compact.json | 0 ...nested-import-0.4.0.sol-0.4.13-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.14-compact.json | 0 ...nested-import-0.4.0.sol-0.4.14-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.15-compact.json | 0 ...nested-import-0.4.0.sol-0.4.15-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.16-compact.json | 0 ...nested-import-0.4.0.sol-0.4.16-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.17-compact.json | 0 ...nested-import-0.4.0.sol-0.4.17-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.18-compact.json | 0 ...nested-import-0.4.0.sol-0.4.18-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.19-compact.json | 0 ...nested-import-0.4.0.sol-0.4.19-legacy.json | 0 ...nested-import-0.4.0.sol-0.4.2-compact.json | 0 ...-nested-import-0.4.0.sol-0.4.2-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.20-compact.json | 0 ...nested-import-0.4.0.sol-0.4.20-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.21-compact.json | 0 ...nested-import-0.4.0.sol-0.4.21-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.22-compact.json | 0 ...nested-import-0.4.0.sol-0.4.22-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.23-compact.json | 0 ...nested-import-0.4.0.sol-0.4.23-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.24-compact.json | 0 ...nested-import-0.4.0.sol-0.4.24-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.25-compact.json | 0 ...nested-import-0.4.0.sol-0.4.25-legacy.json | 0 ...ested-import-0.4.0.sol-0.4.26-compact.json | 0 ...nested-import-0.4.0.sol-0.4.26-legacy.json | 0 ...nested-import-0.4.0.sol-0.4.3-compact.json | 0 ...-nested-import-0.4.0.sol-0.4.3-legacy.json | 0 ...nested-import-0.4.0.sol-0.4.4-compact.json | 0 ...-nested-import-0.4.0.sol-0.4.4-legacy.json | 0 ...nested-import-0.4.0.sol-0.4.5-compact.json | 0 ...-nested-import-0.4.0.sol-0.4.5-legacy.json | 0 ...nested-import-0.4.0.sol-0.4.6-compact.json | 0 ...-nested-import-0.4.0.sol-0.4.6-legacy.json | 0 ...nested-import-0.4.0.sol-0.4.7-compact.json | 0 ...-nested-import-0.4.0.sol-0.4.7-legacy.json | 0 ...nested-import-0.4.0.sol-0.4.8-compact.json | 0 ...-nested-import-0.4.0.sol-0.4.8-legacy.json | 0 ...nested-import-0.4.0.sol-0.4.9-compact.json | 0 ...-nested-import-0.4.0.sol-0.4.9-legacy.json | 0 ...nested-import-0.4.0.sol-0.5.0-compact.json | 0 ...-nested-import-0.4.0.sol-0.5.0-legacy.json | 0 ...nested-import-0.4.0.sol-0.5.1-compact.json | 0 ...-nested-import-0.4.0.sol-0.5.1-legacy.json | 0 ...ested-import-0.4.0.sol-0.5.10-compact.json | 0 ...nested-import-0.4.0.sol-0.5.10-legacy.json | 0 ...ested-import-0.4.0.sol-0.5.11-compact.json | 0 ...nested-import-0.4.0.sol-0.5.11-legacy.json | 0 ...ested-import-0.4.0.sol-0.5.12-compact.json | 0 ...nested-import-0.4.0.sol-0.5.12-legacy.json | 0 ...ested-import-0.4.0.sol-0.5.13-compact.json | 0 ...nested-import-0.4.0.sol-0.5.13-legacy.json | 0 ...ested-import-0.4.0.sol-0.5.14-compact.json | 0 ...nested-import-0.4.0.sol-0.5.14-legacy.json | 0 ...ested-import-0.4.0.sol-0.5.15-compact.json | 0 ...nested-import-0.4.0.sol-0.5.15-legacy.json | 0 ...ested-import-0.4.0.sol-0.5.16-compact.json | 0 ...nested-import-0.4.0.sol-0.5.16-legacy.json | 0 ...ested-import-0.4.0.sol-0.5.17-compact.json | 0 ...nested-import-0.4.0.sol-0.5.17-legacy.json | 0 ...nested-import-0.4.0.sol-0.5.2-compact.json | 0 ...-nested-import-0.4.0.sol-0.5.2-legacy.json | 0 ...nested-import-0.4.0.sol-0.5.3-compact.json | 0 ...-nested-import-0.4.0.sol-0.5.3-legacy.json | 0 ...nested-import-0.4.0.sol-0.5.4-compact.json | 0 ...-nested-import-0.4.0.sol-0.5.4-legacy.json | 0 ...nested-import-0.4.0.sol-0.5.5-compact.json | 0 ...-nested-import-0.4.0.sol-0.5.5-legacy.json | 0 ...nested-import-0.4.0.sol-0.5.6-compact.json | 0 ...-nested-import-0.4.0.sol-0.5.6-legacy.json | 0 ...nested-import-0.4.0.sol-0.5.7-compact.json | 0 ...-nested-import-0.4.0.sol-0.5.7-legacy.json | 0 ...nested-import-0.4.0.sol-0.5.8-compact.json | 0 ...-nested-import-0.4.0.sol-0.5.8-legacy.json | 0 ...nested-import-0.4.0.sol-0.5.9-compact.json | 0 ...-nested-import-0.4.0.sol-0.5.9-legacy.json | 0 ...nested-import-0.4.0.sol-0.6.0-compact.json | 0 ...-nested-import-0.4.0.sol-0.6.0-legacy.json | 0 ...nested-import-0.4.0.sol-0.6.1-compact.json | 0 ...-nested-import-0.4.0.sol-0.6.1-legacy.json | 0 ...ested-import-0.4.0.sol-0.6.10-compact.json | 0 ...nested-import-0.4.0.sol-0.6.10-legacy.json | 0 ...ested-import-0.4.0.sol-0.6.11-compact.json | 0 ...nested-import-0.4.0.sol-0.6.11-legacy.json | 0 ...ested-import-0.4.0.sol-0.6.12-compact.json | 0 ...nested-import-0.4.0.sol-0.6.12-legacy.json | 0 ...nested-import-0.4.0.sol-0.6.2-compact.json | 0 ...-nested-import-0.4.0.sol-0.6.2-legacy.json | 0 ...nested-import-0.4.0.sol-0.6.3-compact.json | 0 ...-nested-import-0.4.0.sol-0.6.3-legacy.json | 0 ...nested-import-0.4.0.sol-0.6.4-compact.json | 0 ...-nested-import-0.4.0.sol-0.6.4-legacy.json | 0 ...nested-import-0.4.0.sol-0.6.5-compact.json | 0 ...-nested-import-0.4.0.sol-0.6.5-legacy.json | 0 ...nested-import-0.4.0.sol-0.6.6-compact.json | 0 ...-nested-import-0.4.0.sol-0.6.6-legacy.json | 0 ...nested-import-0.4.0.sol-0.6.7-compact.json | 0 ...-nested-import-0.4.0.sol-0.6.7-legacy.json | 0 ...nested-import-0.4.0.sol-0.6.8-compact.json | 0 ...-nested-import-0.4.0.sol-0.6.8-legacy.json | 0 ...nested-import-0.4.0.sol-0.6.9-compact.json | 0 ...-nested-import-0.4.0.sol-0.6.9-legacy.json | 0 ...nested-import-0.4.0.sol-0.7.0-compact.json | 0 ...-nested-import-0.4.0.sol-0.7.0-legacy.json | 0 ...nested-import-0.7.1.sol-0.7.1-compact.json | 0 ...-nested-import-0.7.1.sol-0.7.1-legacy.json | 0 ...nested-import-0.7.1.sol-0.7.2-compact.json | 0 ...-nested-import-0.7.1.sol-0.7.2-legacy.json | 0 ...nested-import-0.7.1.sol-0.7.3-compact.json | 0 ...-nested-import-0.7.1.sol-0.7.3-legacy.json | 0 ...nested-import-0.7.1.sol-0.7.4-compact.json | 0 ...-nested-import-0.7.1.sol-0.7.4-legacy.json | 0 ...nested-import-0.7.1.sol-0.7.5-compact.json | 0 ...-nested-import-0.7.1.sol-0.7.5-legacy.json | 0 ...nested-import-0.7.1.sol-0.7.6-compact.json | 0 ...-nested-import-0.7.1.sol-0.7.6-legacy.json | 0 ...nested-import-0.7.1.sol-0.8.0-compact.json | 0 ...nested-import-0.7.1.sol-0.8.1-compact.json | 0 ...ested-import-0.7.1.sol-0.8.10-compact.json | 0 ...ested-import-0.7.1.sol-0.8.11-compact.json | 0 ...ested-import-0.7.1.sol-0.8.12-compact.json | 0 ...ested-import-0.7.1.sol-0.8.13-compact.json | 0 ...ested-import-0.7.1.sol-0.8.14-compact.json | 0 ...ested-import-0.7.1.sol-0.8.15-compact.json | 0 ...nested-import-0.7.1.sol-0.8.2-compact.json | 0 ...nested-import-0.7.1.sol-0.8.3-compact.json | 0 ...nested-import-0.7.1.sol-0.8.4-compact.json | 0 ...nested-import-0.7.1.sol-0.8.5-compact.json | 0 ...nested-import-0.7.1.sol-0.8.6-compact.json | 0 ...nested-import-0.7.1.sol-0.8.7-compact.json | 0 ...nested-import-0.7.1.sol-0.8.8-compact.json | 0 ...nested-import-0.7.1.sol-0.8.9-compact.json | 0 ...-level-struct-0.8.0.sol-0.8.0-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.0-compact.json | 0 ...level_variable-0.4.0.sol-0.4.0-legacy.json | 0 ...evel_variable-0.4.0.sol-0.4.1-compact.json | 0 ...level_variable-0.4.0.sol-0.4.1-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.10-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.10-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.11-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.11-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.12-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.12-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.13-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.13-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.14-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.14-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.15-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.15-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.16-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.16-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.17-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.17-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.18-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.18-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.19-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.19-legacy.json | 0 ...evel_variable-0.4.0.sol-0.4.2-compact.json | 0 ...level_variable-0.4.0.sol-0.4.2-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.20-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.20-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.21-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.21-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.22-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.22-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.23-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.23-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.24-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.24-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.25-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.25-legacy.json | 0 ...vel_variable-0.4.0.sol-0.4.26-compact.json | 0 ...evel_variable-0.4.0.sol-0.4.26-legacy.json | 0 ...evel_variable-0.4.0.sol-0.4.3-compact.json | 0 ...level_variable-0.4.0.sol-0.4.3-legacy.json | 0 ...evel_variable-0.4.0.sol-0.4.4-compact.json | 0 ...level_variable-0.4.0.sol-0.4.4-legacy.json | 0 ...evel_variable-0.4.0.sol-0.4.5-compact.json | 0 ...level_variable-0.4.0.sol-0.4.5-legacy.json | 0 ...evel_variable-0.4.0.sol-0.4.6-compact.json | 0 ...level_variable-0.4.0.sol-0.4.6-legacy.json | 0 ...evel_variable-0.4.0.sol-0.4.7-compact.json | 0 ...level_variable-0.4.0.sol-0.4.7-legacy.json | 0 ...evel_variable-0.4.0.sol-0.4.8-compact.json | 0 ...level_variable-0.4.0.sol-0.4.8-legacy.json | 0 ...evel_variable-0.4.0.sol-0.4.9-compact.json | 0 ...level_variable-0.4.0.sol-0.4.9-legacy.json | 0 ...evel_variable-0.4.0.sol-0.5.0-compact.json | 0 ...level_variable-0.4.0.sol-0.5.0-legacy.json | 0 ...evel_variable-0.4.0.sol-0.5.1-compact.json | 0 ...level_variable-0.4.0.sol-0.5.1-legacy.json | 0 ...vel_variable-0.4.0.sol-0.5.10-compact.json | 0 ...evel_variable-0.4.0.sol-0.5.10-legacy.json | 0 ...vel_variable-0.4.0.sol-0.5.11-compact.json | 0 ...evel_variable-0.4.0.sol-0.5.11-legacy.json | 0 ...vel_variable-0.4.0.sol-0.5.12-compact.json | 0 ...evel_variable-0.4.0.sol-0.5.12-legacy.json | 0 ...vel_variable-0.4.0.sol-0.5.13-compact.json | 0 ...evel_variable-0.4.0.sol-0.5.13-legacy.json | 0 ...vel_variable-0.4.0.sol-0.5.14-compact.json | 0 ...evel_variable-0.4.0.sol-0.5.14-legacy.json | 0 ...vel_variable-0.4.0.sol-0.5.15-compact.json | 0 ...evel_variable-0.4.0.sol-0.5.15-legacy.json | 0 ...vel_variable-0.4.0.sol-0.5.16-compact.json | 0 ...evel_variable-0.4.0.sol-0.5.16-legacy.json | 0 ...vel_variable-0.4.0.sol-0.5.17-compact.json | 0 ...evel_variable-0.4.0.sol-0.5.17-legacy.json | 0 ...evel_variable-0.4.0.sol-0.5.2-compact.json | 0 ...level_variable-0.4.0.sol-0.5.2-legacy.json | 0 ...evel_variable-0.4.0.sol-0.5.3-compact.json | 0 ...level_variable-0.4.0.sol-0.5.3-legacy.json | 0 ...evel_variable-0.4.0.sol-0.5.4-compact.json | 0 ...level_variable-0.4.0.sol-0.5.4-legacy.json | 0 ...evel_variable-0.4.0.sol-0.5.5-compact.json | 0 ...level_variable-0.4.0.sol-0.5.5-legacy.json | 0 ...evel_variable-0.4.0.sol-0.5.6-compact.json | 0 ...level_variable-0.4.0.sol-0.5.6-legacy.json | 0 ...evel_variable-0.4.0.sol-0.5.7-compact.json | 0 ...level_variable-0.4.0.sol-0.5.7-legacy.json | 0 ...evel_variable-0.4.0.sol-0.5.8-compact.json | 0 ...level_variable-0.4.0.sol-0.5.8-legacy.json | 0 ...evel_variable-0.4.0.sol-0.5.9-compact.json | 0 ...level_variable-0.4.0.sol-0.5.9-legacy.json | 0 ...evel_variable-0.4.0.sol-0.6.0-compact.json | 0 ...level_variable-0.4.0.sol-0.6.0-legacy.json | 0 ...evel_variable-0.4.0.sol-0.6.1-compact.json | 0 ...level_variable-0.4.0.sol-0.6.1-legacy.json | 0 ...vel_variable-0.4.0.sol-0.6.10-compact.json | 0 ...evel_variable-0.4.0.sol-0.6.10-legacy.json | 0 ...vel_variable-0.4.0.sol-0.6.11-compact.json | 0 ...evel_variable-0.4.0.sol-0.6.11-legacy.json | 0 ...vel_variable-0.4.0.sol-0.6.12-compact.json | 0 ...evel_variable-0.4.0.sol-0.6.12-legacy.json | 0 ...evel_variable-0.4.0.sol-0.6.2-compact.json | 0 ...level_variable-0.4.0.sol-0.6.2-legacy.json | 0 ...evel_variable-0.4.0.sol-0.6.3-compact.json | 0 ...level_variable-0.4.0.sol-0.6.3-legacy.json | 0 ...evel_variable-0.4.0.sol-0.6.4-compact.json | 0 ...level_variable-0.4.0.sol-0.6.4-legacy.json | 0 ...evel_variable-0.4.0.sol-0.6.5-compact.json | 0 ...level_variable-0.4.0.sol-0.6.5-legacy.json | 0 ...evel_variable-0.4.0.sol-0.6.6-compact.json | 0 ...level_variable-0.4.0.sol-0.6.6-legacy.json | 0 ...evel_variable-0.4.0.sol-0.6.7-compact.json | 0 ...level_variable-0.4.0.sol-0.6.7-legacy.json | 0 ...evel_variable-0.4.0.sol-0.6.8-compact.json | 0 ...level_variable-0.4.0.sol-0.6.8-legacy.json | 0 ...evel_variable-0.4.0.sol-0.6.9-compact.json | 0 ...level_variable-0.4.0.sol-0.6.9-legacy.json | 0 ...evel_variable-0.4.0.sol-0.7.0-compact.json | 0 ...level_variable-0.4.0.sol-0.7.0-legacy.json | 0 ...evel_variable-0.4.0.sol-0.7.1-compact.json | 0 ...level_variable-0.4.0.sol-0.7.1-legacy.json | 0 ...evel_variable-0.4.0.sol-0.7.2-compact.json | 0 ...level_variable-0.4.0.sol-0.7.2-legacy.json | 0 ...evel_variable-0.4.0.sol-0.7.3-compact.json | 0 ...level_variable-0.4.0.sol-0.7.3-legacy.json | 0 ...evel_variable-0.4.0.sol-0.7.4-compact.json | 0 ...level_variable-0.4.0.sol-0.7.4-legacy.json | 0 ...evel_variable-0.4.0.sol-0.7.5-compact.json | 0 ...level_variable-0.4.0.sol-0.7.5-legacy.json | 0 ...evel_variable-0.4.0.sol-0.7.6-compact.json | 0 ...level_variable-0.4.0.sol-0.7.6-legacy.json | 0 ...evel_variable-0.8.0.sol-0.8.0-compact.json | 0 ...evel_variable-0.8.0.sol-0.8.1-compact.json | 0 ...vel_variable-0.8.0.sol-0.8.10-compact.json | 0 ...vel_variable-0.8.0.sol-0.8.11-compact.json | 0 ...vel_variable-0.8.0.sol-0.8.12-compact.json | 0 ...vel_variable-0.8.0.sol-0.8.13-compact.json | 0 ...vel_variable-0.8.0.sol-0.8.14-compact.json | 0 ...vel_variable-0.8.0.sol-0.8.15-compact.json | 0 ...evel_variable-0.8.0.sol-0.8.2-compact.json | 0 ...evel_variable-0.8.0.sol-0.8.3-compact.json | 0 ...evel_variable-0.8.0.sol-0.8.4-compact.json | 0 ...evel_variable-0.8.0.sol-0.8.5-compact.json | 0 ...evel_variable-0.8.0.sol-0.8.6-compact.json | 0 ...evel_variable-0.8.0.sol-0.8.7-compact.json | 0 ...evel_variable-0.8.0.sol-0.8.8-compact.json | 0 ...evel_variable-0.8.0.sol-0.8.9-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.0-compact.json | 0 ...evel_variable2-0.4.0.sol-0.4.0-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.4.1-compact.json | 0 ...evel_variable2-0.4.0.sol-0.4.1-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.10-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.10-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.11-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.11-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.12-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.12-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.13-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.13-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.14-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.14-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.15-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.15-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.16-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.16-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.17-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.17-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.18-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.18-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.19-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.19-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.4.2-compact.json | 0 ...evel_variable2-0.4.0.sol-0.4.2-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.20-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.20-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.21-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.21-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.22-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.22-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.23-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.23-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.24-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.24-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.25-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.25-legacy.json | 0 ...el_variable2-0.4.0.sol-0.4.26-compact.json | 0 ...vel_variable2-0.4.0.sol-0.4.26-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.4.3-compact.json | 0 ...evel_variable2-0.4.0.sol-0.4.3-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.4.4-compact.json | 0 ...evel_variable2-0.4.0.sol-0.4.4-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.4.5-compact.json | 0 ...evel_variable2-0.4.0.sol-0.4.5-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.4.6-compact.json | 0 ...evel_variable2-0.4.0.sol-0.4.6-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.4.7-compact.json | 0 ...evel_variable2-0.4.0.sol-0.4.7-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.4.8-compact.json | 0 ...evel_variable2-0.4.0.sol-0.4.8-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.4.9-compact.json | 0 ...evel_variable2-0.4.0.sol-0.4.9-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.5.0-compact.json | 0 ...evel_variable2-0.4.0.sol-0.5.0-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.5.1-compact.json | 0 ...evel_variable2-0.4.0.sol-0.5.1-legacy.json | 0 ...el_variable2-0.4.0.sol-0.5.10-compact.json | 0 ...vel_variable2-0.4.0.sol-0.5.10-legacy.json | 0 ...el_variable2-0.4.0.sol-0.5.11-compact.json | 0 ...vel_variable2-0.4.0.sol-0.5.11-legacy.json | 0 ...el_variable2-0.4.0.sol-0.5.12-compact.json | 0 ...vel_variable2-0.4.0.sol-0.5.12-legacy.json | 0 ...el_variable2-0.4.0.sol-0.5.13-compact.json | 0 ...vel_variable2-0.4.0.sol-0.5.13-legacy.json | 0 ...el_variable2-0.4.0.sol-0.5.14-compact.json | 0 ...vel_variable2-0.4.0.sol-0.5.14-legacy.json | 0 ...el_variable2-0.4.0.sol-0.5.15-compact.json | 0 ...vel_variable2-0.4.0.sol-0.5.15-legacy.json | 0 ...el_variable2-0.4.0.sol-0.5.16-compact.json | 0 ...vel_variable2-0.4.0.sol-0.5.16-legacy.json | 0 ...el_variable2-0.4.0.sol-0.5.17-compact.json | 0 ...vel_variable2-0.4.0.sol-0.5.17-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.5.2-compact.json | 0 ...evel_variable2-0.4.0.sol-0.5.2-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.5.3-compact.json | 0 ...evel_variable2-0.4.0.sol-0.5.3-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.5.4-compact.json | 0 ...evel_variable2-0.4.0.sol-0.5.4-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.5.5-compact.json | 0 ...evel_variable2-0.4.0.sol-0.5.5-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.5.6-compact.json | 0 ...evel_variable2-0.4.0.sol-0.5.6-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.5.7-compact.json | 0 ...evel_variable2-0.4.0.sol-0.5.7-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.5.8-compact.json | 0 ...evel_variable2-0.4.0.sol-0.5.8-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.5.9-compact.json | 0 ...evel_variable2-0.4.0.sol-0.5.9-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.6.0-compact.json | 0 ...evel_variable2-0.4.0.sol-0.6.0-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.6.1-compact.json | 0 ...evel_variable2-0.4.0.sol-0.6.1-legacy.json | 0 ...el_variable2-0.4.0.sol-0.6.10-compact.json | 0 ...vel_variable2-0.4.0.sol-0.6.10-legacy.json | 0 ...el_variable2-0.4.0.sol-0.6.11-compact.json | 0 ...vel_variable2-0.4.0.sol-0.6.11-legacy.json | 0 ...el_variable2-0.4.0.sol-0.6.12-compact.json | 0 ...vel_variable2-0.4.0.sol-0.6.12-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.6.2-compact.json | 0 ...evel_variable2-0.4.0.sol-0.6.2-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.6.3-compact.json | 0 ...evel_variable2-0.4.0.sol-0.6.3-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.6.4-compact.json | 0 ...evel_variable2-0.4.0.sol-0.6.4-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.6.5-compact.json | 0 ...evel_variable2-0.4.0.sol-0.6.5-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.6.6-compact.json | 0 ...evel_variable2-0.4.0.sol-0.6.6-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.6.7-compact.json | 0 ...evel_variable2-0.4.0.sol-0.6.7-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.6.8-compact.json | 0 ...evel_variable2-0.4.0.sol-0.6.8-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.6.9-compact.json | 0 ...evel_variable2-0.4.0.sol-0.6.9-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.7.0-compact.json | 0 ...evel_variable2-0.4.0.sol-0.7.0-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.7.1-compact.json | 0 ...evel_variable2-0.4.0.sol-0.7.1-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.7.2-compact.json | 0 ...evel_variable2-0.4.0.sol-0.7.2-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.7.3-compact.json | 0 ...evel_variable2-0.4.0.sol-0.7.3-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.7.4-compact.json | 0 ...evel_variable2-0.4.0.sol-0.7.4-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.7.5-compact.json | 0 ...evel_variable2-0.4.0.sol-0.7.5-legacy.json | 0 ...vel_variable2-0.4.0.sol-0.7.6-compact.json | 0 ...evel_variable2-0.4.0.sol-0.7.6-legacy.json | 0 ...vel_variable2-0.8.0.sol-0.8.0-compact.json | 0 ...vel_variable2-0.8.0.sol-0.8.1-compact.json | 0 ...el_variable2-0.8.0.sol-0.8.10-compact.json | 0 ...el_variable2-0.8.0.sol-0.8.11-compact.json | 0 ...el_variable2-0.8.0.sol-0.8.12-compact.json | 0 ...el_variable2-0.8.0.sol-0.8.13-compact.json | 0 ...el_variable2-0.8.0.sol-0.8.14-compact.json | 0 ...el_variable2-0.8.0.sol-0.8.15-compact.json | 0 ...vel_variable2-0.8.0.sol-0.8.2-compact.json | 0 ...vel_variable2-0.8.0.sol-0.8.3-compact.json | 0 ...vel_variable2-0.8.0.sol-0.8.4-compact.json | 0 ...vel_variable2-0.8.0.sol-0.8.5-compact.json | 0 ...vel_variable2-0.8.0.sol-0.8.6-compact.json | 0 ...vel_variable2-0.8.0.sol-0.8.7-compact.json | 0 ...vel_variable2-0.8.0.sol-0.8.8-compact.json | 0 ...vel_variable2-0.8.0.sol-0.8.9-compact.json | 0 .../trycatch-0.4.0.sol-0.4.0-compact.json | 0 .../trycatch-0.4.0.sol-0.4.0-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.1-compact.json | 0 .../trycatch-0.4.0.sol-0.4.1-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.10-compact.json | 0 .../trycatch-0.4.0.sol-0.4.10-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.11-compact.json | 0 .../trycatch-0.4.0.sol-0.4.11-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.12-compact.json | 0 .../trycatch-0.4.0.sol-0.4.12-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.13-compact.json | 0 .../trycatch-0.4.0.sol-0.4.13-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.14-compact.json | 0 .../trycatch-0.4.0.sol-0.4.14-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.15-compact.json | 0 .../trycatch-0.4.0.sol-0.4.15-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.16-compact.json | 0 .../trycatch-0.4.0.sol-0.4.16-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.17-compact.json | 0 .../trycatch-0.4.0.sol-0.4.17-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.18-compact.json | 0 .../trycatch-0.4.0.sol-0.4.18-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.19-compact.json | 0 .../trycatch-0.4.0.sol-0.4.19-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.2-compact.json | 0 .../trycatch-0.4.0.sol-0.4.2-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.20-compact.json | 0 .../trycatch-0.4.0.sol-0.4.20-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.21-compact.json | 0 .../trycatch-0.4.0.sol-0.4.21-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.22-compact.json | 0 .../trycatch-0.4.0.sol-0.4.22-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.23-compact.json | 0 .../trycatch-0.4.0.sol-0.4.23-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.24-compact.json | 0 .../trycatch-0.4.0.sol-0.4.24-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.25-compact.json | 0 .../trycatch-0.4.0.sol-0.4.25-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.26-compact.json | 0 .../trycatch-0.4.0.sol-0.4.26-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.3-compact.json | 0 .../trycatch-0.4.0.sol-0.4.3-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.4-compact.json | 0 .../trycatch-0.4.0.sol-0.4.4-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.5-compact.json | 0 .../trycatch-0.4.0.sol-0.4.5-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.6-compact.json | 0 .../trycatch-0.4.0.sol-0.4.6-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.7-compact.json | 0 .../trycatch-0.4.0.sol-0.4.7-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.8-compact.json | 0 .../trycatch-0.4.0.sol-0.4.8-legacy.json | 0 .../trycatch-0.4.0.sol-0.4.9-compact.json | 0 .../trycatch-0.4.0.sol-0.4.9-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.0-compact.json | 0 .../trycatch-0.4.0.sol-0.5.0-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.1-compact.json | 0 .../trycatch-0.4.0.sol-0.5.1-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.10-compact.json | 0 .../trycatch-0.4.0.sol-0.5.10-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.11-compact.json | 0 .../trycatch-0.4.0.sol-0.5.11-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.12-compact.json | 0 .../trycatch-0.4.0.sol-0.5.12-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.13-compact.json | 0 .../trycatch-0.4.0.sol-0.5.13-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.14-compact.json | 0 .../trycatch-0.4.0.sol-0.5.14-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.15-compact.json | 0 .../trycatch-0.4.0.sol-0.5.15-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.16-compact.json | 0 .../trycatch-0.4.0.sol-0.5.16-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.17-compact.json | 0 .../trycatch-0.4.0.sol-0.5.17-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.2-compact.json | 0 .../trycatch-0.4.0.sol-0.5.2-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.3-compact.json | 0 .../trycatch-0.4.0.sol-0.5.3-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.4-compact.json | 0 .../trycatch-0.4.0.sol-0.5.4-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.5-compact.json | 0 .../trycatch-0.4.0.sol-0.5.5-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.6-compact.json | 0 .../trycatch-0.4.0.sol-0.5.6-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.7-compact.json | 0 .../trycatch-0.4.0.sol-0.5.7-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.8-compact.json | 0 .../trycatch-0.4.0.sol-0.5.8-legacy.json | 0 .../trycatch-0.4.0.sol-0.5.9-compact.json | 0 .../trycatch-0.4.0.sol-0.5.9-legacy.json | 0 .../trycatch-0.6.0.sol-0.6.0-compact.json | 0 .../trycatch-0.6.0.sol-0.6.1-compact.json | 0 .../trycatch-0.6.0.sol-0.6.10-compact.json | 0 .../trycatch-0.6.0.sol-0.6.11-compact.json | 0 .../trycatch-0.6.0.sol-0.6.12-compact.json | 0 .../trycatch-0.6.0.sol-0.6.2-compact.json | 0 .../trycatch-0.6.0.sol-0.6.3-compact.json | 0 .../trycatch-0.6.0.sol-0.6.4-compact.json | 0 .../trycatch-0.6.0.sol-0.6.5-compact.json | 0 .../trycatch-0.6.0.sol-0.6.6-compact.json | 0 .../trycatch-0.6.0.sol-0.6.7-compact.json | 0 .../trycatch-0.6.0.sol-0.6.8-compact.json | 0 .../trycatch-0.6.0.sol-0.6.9-compact.json | 0 .../trycatch-0.6.0.sol-0.7.0-compact.json | 0 .../trycatch-0.6.0.sol-0.7.1-compact.json | 0 .../trycatch-0.6.0.sol-0.7.2-compact.json | 0 .../trycatch-0.6.0.sol-0.7.3-compact.json | 0 .../trycatch-0.6.0.sol-0.7.4-compact.json | 0 .../trycatch-0.6.0.sol-0.7.5-compact.json | 0 .../trycatch-0.6.0.sol-0.7.6-compact.json | 0 .../trycatch-0.6.0.sol-0.8.0-compact.json | 0 .../trycatch-0.6.0.sol-0.8.1-compact.json | 0 .../trycatch-0.6.0.sol-0.8.10-compact.json | 0 .../trycatch-0.6.0.sol-0.8.11-compact.json | 0 .../trycatch-0.6.0.sol-0.8.12-compact.json | 0 .../trycatch-0.6.0.sol-0.8.13-compact.json | 0 .../trycatch-0.6.0.sol-0.8.14-compact.json | 0 .../trycatch-0.6.0.sol-0.8.15-compact.json | 0 .../trycatch-0.6.0.sol-0.8.2-compact.json | 0 .../trycatch-0.6.0.sol-0.8.3-compact.json | 0 .../trycatch-0.6.0.sol-0.8.4-compact.json | 0 .../trycatch-0.6.0.sol-0.8.5-compact.json | 0 .../trycatch-0.6.0.sol-0.8.6-compact.json | 0 .../trycatch-0.6.0.sol-0.8.7-compact.json | 0 .../trycatch-0.6.0.sol-0.8.8-compact.json | 0 .../trycatch-0.6.0.sol-0.8.9-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.0-compact.json | 0 ...upleexpression-0.4.0.sol-0.4.0-legacy.json | 0 ...pleexpression-0.4.0.sol-0.4.1-compact.json | 0 ...upleexpression-0.4.0.sol-0.4.1-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.10-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.10-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.11-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.11-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.12-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.12-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.13-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.13-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.14-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.14-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.15-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.15-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.16-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.16-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.17-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.17-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.18-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.18-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.19-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.19-legacy.json | 0 ...pleexpression-0.4.0.sol-0.4.2-compact.json | 0 ...upleexpression-0.4.0.sol-0.4.2-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.20-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.20-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.21-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.21-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.22-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.22-legacy.json | 0 ...leexpression-0.4.0.sol-0.4.23-compact.json | 0 ...pleexpression-0.4.0.sol-0.4.23-legacy.json | 0 ...pleexpression-0.4.0.sol-0.4.3-compact.json | 0 ...upleexpression-0.4.0.sol-0.4.3-legacy.json | 0 ...pleexpression-0.4.0.sol-0.4.4-compact.json | 0 ...upleexpression-0.4.0.sol-0.4.4-legacy.json | 0 ...pleexpression-0.4.0.sol-0.4.5-compact.json | 0 ...upleexpression-0.4.0.sol-0.4.5-legacy.json | 0 ...pleexpression-0.4.0.sol-0.4.6-compact.json | 0 ...upleexpression-0.4.0.sol-0.4.6-legacy.json | 0 ...pleexpression-0.4.0.sol-0.4.7-compact.json | 0 ...upleexpression-0.4.0.sol-0.4.7-legacy.json | 0 ...pleexpression-0.4.0.sol-0.4.8-compact.json | 0 ...upleexpression-0.4.0.sol-0.4.8-legacy.json | 0 ...pleexpression-0.4.0.sol-0.4.9-compact.json | 0 ...upleexpression-0.4.0.sol-0.4.9-legacy.json | 0 ...eexpression-0.4.24.sol-0.4.24-compact.json | 0 ...leexpression-0.4.24.sol-0.4.24-legacy.json | 0 ...eexpression-0.4.24.sol-0.4.25-compact.json | 0 ...leexpression-0.4.24.sol-0.4.25-legacy.json | 0 ...eexpression-0.4.24.sol-0.4.26-compact.json | 0 ...leexpression-0.4.24.sol-0.4.26-legacy.json | 0 ...leexpression-0.4.24.sol-0.5.0-compact.json | 0 ...pleexpression-0.4.24.sol-0.5.0-legacy.json | 0 ...leexpression-0.4.24.sol-0.5.1-compact.json | 0 ...pleexpression-0.4.24.sol-0.5.1-legacy.json | 0 ...eexpression-0.4.24.sol-0.5.10-compact.json | 0 ...leexpression-0.4.24.sol-0.5.10-legacy.json | 0 ...eexpression-0.4.24.sol-0.5.11-compact.json | 0 ...leexpression-0.4.24.sol-0.5.11-legacy.json | 0 ...eexpression-0.4.24.sol-0.5.12-compact.json | 0 ...leexpression-0.4.24.sol-0.5.12-legacy.json | 0 ...eexpression-0.4.24.sol-0.5.13-compact.json | 0 ...leexpression-0.4.24.sol-0.5.13-legacy.json | 0 ...eexpression-0.4.24.sol-0.5.14-compact.json | 0 ...leexpression-0.4.24.sol-0.5.14-legacy.json | 0 ...eexpression-0.4.24.sol-0.5.15-compact.json | 0 ...leexpression-0.4.24.sol-0.5.15-legacy.json | 0 ...eexpression-0.4.24.sol-0.5.16-compact.json | 0 ...leexpression-0.4.24.sol-0.5.16-legacy.json | 0 ...eexpression-0.4.24.sol-0.5.17-compact.json | 0 ...leexpression-0.4.24.sol-0.5.17-legacy.json | 0 ...leexpression-0.4.24.sol-0.5.2-compact.json | 0 ...pleexpression-0.4.24.sol-0.5.2-legacy.json | 0 ...leexpression-0.4.24.sol-0.5.3-compact.json | 0 ...pleexpression-0.4.24.sol-0.5.3-legacy.json | 0 ...leexpression-0.4.24.sol-0.5.4-compact.json | 0 ...pleexpression-0.4.24.sol-0.5.4-legacy.json | 0 ...leexpression-0.4.24.sol-0.5.5-compact.json | 0 ...pleexpression-0.4.24.sol-0.5.5-legacy.json | 0 ...leexpression-0.4.24.sol-0.5.6-compact.json | 0 ...pleexpression-0.4.24.sol-0.5.6-legacy.json | 0 ...leexpression-0.4.24.sol-0.5.7-compact.json | 0 ...pleexpression-0.4.24.sol-0.5.7-legacy.json | 0 ...leexpression-0.4.24.sol-0.5.8-compact.json | 0 ...pleexpression-0.4.24.sol-0.5.8-legacy.json | 0 ...leexpression-0.4.24.sol-0.5.9-compact.json | 0 ...pleexpression-0.4.24.sol-0.5.9-legacy.json | 0 ...pleexpression-0.5.3.sol-0.5.3-compact.json | 0 ...upleexpression-0.5.3.sol-0.5.3-legacy.json | 0 ...pleexpression-0.5.3.sol-0.5.4-compact.json | 0 ...upleexpression-0.5.3.sol-0.5.4-legacy.json | 0 ...pleexpression-0.5.3.sol-0.5.5-compact.json | 0 ...upleexpression-0.5.3.sol-0.5.5-legacy.json | 0 ...pleexpression-0.5.3.sol-0.5.6-compact.json | 0 ...upleexpression-0.5.3.sol-0.5.6-legacy.json | 0 ...pleexpression-0.5.3.sol-0.5.7-compact.json | 0 ...upleexpression-0.5.3.sol-0.5.7-legacy.json | 0 ...pleexpression-0.5.3.sol-0.5.8-compact.json | 0 ...upleexpression-0.5.3.sol-0.5.8-legacy.json | 0 ...pleexpression-0.5.3.sol-0.5.9-compact.json | 0 ...upleexpression-0.5.3.sol-0.5.9-legacy.json | 0 ...pleexpression-0.5.3.sol-0.6.0-compact.json | 0 ...upleexpression-0.5.3.sol-0.6.0-legacy.json | 0 ...pleexpression-0.5.3.sol-0.6.1-compact.json | 0 ...upleexpression-0.5.3.sol-0.6.1-legacy.json | 0 ...leexpression-0.5.3.sol-0.6.10-compact.json | 0 ...pleexpression-0.5.3.sol-0.6.10-legacy.json | 0 ...leexpression-0.5.3.sol-0.6.11-compact.json | 0 ...pleexpression-0.5.3.sol-0.6.11-legacy.json | 0 ...leexpression-0.5.3.sol-0.6.12-compact.json | 0 ...pleexpression-0.5.3.sol-0.6.12-legacy.json | 0 ...pleexpression-0.5.3.sol-0.6.2-compact.json | 0 ...upleexpression-0.5.3.sol-0.6.2-legacy.json | 0 ...pleexpression-0.5.3.sol-0.6.3-compact.json | 0 ...upleexpression-0.5.3.sol-0.6.3-legacy.json | 0 ...pleexpression-0.5.3.sol-0.6.4-compact.json | 0 ...upleexpression-0.5.3.sol-0.6.4-legacy.json | 0 ...pleexpression-0.5.3.sol-0.6.5-compact.json | 0 ...upleexpression-0.5.3.sol-0.6.5-legacy.json | 0 ...pleexpression-0.5.3.sol-0.6.6-compact.json | 0 ...upleexpression-0.5.3.sol-0.6.6-legacy.json | 0 ...pleexpression-0.5.3.sol-0.6.7-compact.json | 0 ...upleexpression-0.5.3.sol-0.6.7-legacy.json | 0 ...pleexpression-0.5.3.sol-0.6.8-compact.json | 0 ...upleexpression-0.5.3.sol-0.6.8-legacy.json | 0 ...pleexpression-0.5.3.sol-0.6.9-compact.json | 0 ...upleexpression-0.5.3.sol-0.6.9-legacy.json | 0 ...pleexpression-0.5.3.sol-0.7.0-compact.json | 0 ...upleexpression-0.5.3.sol-0.7.0-legacy.json | 0 ...pleexpression-0.5.3.sol-0.7.1-compact.json | 0 ...upleexpression-0.5.3.sol-0.7.1-legacy.json | 0 ...pleexpression-0.5.3.sol-0.7.2-compact.json | 0 ...upleexpression-0.5.3.sol-0.7.2-legacy.json | 0 ...pleexpression-0.5.3.sol-0.7.3-compact.json | 0 ...upleexpression-0.5.3.sol-0.7.3-legacy.json | 0 ...pleexpression-0.5.3.sol-0.7.4-compact.json | 0 ...upleexpression-0.5.3.sol-0.7.4-legacy.json | 0 ...pleexpression-0.5.3.sol-0.7.5-compact.json | 0 ...upleexpression-0.5.3.sol-0.7.5-legacy.json | 0 ...pleexpression-0.5.3.sol-0.7.6-compact.json | 0 ...upleexpression-0.5.3.sol-0.7.6-legacy.json | 0 ...pleexpression-0.5.3.sol-0.8.0-compact.json | 0 ...pleexpression-0.5.3.sol-0.8.1-compact.json | 0 ...leexpression-0.5.3.sol-0.8.10-compact.json | 0 ...leexpression-0.5.3.sol-0.8.11-compact.json | 0 ...leexpression-0.5.3.sol-0.8.12-compact.json | 0 ...leexpression-0.5.3.sol-0.8.13-compact.json | 0 ...leexpression-0.5.3.sol-0.8.14-compact.json | 0 ...leexpression-0.5.3.sol-0.8.15-compact.json | 0 ...pleexpression-0.5.3.sol-0.8.2-compact.json | 0 ...pleexpression-0.5.3.sol-0.8.3-compact.json | 0 ...pleexpression-0.5.3.sol-0.8.4-compact.json | 0 ...pleexpression-0.5.3.sol-0.8.5-compact.json | 0 ...pleexpression-0.5.3.sol-0.8.6-compact.json | 0 ...pleexpression-0.5.3.sol-0.8.7-compact.json | 0 ...pleexpression-0.5.3.sol-0.8.8-compact.json | 0 ...pleexpression-0.5.3.sol-0.8.9-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.0-compact.json | 0 ...naryexpression-0.4.0.sol-0.4.0-legacy.json | 0 ...aryexpression-0.4.0.sol-0.4.1-compact.json | 0 ...naryexpression-0.4.0.sol-0.4.1-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.10-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.10-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.11-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.11-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.12-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.12-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.13-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.13-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.14-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.14-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.15-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.15-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.16-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.16-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.17-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.17-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.18-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.18-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.19-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.19-legacy.json | 0 ...aryexpression-0.4.0.sol-0.4.2-compact.json | 0 ...naryexpression-0.4.0.sol-0.4.2-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.20-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.20-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.21-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.21-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.22-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.22-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.23-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.23-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.24-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.24-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.25-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.25-legacy.json | 0 ...ryexpression-0.4.0.sol-0.4.26-compact.json | 0 ...aryexpression-0.4.0.sol-0.4.26-legacy.json | 0 ...aryexpression-0.4.0.sol-0.4.3-compact.json | 0 ...naryexpression-0.4.0.sol-0.4.3-legacy.json | 0 ...aryexpression-0.4.0.sol-0.4.4-compact.json | 0 ...naryexpression-0.4.0.sol-0.4.4-legacy.json | 0 ...aryexpression-0.4.0.sol-0.4.5-compact.json | 0 ...naryexpression-0.4.0.sol-0.4.5-legacy.json | 0 ...aryexpression-0.4.0.sol-0.4.6-compact.json | 0 ...naryexpression-0.4.0.sol-0.4.6-legacy.json | 0 ...aryexpression-0.4.0.sol-0.4.7-compact.json | 0 ...naryexpression-0.4.0.sol-0.4.7-legacy.json | 0 ...aryexpression-0.4.0.sol-0.4.8-compact.json | 0 ...naryexpression-0.4.0.sol-0.4.8-legacy.json | 0 ...aryexpression-0.4.0.sol-0.4.9-compact.json | 0 ...naryexpression-0.4.0.sol-0.4.9-legacy.json | 0 ...aryexpression-0.5.0.sol-0.5.0-compact.json | 0 ...naryexpression-0.5.0.sol-0.5.0-legacy.json | 0 ...aryexpression-0.5.0.sol-0.5.1-compact.json | 0 ...naryexpression-0.5.0.sol-0.5.1-legacy.json | 0 ...ryexpression-0.5.0.sol-0.5.10-compact.json | 0 ...aryexpression-0.5.0.sol-0.5.10-legacy.json | 0 ...ryexpression-0.5.0.sol-0.5.11-compact.json | 0 ...aryexpression-0.5.0.sol-0.5.11-legacy.json | 0 ...ryexpression-0.5.0.sol-0.5.12-compact.json | 0 ...aryexpression-0.5.0.sol-0.5.12-legacy.json | 0 ...ryexpression-0.5.0.sol-0.5.13-compact.json | 0 ...aryexpression-0.5.0.sol-0.5.13-legacy.json | 0 ...ryexpression-0.5.0.sol-0.5.14-compact.json | 0 ...aryexpression-0.5.0.sol-0.5.14-legacy.json | 0 ...ryexpression-0.5.0.sol-0.5.15-compact.json | 0 ...aryexpression-0.5.0.sol-0.5.15-legacy.json | 0 ...ryexpression-0.5.0.sol-0.5.16-compact.json | 0 ...aryexpression-0.5.0.sol-0.5.16-legacy.json | 0 ...ryexpression-0.5.0.sol-0.5.17-compact.json | 0 ...aryexpression-0.5.0.sol-0.5.17-legacy.json | 0 ...aryexpression-0.5.0.sol-0.5.2-compact.json | 0 ...naryexpression-0.5.0.sol-0.5.2-legacy.json | 0 ...aryexpression-0.5.0.sol-0.5.3-compact.json | 0 ...naryexpression-0.5.0.sol-0.5.3-legacy.json | 0 ...aryexpression-0.5.0.sol-0.5.4-compact.json | 0 ...naryexpression-0.5.0.sol-0.5.4-legacy.json | 0 ...aryexpression-0.5.0.sol-0.5.5-compact.json | 0 ...naryexpression-0.5.0.sol-0.5.5-legacy.json | 0 ...aryexpression-0.5.0.sol-0.5.6-compact.json | 0 ...naryexpression-0.5.0.sol-0.5.6-legacy.json | 0 ...aryexpression-0.5.0.sol-0.5.7-compact.json | 0 ...naryexpression-0.5.0.sol-0.5.7-legacy.json | 0 ...aryexpression-0.5.0.sol-0.5.8-compact.json | 0 ...naryexpression-0.5.0.sol-0.5.8-legacy.json | 0 ...aryexpression-0.5.0.sol-0.5.9-compact.json | 0 ...naryexpression-0.5.0.sol-0.5.9-legacy.json | 0 ...aryexpression-0.5.0.sol-0.6.0-compact.json | 0 ...naryexpression-0.5.0.sol-0.6.0-legacy.json | 0 ...aryexpression-0.5.0.sol-0.6.1-compact.json | 0 ...naryexpression-0.5.0.sol-0.6.1-legacy.json | 0 ...ryexpression-0.5.0.sol-0.6.10-compact.json | 0 ...aryexpression-0.5.0.sol-0.6.10-legacy.json | 0 ...ryexpression-0.5.0.sol-0.6.11-compact.json | 0 ...aryexpression-0.5.0.sol-0.6.11-legacy.json | 0 ...ryexpression-0.5.0.sol-0.6.12-compact.json | 0 ...aryexpression-0.5.0.sol-0.6.12-legacy.json | 0 ...aryexpression-0.5.0.sol-0.6.2-compact.json | 0 ...naryexpression-0.5.0.sol-0.6.2-legacy.json | 0 ...aryexpression-0.5.0.sol-0.6.3-compact.json | 0 ...naryexpression-0.5.0.sol-0.6.3-legacy.json | 0 ...aryexpression-0.5.0.sol-0.6.4-compact.json | 0 ...naryexpression-0.5.0.sol-0.6.4-legacy.json | 0 ...aryexpression-0.5.0.sol-0.6.5-compact.json | 0 ...naryexpression-0.5.0.sol-0.6.5-legacy.json | 0 ...aryexpression-0.5.0.sol-0.6.6-compact.json | 0 ...naryexpression-0.5.0.sol-0.6.6-legacy.json | 0 ...aryexpression-0.5.0.sol-0.6.7-compact.json | 0 ...naryexpression-0.5.0.sol-0.6.7-legacy.json | 0 ...aryexpression-0.5.0.sol-0.6.8-compact.json | 0 ...naryexpression-0.5.0.sol-0.6.8-legacy.json | 0 ...aryexpression-0.5.0.sol-0.6.9-compact.json | 0 ...naryexpression-0.5.0.sol-0.6.9-legacy.json | 0 ...aryexpression-0.5.0.sol-0.7.0-compact.json | 0 ...naryexpression-0.5.0.sol-0.7.0-legacy.json | 0 ...aryexpression-0.5.0.sol-0.7.1-compact.json | 0 ...naryexpression-0.5.0.sol-0.7.1-legacy.json | 0 ...aryexpression-0.5.0.sol-0.7.2-compact.json | 0 ...naryexpression-0.5.0.sol-0.7.2-legacy.json | 0 ...aryexpression-0.5.0.sol-0.7.3-compact.json | 0 ...naryexpression-0.5.0.sol-0.7.3-legacy.json | 0 ...aryexpression-0.5.0.sol-0.7.4-compact.json | 0 ...naryexpression-0.5.0.sol-0.7.4-legacy.json | 0 ...aryexpression-0.5.0.sol-0.7.5-compact.json | 0 ...naryexpression-0.5.0.sol-0.7.5-legacy.json | 0 ...aryexpression-0.5.0.sol-0.7.6-compact.json | 0 ...naryexpression-0.5.0.sol-0.7.6-legacy.json | 0 ...aryexpression-0.5.0.sol-0.8.0-compact.json | 0 ...aryexpression-0.5.0.sol-0.8.1-compact.json | 0 ...ryexpression-0.5.0.sol-0.8.10-compact.json | 0 ...ryexpression-0.5.0.sol-0.8.11-compact.json | 0 ...ryexpression-0.5.0.sol-0.8.12-compact.json | 0 ...ryexpression-0.5.0.sol-0.8.13-compact.json | 0 ...ryexpression-0.5.0.sol-0.8.14-compact.json | 0 ...ryexpression-0.5.0.sol-0.8.15-compact.json | 0 ...aryexpression-0.5.0.sol-0.8.2-compact.json | 0 ...aryexpression-0.5.0.sol-0.8.3-compact.json | 0 ...aryexpression-0.5.0.sol-0.8.4-compact.json | 0 ...aryexpression-0.5.0.sol-0.8.5-compact.json | 0 ...aryexpression-0.5.0.sol-0.8.6-compact.json | 0 ...aryexpression-0.5.0.sol-0.8.7-compact.json | 0 ...aryexpression-0.5.0.sol-0.8.8-compact.json | 0 ...aryexpression-0.5.0.sol-0.8.9-compact.json | 0 .../unchecked-0.4.0.sol-0.4.0-compact.json | 0 .../unchecked-0.4.0.sol-0.4.0-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.1-compact.json | 0 .../unchecked-0.4.0.sol-0.4.1-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.10-compact.json | 0 .../unchecked-0.4.0.sol-0.4.10-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.11-compact.json | 0 .../unchecked-0.4.0.sol-0.4.11-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.12-compact.json | 0 .../unchecked-0.4.0.sol-0.4.12-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.13-compact.json | 0 .../unchecked-0.4.0.sol-0.4.13-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.14-compact.json | 0 .../unchecked-0.4.0.sol-0.4.14-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.15-compact.json | 0 .../unchecked-0.4.0.sol-0.4.15-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.16-compact.json | 0 .../unchecked-0.4.0.sol-0.4.16-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.17-compact.json | 0 .../unchecked-0.4.0.sol-0.4.17-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.18-compact.json | 0 .../unchecked-0.4.0.sol-0.4.18-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.19-compact.json | 0 .../unchecked-0.4.0.sol-0.4.19-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.2-compact.json | 0 .../unchecked-0.4.0.sol-0.4.2-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.20-compact.json | 0 .../unchecked-0.4.0.sol-0.4.20-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.21-compact.json | 0 .../unchecked-0.4.0.sol-0.4.21-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.22-compact.json | 0 .../unchecked-0.4.0.sol-0.4.22-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.23-compact.json | 0 .../unchecked-0.4.0.sol-0.4.23-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.24-compact.json | 0 .../unchecked-0.4.0.sol-0.4.24-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.25-compact.json | 0 .../unchecked-0.4.0.sol-0.4.25-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.26-compact.json | 0 .../unchecked-0.4.0.sol-0.4.26-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.3-compact.json | 0 .../unchecked-0.4.0.sol-0.4.3-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.4-compact.json | 0 .../unchecked-0.4.0.sol-0.4.4-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.5-compact.json | 0 .../unchecked-0.4.0.sol-0.4.5-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.6-compact.json | 0 .../unchecked-0.4.0.sol-0.4.6-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.7-compact.json | 0 .../unchecked-0.4.0.sol-0.4.7-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.8-compact.json | 0 .../unchecked-0.4.0.sol-0.4.8-legacy.json | 0 .../unchecked-0.4.0.sol-0.4.9-compact.json | 0 .../unchecked-0.4.0.sol-0.4.9-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.0-compact.json | 0 .../unchecked-0.4.0.sol-0.5.0-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.1-compact.json | 0 .../unchecked-0.4.0.sol-0.5.1-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.10-compact.json | 0 .../unchecked-0.4.0.sol-0.5.10-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.11-compact.json | 0 .../unchecked-0.4.0.sol-0.5.11-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.12-compact.json | 0 .../unchecked-0.4.0.sol-0.5.12-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.13-compact.json | 0 .../unchecked-0.4.0.sol-0.5.13-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.14-compact.json | 0 .../unchecked-0.4.0.sol-0.5.14-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.15-compact.json | 0 .../unchecked-0.4.0.sol-0.5.15-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.16-compact.json | 0 .../unchecked-0.4.0.sol-0.5.16-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.17-compact.json | 0 .../unchecked-0.4.0.sol-0.5.17-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.2-compact.json | 0 .../unchecked-0.4.0.sol-0.5.2-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.3-compact.json | 0 .../unchecked-0.4.0.sol-0.5.3-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.4-compact.json | 0 .../unchecked-0.4.0.sol-0.5.4-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.5-compact.json | 0 .../unchecked-0.4.0.sol-0.5.5-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.6-compact.json | 0 .../unchecked-0.4.0.sol-0.5.6-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.7-compact.json | 0 .../unchecked-0.4.0.sol-0.5.7-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.8-compact.json | 0 .../unchecked-0.4.0.sol-0.5.8-legacy.json | 0 .../unchecked-0.4.0.sol-0.5.9-compact.json | 0 .../unchecked-0.4.0.sol-0.5.9-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.0-compact.json | 0 .../unchecked-0.4.0.sol-0.6.0-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.1-compact.json | 0 .../unchecked-0.4.0.sol-0.6.1-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.10-compact.json | 0 .../unchecked-0.4.0.sol-0.6.10-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.11-compact.json | 0 .../unchecked-0.4.0.sol-0.6.11-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.12-compact.json | 0 .../unchecked-0.4.0.sol-0.6.12-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.2-compact.json | 0 .../unchecked-0.4.0.sol-0.6.2-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.3-compact.json | 0 .../unchecked-0.4.0.sol-0.6.3-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.4-compact.json | 0 .../unchecked-0.4.0.sol-0.6.4-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.5-compact.json | 0 .../unchecked-0.4.0.sol-0.6.5-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.6-compact.json | 0 .../unchecked-0.4.0.sol-0.6.6-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.7-compact.json | 0 .../unchecked-0.4.0.sol-0.6.7-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.8-compact.json | 0 .../unchecked-0.4.0.sol-0.6.8-legacy.json | 0 .../unchecked-0.4.0.sol-0.6.9-compact.json | 0 .../unchecked-0.4.0.sol-0.6.9-legacy.json | 0 .../unchecked-0.4.0.sol-0.7.0-compact.json | 0 .../unchecked-0.4.0.sol-0.7.0-legacy.json | 0 .../unchecked-0.4.0.sol-0.7.1-compact.json | 0 .../unchecked-0.4.0.sol-0.7.1-legacy.json | 0 .../unchecked-0.4.0.sol-0.7.2-compact.json | 0 .../unchecked-0.4.0.sol-0.7.2-legacy.json | 0 .../unchecked-0.4.0.sol-0.7.3-compact.json | 0 .../unchecked-0.4.0.sol-0.7.3-legacy.json | 0 .../unchecked-0.4.0.sol-0.7.4-compact.json | 0 .../unchecked-0.4.0.sol-0.7.4-legacy.json | 0 .../unchecked-0.4.0.sol-0.7.5-compact.json | 0 .../unchecked-0.4.0.sol-0.7.5-legacy.json | 0 .../unchecked-0.4.0.sol-0.7.6-compact.json | 0 .../unchecked-0.4.0.sol-0.7.6-legacy.json | 0 .../unchecked-0.8.0.sol-0.8.0-compact.json | 0 .../unchecked-0.8.0.sol-0.8.1-compact.json | 0 .../unchecked-0.8.0.sol-0.8.10-compact.json | 0 .../unchecked-0.8.0.sol-0.8.11-compact.json | 0 .../unchecked-0.8.0.sol-0.8.12-compact.json | 0 .../unchecked-0.8.0.sol-0.8.13-compact.json | 0 .../unchecked-0.8.0.sol-0.8.14-compact.json | 0 .../unchecked-0.8.0.sol-0.8.15-compact.json | 0 .../unchecked-0.8.0.sol-0.8.2-compact.json | 0 .../unchecked-0.8.0.sol-0.8.3-compact.json | 0 .../unchecked-0.8.0.sol-0.8.4-compact.json | 0 .../unchecked-0.8.0.sol-0.8.5-compact.json | 0 .../unchecked-0.8.0.sol-0.8.6-compact.json | 0 .../unchecked-0.8.0.sol-0.8.7-compact.json | 0 .../unchecked-0.8.0.sol-0.8.8-compact.json | 0 .../unchecked-0.8.0.sol-0.8.9-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.0-compact.json | 0 ...obal_variables-0.4.0.sol-0.4.0-legacy.json | 0 ...bal_variables-0.4.0.sol-0.4.1-compact.json | 0 ...obal_variables-0.4.0.sol-0.4.1-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.10-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.10-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.11-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.11-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.12-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.12-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.13-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.13-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.14-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.14-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.15-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.15-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.16-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.16-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.17-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.17-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.18-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.18-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.19-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.19-legacy.json | 0 ...bal_variables-0.4.0.sol-0.4.2-compact.json | 0 ...obal_variables-0.4.0.sol-0.4.2-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.20-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.20-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.21-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.21-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.22-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.22-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.23-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.23-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.24-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.24-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.25-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.25-legacy.json | 0 ...al_variables-0.4.0.sol-0.4.26-compact.json | 0 ...bal_variables-0.4.0.sol-0.4.26-legacy.json | 0 ...bal_variables-0.4.0.sol-0.4.3-compact.json | 0 ...obal_variables-0.4.0.sol-0.4.3-legacy.json | 0 ...bal_variables-0.4.0.sol-0.4.4-compact.json | 0 ...obal_variables-0.4.0.sol-0.4.4-legacy.json | 0 ...bal_variables-0.4.0.sol-0.4.5-compact.json | 0 ...obal_variables-0.4.0.sol-0.4.5-legacy.json | 0 ...bal_variables-0.4.0.sol-0.4.6-compact.json | 0 ...obal_variables-0.4.0.sol-0.4.6-legacy.json | 0 ...bal_variables-0.4.0.sol-0.4.7-compact.json | 0 ...obal_variables-0.4.0.sol-0.4.7-legacy.json | 0 ...bal_variables-0.4.0.sol-0.4.8-compact.json | 0 ...obal_variables-0.4.0.sol-0.4.8-legacy.json | 0 ...bal_variables-0.4.0.sol-0.4.9-compact.json | 0 ...obal_variables-0.4.0.sol-0.4.9-legacy.json | 0 ...bal_variables-0.5.0.sol-0.5.0-compact.json | 0 ...obal_variables-0.5.0.sol-0.5.0-legacy.json | 0 ...bal_variables-0.5.0.sol-0.5.1-compact.json | 0 ...obal_variables-0.5.0.sol-0.5.1-legacy.json | 0 ...bal_variables-0.5.0.sol-0.5.2-compact.json | 0 ...obal_variables-0.5.0.sol-0.5.2-legacy.json | 0 ...bal_variables-0.5.0.sol-0.5.3-compact.json | 0 ...obal_variables-0.5.0.sol-0.5.3-legacy.json | 0 ...al_variables-0.5.4.sol-0.5.10-compact.json | 0 ...bal_variables-0.5.4.sol-0.5.10-legacy.json | 0 ...al_variables-0.5.4.sol-0.5.11-compact.json | 0 ...bal_variables-0.5.4.sol-0.5.11-legacy.json | 0 ...al_variables-0.5.4.sol-0.5.12-compact.json | 0 ...bal_variables-0.5.4.sol-0.5.12-legacy.json | 0 ...al_variables-0.5.4.sol-0.5.13-compact.json | 0 ...bal_variables-0.5.4.sol-0.5.13-legacy.json | 0 ...al_variables-0.5.4.sol-0.5.14-compact.json | 0 ...bal_variables-0.5.4.sol-0.5.14-legacy.json | 0 ...al_variables-0.5.4.sol-0.5.15-compact.json | 0 ...bal_variables-0.5.4.sol-0.5.15-legacy.json | 0 ...al_variables-0.5.4.sol-0.5.16-compact.json | 0 ...bal_variables-0.5.4.sol-0.5.16-legacy.json | 0 ...al_variables-0.5.4.sol-0.5.17-compact.json | 0 ...bal_variables-0.5.4.sol-0.5.17-legacy.json | 0 ...bal_variables-0.5.4.sol-0.5.4-compact.json | 0 ...obal_variables-0.5.4.sol-0.5.4-legacy.json | 0 ...bal_variables-0.5.4.sol-0.5.5-compact.json | 0 ...obal_variables-0.5.4.sol-0.5.5-legacy.json | 0 ...bal_variables-0.5.4.sol-0.5.6-compact.json | 0 ...obal_variables-0.5.4.sol-0.5.6-legacy.json | 0 ...bal_variables-0.5.4.sol-0.5.7-compact.json | 0 ...obal_variables-0.5.4.sol-0.5.7-legacy.json | 0 ...bal_variables-0.5.4.sol-0.5.8-compact.json | 0 ...obal_variables-0.5.4.sol-0.5.8-legacy.json | 0 ...bal_variables-0.5.4.sol-0.5.9-compact.json | 0 ...obal_variables-0.5.4.sol-0.5.9-legacy.json | 0 ...bal_variables-0.6.0.sol-0.6.0-compact.json | 0 ...obal_variables-0.6.0.sol-0.6.0-legacy.json | 0 ...bal_variables-0.6.0.sol-0.6.1-compact.json | 0 ...obal_variables-0.6.0.sol-0.6.1-legacy.json | 0 ...al_variables-0.6.0.sol-0.6.10-compact.json | 0 ...bal_variables-0.6.0.sol-0.6.10-legacy.json | 0 ...al_variables-0.6.0.sol-0.6.11-compact.json | 0 ...bal_variables-0.6.0.sol-0.6.11-legacy.json | 0 ...al_variables-0.6.0.sol-0.6.12-compact.json | 0 ...bal_variables-0.6.0.sol-0.6.12-legacy.json | 0 ...bal_variables-0.6.0.sol-0.6.2-compact.json | 0 ...obal_variables-0.6.0.sol-0.6.2-legacy.json | 0 ...bal_variables-0.6.0.sol-0.6.3-compact.json | 0 ...obal_variables-0.6.0.sol-0.6.3-legacy.json | 0 ...bal_variables-0.6.0.sol-0.6.4-compact.json | 0 ...obal_variables-0.6.0.sol-0.6.4-legacy.json | 0 ...bal_variables-0.6.0.sol-0.6.5-compact.json | 0 ...obal_variables-0.6.0.sol-0.6.5-legacy.json | 0 ...bal_variables-0.6.0.sol-0.6.6-compact.json | 0 ...obal_variables-0.6.0.sol-0.6.6-legacy.json | 0 ...bal_variables-0.6.0.sol-0.6.7-compact.json | 0 ...obal_variables-0.6.0.sol-0.6.7-legacy.json | 0 ...bal_variables-0.6.0.sol-0.6.8-compact.json | 0 ...obal_variables-0.6.0.sol-0.6.8-legacy.json | 0 ...bal_variables-0.6.0.sol-0.6.9-compact.json | 0 ...obal_variables-0.6.0.sol-0.6.9-legacy.json | 0 ...bal_variables-0.7.0.sol-0.7.0-compact.json | 0 ...obal_variables-0.7.0.sol-0.7.0-legacy.json | 0 ...bal_variables-0.7.0.sol-0.7.1-compact.json | 0 ...obal_variables-0.7.0.sol-0.7.1-legacy.json | 0 ...bal_variables-0.7.0.sol-0.7.2-compact.json | 0 ...obal_variables-0.7.0.sol-0.7.2-legacy.json | 0 ...bal_variables-0.7.0.sol-0.7.3-compact.json | 0 ...obal_variables-0.7.0.sol-0.7.3-legacy.json | 0 ...bal_variables-0.7.0.sol-0.7.4-compact.json | 0 ...obal_variables-0.7.0.sol-0.7.4-legacy.json | 0 ...bal_variables-0.7.0.sol-0.7.5-compact.json | 0 ...obal_variables-0.7.0.sol-0.7.5-legacy.json | 0 ...bal_variables-0.7.0.sol-0.7.6-compact.json | 0 ...obal_variables-0.7.0.sol-0.7.6-legacy.json | 0 ...bal_variables-0.8.0.sol-0.8.0-compact.json | 0 ...bal_variables-0.8.0.sol-0.8.1-compact.json | 0 ...al_variables-0.8.0.sol-0.8.10-compact.json | 0 ...al_variables-0.8.0.sol-0.8.11-compact.json | 0 ...al_variables-0.8.0.sol-0.8.12-compact.json | 0 ...al_variables-0.8.0.sol-0.8.13-compact.json | 0 ...al_variables-0.8.0.sol-0.8.14-compact.json | 0 ...al_variables-0.8.0.sol-0.8.15-compact.json | 0 ...bal_variables-0.8.0.sol-0.8.2-compact.json | 0 ...bal_variables-0.8.0.sol-0.8.3-compact.json | 0 ...bal_variables-0.8.0.sol-0.8.4-compact.json | 0 ...bal_variables-0.8.0.sol-0.8.5-compact.json | 0 ...bal_variables-0.8.0.sol-0.8.6-compact.json | 0 ...bal_variables-0.8.0.sol-0.8.7-compact.json | 0 ...bal_variables-0.8.0.sol-0.8.8-compact.json | 0 ...bal_variables-0.8.0.sol-0.8.9-compact.json | 0 ...bal_variables-0.8.4.sol-0.8.4-compact.json | 0 ...bal_variables-0.8.4.sol-0.8.5-compact.json | 0 ...bal_variables-0.8.4.sol-0.8.6-compact.json | 0 ...bal_variables-0.8.7.sol-0.8.7-compact.json | 0 ...bal_variables-0.8.7.sol-0.8.8-compact.json | 0 ...bal_variables-0.8.7.sol-0.8.9-compact.json | 0 ...user_defined_types.sol-0.8.10-compact.json | 0 ...user_defined_types.sol-0.8.11-compact.json | 0 ...user_defined_types.sol-0.8.12-compact.json | 0 .../user_defined_types.sol-0.8.8-compact.json | 0 .../argument-0.8.8.sol-0.8.10-compact.json | 0 .../argument-0.8.8.sol-0.8.11-compact.json | 0 .../argument-0.8.8.sol-0.8.12-compact.json | 0 .../argument-0.8.8.sol-0.8.13-compact.json | 0 .../argument-0.8.8.sol-0.8.14-compact.json | 0 .../argument-0.8.8.sol-0.8.15-compact.json | 0 .../argument-0.8.8.sol-0.8.8-compact.json | 0 .../calldata-0.8.8.sol-0.8.10-compact.json | 0 .../calldata-0.8.8.sol-0.8.11-compact.json | 0 .../calldata-0.8.8.sol-0.8.12-compact.json | 0 .../calldata-0.8.8.sol-0.8.13-compact.json | 0 .../calldata-0.8.8.sol-0.8.14-compact.json | 0 .../calldata-0.8.8.sol-0.8.15-compact.json | 0 .../calldata-0.8.8.sol-0.8.8-compact.json | 0 .../constant-0.8.8.sol-0.8.10-compact.json | 0 .../constant-0.8.8.sol-0.8.11-compact.json | 0 .../constant-0.8.8.sol-0.8.12-compact.json | 0 .../constant-0.8.8.sol-0.8.13-compact.json | 0 .../constant-0.8.8.sol-0.8.14-compact.json | 0 .../constant-0.8.8.sol-0.8.15-compact.json | 0 .../constant-0.8.8.sol-0.8.8-compact.json | 0 .../erc20-0.8.8.sol-0.8.10-compact.json | 0 .../erc20-0.8.8.sol-0.8.11-compact.json | 0 .../erc20-0.8.8.sol-0.8.12-compact.json | 0 .../erc20-0.8.8.sol-0.8.13-compact.json | 0 .../erc20-0.8.8.sol-0.8.14-compact.json | 0 .../erc20-0.8.8.sol-0.8.15-compact.json | 0 .../erc20-0.8.8.sol-0.8.8-compact.json | 0 ..._parenthesis-0.8.8.sol-0.8.10-compact.json | 0 ..._parenthesis-0.8.8.sol-0.8.11-compact.json | 0 ..._parenthesis-0.8.8.sol-0.8.12-compact.json | 0 ..._parenthesis-0.8.8.sol-0.8.13-compact.json | 0 ..._parenthesis-0.8.8.sol-0.8.14-compact.json | 0 ..._parenthesis-0.8.8.sol-0.8.15-compact.json | 0 ...n_parenthesis-0.8.8.sol-0.8.8-compact.json | 0 .../top-level-0.8.8.sol-0.8.10-compact.json | 0 .../top-level-0.8.8.sol-0.8.11-compact.json | 0 .../top-level-0.8.8.sol-0.8.12-compact.json | 0 .../top-level-0.8.8.sol-0.8.13-compact.json | 0 .../top-level-0.8.8.sol-0.8.14-compact.json | 0 .../top-level-0.8.8.sol-0.8.15-compact.json | 0 .../top-level-0.8.8.sol-0.8.8-compact.json | 0 ...efined_types-0.8.8.sol-0.8.10-compact.json | 0 ...efined_types-0.8.8.sol-0.8.11-compact.json | 0 ...efined_types-0.8.8.sol-0.8.12-compact.json | 0 ...efined_types-0.8.8.sol-0.8.13-compact.json | 0 ...efined_types-0.8.8.sol-0.8.14-compact.json | 0 ...efined_types-0.8.8.sol-0.8.15-compact.json | 0 ...defined_types-0.8.8.sol-0.8.8-compact.json | 0 .../using-for-0.8.8.sol-0.8.10-compact.json | 0 .../using-for-0.8.8.sol-0.8.11-compact.json | 0 .../using-for-0.8.8.sol-0.8.12-compact.json | 0 .../using-for-0.8.8.sol-0.8.13-compact.json | 0 .../using-for-0.8.8.sol-0.8.14-compact.json | 0 .../using-for-0.8.8.sol-0.8.15-compact.json | 0 .../using-for-0.8.8.sol-0.8.8-compact.json | 0 .../using-for-0.4.0.sol-0.4.0-compact.json | 0 .../using-for-0.4.0.sol-0.4.0-legacy.json | 0 .../using-for-0.4.1.sol-0.4.1-compact.json | 0 .../using-for-0.4.1.sol-0.4.1-legacy.json | 0 .../using-for-0.4.1.sol-0.4.10-compact.json | 0 .../using-for-0.4.1.sol-0.4.10-legacy.json | 0 .../using-for-0.4.1.sol-0.4.11-compact.json | 0 .../using-for-0.4.1.sol-0.4.11-legacy.json | 0 .../using-for-0.4.1.sol-0.4.12-compact.json | 0 .../using-for-0.4.1.sol-0.4.12-legacy.json | 0 .../using-for-0.4.1.sol-0.4.13-compact.json | 0 .../using-for-0.4.1.sol-0.4.13-legacy.json | 0 .../using-for-0.4.1.sol-0.4.14-compact.json | 0 .../using-for-0.4.1.sol-0.4.14-legacy.json | 0 .../using-for-0.4.1.sol-0.4.15-compact.json | 0 .../using-for-0.4.1.sol-0.4.15-legacy.json | 0 .../using-for-0.4.1.sol-0.4.16-compact.json | 0 .../using-for-0.4.1.sol-0.4.16-legacy.json | 0 .../using-for-0.4.1.sol-0.4.17-compact.json | 0 .../using-for-0.4.1.sol-0.4.17-legacy.json | 0 .../using-for-0.4.1.sol-0.4.18-compact.json | 0 .../using-for-0.4.1.sol-0.4.18-legacy.json | 0 .../using-for-0.4.1.sol-0.4.19-compact.json | 0 .../using-for-0.4.1.sol-0.4.19-legacy.json | 0 .../using-for-0.4.1.sol-0.4.2-compact.json | 0 .../using-for-0.4.1.sol-0.4.2-legacy.json | 0 .../using-for-0.4.1.sol-0.4.20-compact.json | 0 .../using-for-0.4.1.sol-0.4.20-legacy.json | 0 .../using-for-0.4.1.sol-0.4.21-compact.json | 0 .../using-for-0.4.1.sol-0.4.21-legacy.json | 0 .../using-for-0.4.1.sol-0.4.22-compact.json | 0 .../using-for-0.4.1.sol-0.4.22-legacy.json | 0 .../using-for-0.4.1.sol-0.4.23-compact.json | 0 .../using-for-0.4.1.sol-0.4.23-legacy.json | 0 .../using-for-0.4.1.sol-0.4.24-compact.json | 0 .../using-for-0.4.1.sol-0.4.24-legacy.json | 0 .../using-for-0.4.1.sol-0.4.25-compact.json | 0 .../using-for-0.4.1.sol-0.4.25-legacy.json | 0 .../using-for-0.4.1.sol-0.4.26-compact.json | 0 .../using-for-0.4.1.sol-0.4.26-legacy.json | 0 .../using-for-0.4.1.sol-0.4.3-compact.json | 0 .../using-for-0.4.1.sol-0.4.3-legacy.json | 0 .../using-for-0.4.1.sol-0.4.4-compact.json | 0 .../using-for-0.4.1.sol-0.4.4-legacy.json | 0 .../using-for-0.4.1.sol-0.4.5-compact.json | 0 .../using-for-0.4.1.sol-0.4.5-legacy.json | 0 .../using-for-0.4.1.sol-0.4.6-compact.json | 0 .../using-for-0.4.1.sol-0.4.6-legacy.json | 0 .../using-for-0.4.1.sol-0.4.7-compact.json | 0 .../using-for-0.4.1.sol-0.4.7-legacy.json | 0 .../using-for-0.4.1.sol-0.4.8-compact.json | 0 .../using-for-0.4.1.sol-0.4.8-legacy.json | 0 .../using-for-0.4.1.sol-0.4.9-compact.json | 0 .../using-for-0.4.1.sol-0.4.9-legacy.json | 0 .../using-for-0.4.1.sol-0.5.0-compact.json | 0 .../using-for-0.4.1.sol-0.5.0-legacy.json | 0 .../using-for-0.4.1.sol-0.5.1-compact.json | 0 .../using-for-0.4.1.sol-0.5.1-legacy.json | 0 .../using-for-0.4.1.sol-0.5.10-compact.json | 0 .../using-for-0.4.1.sol-0.5.10-legacy.json | 0 .../using-for-0.4.1.sol-0.5.11-compact.json | 0 .../using-for-0.4.1.sol-0.5.11-legacy.json | 0 .../using-for-0.4.1.sol-0.5.12-compact.json | 0 .../using-for-0.4.1.sol-0.5.12-legacy.json | 0 .../using-for-0.4.1.sol-0.5.13-compact.json | 0 .../using-for-0.4.1.sol-0.5.13-legacy.json | 0 .../using-for-0.4.1.sol-0.5.14-compact.json | 0 .../using-for-0.4.1.sol-0.5.14-legacy.json | 0 .../using-for-0.4.1.sol-0.5.15-compact.json | 0 .../using-for-0.4.1.sol-0.5.15-legacy.json | 0 .../using-for-0.4.1.sol-0.5.16-compact.json | 0 .../using-for-0.4.1.sol-0.5.16-legacy.json | 0 .../using-for-0.4.1.sol-0.5.17-compact.json | 0 .../using-for-0.4.1.sol-0.5.17-legacy.json | 0 .../using-for-0.4.1.sol-0.5.2-compact.json | 0 .../using-for-0.4.1.sol-0.5.2-legacy.json | 0 .../using-for-0.4.1.sol-0.5.3-compact.json | 0 .../using-for-0.4.1.sol-0.5.3-legacy.json | 0 .../using-for-0.4.1.sol-0.5.4-compact.json | 0 .../using-for-0.4.1.sol-0.5.4-legacy.json | 0 .../using-for-0.4.1.sol-0.5.5-compact.json | 0 .../using-for-0.4.1.sol-0.5.5-legacy.json | 0 .../using-for-0.4.1.sol-0.5.6-compact.json | 0 .../using-for-0.4.1.sol-0.5.6-legacy.json | 0 .../using-for-0.4.1.sol-0.5.7-compact.json | 0 .../using-for-0.4.1.sol-0.5.7-legacy.json | 0 .../using-for-0.4.1.sol-0.5.8-compact.json | 0 .../using-for-0.4.1.sol-0.5.8-legacy.json | 0 .../using-for-0.4.1.sol-0.5.9-compact.json | 0 .../using-for-0.4.1.sol-0.5.9-legacy.json | 0 .../using-for-0.4.1.sol-0.6.0-compact.json | 0 .../using-for-0.4.1.sol-0.6.0-legacy.json | 0 .../using-for-0.4.1.sol-0.6.1-compact.json | 0 .../using-for-0.4.1.sol-0.6.1-legacy.json | 0 .../using-for-0.4.1.sol-0.6.10-compact.json | 0 .../using-for-0.4.1.sol-0.6.10-legacy.json | 0 .../using-for-0.4.1.sol-0.6.11-compact.json | 0 .../using-for-0.4.1.sol-0.6.11-legacy.json | 0 .../using-for-0.4.1.sol-0.6.12-compact.json | 0 .../using-for-0.4.1.sol-0.6.12-legacy.json | 0 .../using-for-0.4.1.sol-0.6.2-compact.json | 0 .../using-for-0.4.1.sol-0.6.2-legacy.json | 0 .../using-for-0.4.1.sol-0.6.3-compact.json | 0 .../using-for-0.4.1.sol-0.6.3-legacy.json | 0 .../using-for-0.4.1.sol-0.6.4-compact.json | 0 .../using-for-0.4.1.sol-0.6.4-legacy.json | 0 .../using-for-0.4.1.sol-0.6.5-compact.json | 0 .../using-for-0.4.1.sol-0.6.5-legacy.json | 0 .../using-for-0.4.1.sol-0.6.6-compact.json | 0 .../using-for-0.4.1.sol-0.6.6-legacy.json | 0 .../using-for-0.4.1.sol-0.6.7-compact.json | 0 .../using-for-0.4.1.sol-0.6.7-legacy.json | 0 .../using-for-0.4.1.sol-0.6.8-compact.json | 0 .../using-for-0.4.1.sol-0.6.8-legacy.json | 0 .../using-for-0.4.1.sol-0.6.9-compact.json | 0 .../using-for-0.4.1.sol-0.6.9-legacy.json | 0 .../using-for-0.4.1.sol-0.7.0-compact.json | 0 .../using-for-0.4.1.sol-0.7.0-legacy.json | 0 .../using-for-0.4.1.sol-0.7.1-compact.json | 0 .../using-for-0.4.1.sol-0.7.1-legacy.json | 0 .../using-for-0.4.1.sol-0.7.2-compact.json | 0 .../using-for-0.4.1.sol-0.7.2-legacy.json | 0 .../using-for-0.4.1.sol-0.7.3-compact.json | 0 .../using-for-0.4.1.sol-0.7.3-legacy.json | 0 .../using-for-0.4.1.sol-0.7.4-compact.json | 0 .../using-for-0.4.1.sol-0.7.4-legacy.json | 0 .../using-for-0.4.1.sol-0.7.5-compact.json | 0 .../using-for-0.4.1.sol-0.7.5-legacy.json | 0 .../using-for-0.4.1.sol-0.7.6-compact.json | 0 .../using-for-0.4.1.sol-0.7.6-legacy.json | 0 .../using-for-0.4.1.sol-0.8.0-compact.json | 0 .../using-for-0.4.1.sol-0.8.1-compact.json | 0 .../using-for-0.4.1.sol-0.8.10-compact.json | 0 .../using-for-0.4.1.sol-0.8.11-compact.json | 0 .../using-for-0.4.1.sol-0.8.12-compact.json | 0 .../using-for-0.4.1.sol-0.8.13-compact.json | 0 .../using-for-0.4.1.sol-0.8.14-compact.json | 0 .../using-for-0.4.1.sol-0.8.15-compact.json | 0 .../using-for-0.4.1.sol-0.8.2-compact.json | 0 .../using-for-0.4.1.sol-0.8.3-compact.json | 0 .../using-for-0.4.1.sol-0.8.4-compact.json | 0 .../using-for-0.4.1.sol-0.8.5-compact.json | 0 .../using-for-0.4.1.sol-0.8.6-compact.json | 0 .../using-for-0.4.1.sol-0.8.7-compact.json | 0 .../using-for-0.4.1.sol-0.8.8-compact.json | 0 .../using-for-0.4.1.sol-0.8.9-compact.json | 0 .../using-for-1-0.8.0.sol-0.8.15-compact.json | 0 .../using-for-2-0.8.0.sol-0.8.15-compact.json | 0 .../using-for-3-0.8.0.sol-0.8.15-compact.json | 0 .../using-for-4-0.8.0.sol-0.8.15-compact.json | 0 ...ias-contract-0.8.0.sol-0.8.15-compact.json | 0 ...as-top-level-0.8.0.sol-0.8.15-compact.json | 0 ...tions-list-1-0.8.0.sol-0.8.15-compact.json | 0 ...tions-list-2-0.8.0.sol-0.8.15-compact.json | 0 ...tions-list-3-0.8.0.sol-0.8.15-compact.json | 0 ...tions-list-4-0.8.0.sol-0.8.15-compact.json | 0 ...g-for-global-0.8.0.sol-0.8.15-compact.json | 0 ...r-in-library-0.8.0.sol-0.8.15-compact.json | 0 .../variable-0.4.0.sol-0.4.0-compact.json | 0 .../variable-0.4.0.sol-0.4.0-legacy.json | 0 .../variable-0.4.0.sol-0.4.1-compact.json | 0 .../variable-0.4.0.sol-0.4.1-legacy.json | 0 .../variable-0.4.0.sol-0.4.10-compact.json | 0 .../variable-0.4.0.sol-0.4.10-legacy.json | 0 .../variable-0.4.0.sol-0.4.11-compact.json | 0 .../variable-0.4.0.sol-0.4.11-legacy.json | 0 .../variable-0.4.0.sol-0.4.12-compact.json | 0 .../variable-0.4.0.sol-0.4.12-legacy.json | 0 .../variable-0.4.0.sol-0.4.13-compact.json | 0 .../variable-0.4.0.sol-0.4.13-legacy.json | 0 .../variable-0.4.0.sol-0.4.14-compact.json | 0 .../variable-0.4.0.sol-0.4.14-legacy.json | 0 .../variable-0.4.0.sol-0.4.15-compact.json | 0 .../variable-0.4.0.sol-0.4.15-legacy.json | 0 .../variable-0.4.0.sol-0.4.16-compact.json | 0 .../variable-0.4.0.sol-0.4.16-legacy.json | 0 .../variable-0.4.0.sol-0.4.17-compact.json | 0 .../variable-0.4.0.sol-0.4.17-legacy.json | 0 .../variable-0.4.0.sol-0.4.18-compact.json | 0 .../variable-0.4.0.sol-0.4.18-legacy.json | 0 .../variable-0.4.0.sol-0.4.19-compact.json | 0 .../variable-0.4.0.sol-0.4.19-legacy.json | 0 .../variable-0.4.0.sol-0.4.2-compact.json | 0 .../variable-0.4.0.sol-0.4.2-legacy.json | 0 .../variable-0.4.0.sol-0.4.20-compact.json | 0 .../variable-0.4.0.sol-0.4.20-legacy.json | 0 .../variable-0.4.0.sol-0.4.21-compact.json | 0 .../variable-0.4.0.sol-0.4.21-legacy.json | 0 .../variable-0.4.0.sol-0.4.22-compact.json | 0 .../variable-0.4.0.sol-0.4.22-legacy.json | 0 .../variable-0.4.0.sol-0.4.23-compact.json | 0 .../variable-0.4.0.sol-0.4.23-legacy.json | 0 .../variable-0.4.0.sol-0.4.24-compact.json | 0 .../variable-0.4.0.sol-0.4.24-legacy.json | 0 .../variable-0.4.0.sol-0.4.25-compact.json | 0 .../variable-0.4.0.sol-0.4.25-legacy.json | 0 .../variable-0.4.0.sol-0.4.26-compact.json | 0 .../variable-0.4.0.sol-0.4.26-legacy.json | 0 .../variable-0.4.0.sol-0.4.3-compact.json | 0 .../variable-0.4.0.sol-0.4.3-legacy.json | 0 .../variable-0.4.0.sol-0.4.4-compact.json | 0 .../variable-0.4.0.sol-0.4.4-legacy.json | 0 .../variable-0.4.0.sol-0.4.5-compact.json | 0 .../variable-0.4.0.sol-0.4.5-legacy.json | 0 .../variable-0.4.0.sol-0.4.6-compact.json | 0 .../variable-0.4.0.sol-0.4.6-legacy.json | 0 .../variable-0.4.0.sol-0.4.7-compact.json | 0 .../variable-0.4.0.sol-0.4.7-legacy.json | 0 .../variable-0.4.0.sol-0.4.8-compact.json | 0 .../variable-0.4.0.sol-0.4.8-legacy.json | 0 .../variable-0.4.0.sol-0.4.9-compact.json | 0 .../variable-0.4.0.sol-0.4.9-legacy.json | 0 .../variable-0.4.14.sol-0.4.14-compact.json | 0 .../variable-0.4.14.sol-0.4.14-legacy.json | 0 .../variable-0.4.14.sol-0.4.15-compact.json | 0 .../variable-0.4.14.sol-0.4.15-legacy.json | 0 .../variable-0.4.16.sol-0.4.16-compact.json | 0 .../variable-0.4.16.sol-0.4.16-legacy.json | 0 .../variable-0.4.16.sol-0.4.17-compact.json | 0 .../variable-0.4.16.sol-0.4.17-legacy.json | 0 .../variable-0.4.16.sol-0.4.18-compact.json | 0 .../variable-0.4.16.sol-0.4.18-legacy.json | 0 .../variable-0.4.16.sol-0.4.19-compact.json | 0 .../variable-0.4.16.sol-0.4.19-legacy.json | 0 .../variable-0.4.16.sol-0.4.20-compact.json | 0 .../variable-0.4.16.sol-0.4.20-legacy.json | 0 .../variable-0.4.16.sol-0.4.21-compact.json | 0 .../variable-0.4.16.sol-0.4.21-legacy.json | 0 .../variable-0.4.16.sol-0.4.22-compact.json | 0 .../variable-0.4.16.sol-0.4.22-legacy.json | 0 .../variable-0.4.16.sol-0.4.23-compact.json | 0 .../variable-0.4.16.sol-0.4.23-legacy.json | 0 .../variable-0.4.16.sol-0.4.24-compact.json | 0 .../variable-0.4.16.sol-0.4.24-legacy.json | 0 .../variable-0.4.16.sol-0.4.25-compact.json | 0 .../variable-0.4.16.sol-0.4.25-legacy.json | 0 .../variable-0.4.16.sol-0.4.26-compact.json | 0 .../variable-0.4.16.sol-0.4.26-legacy.json | 0 .../variable-0.4.5.sol-0.4.10-compact.json | 0 .../variable-0.4.5.sol-0.4.10-legacy.json | 0 .../variable-0.4.5.sol-0.4.11-compact.json | 0 .../variable-0.4.5.sol-0.4.11-legacy.json | 0 .../variable-0.4.5.sol-0.4.12-compact.json | 0 .../variable-0.4.5.sol-0.4.12-legacy.json | 0 .../variable-0.4.5.sol-0.4.13-compact.json | 0 .../variable-0.4.5.sol-0.4.13-legacy.json | 0 .../variable-0.4.5.sol-0.4.5-compact.json | 0 .../variable-0.4.5.sol-0.4.5-legacy.json | 0 .../variable-0.4.5.sol-0.4.6-compact.json | 0 .../variable-0.4.5.sol-0.4.6-legacy.json | 0 .../variable-0.4.5.sol-0.4.7-compact.json | 0 .../variable-0.4.5.sol-0.4.7-legacy.json | 0 .../variable-0.4.5.sol-0.4.8-compact.json | 0 .../variable-0.4.5.sol-0.4.8-legacy.json | 0 .../variable-0.4.5.sol-0.4.9-compact.json | 0 .../variable-0.4.5.sol-0.4.9-legacy.json | 0 .../variable-0.5.0.sol-0.5.0-compact.json | 0 .../variable-0.5.0.sol-0.5.0-legacy.json | 0 .../variable-0.5.0.sol-0.5.1-compact.json | 0 .../variable-0.5.0.sol-0.5.1-legacy.json | 0 .../variable-0.5.0.sol-0.5.10-compact.json | 0 .../variable-0.5.0.sol-0.5.10-legacy.json | 0 .../variable-0.5.0.sol-0.5.11-compact.json | 0 .../variable-0.5.0.sol-0.5.11-legacy.json | 0 .../variable-0.5.0.sol-0.5.12-compact.json | 0 .../variable-0.5.0.sol-0.5.12-legacy.json | 0 .../variable-0.5.0.sol-0.5.13-compact.json | 0 .../variable-0.5.0.sol-0.5.13-legacy.json | 0 .../variable-0.5.0.sol-0.5.14-compact.json | 0 .../variable-0.5.0.sol-0.5.14-legacy.json | 0 .../variable-0.5.0.sol-0.5.15-compact.json | 0 .../variable-0.5.0.sol-0.5.15-legacy.json | 0 .../variable-0.5.0.sol-0.5.16-compact.json | 0 .../variable-0.5.0.sol-0.5.16-legacy.json | 0 .../variable-0.5.0.sol-0.5.17-compact.json | 0 .../variable-0.5.0.sol-0.5.17-legacy.json | 0 .../variable-0.5.0.sol-0.5.2-compact.json | 0 .../variable-0.5.0.sol-0.5.2-legacy.json | 0 .../variable-0.5.0.sol-0.5.3-compact.json | 0 .../variable-0.5.0.sol-0.5.3-legacy.json | 0 .../variable-0.5.0.sol-0.5.4-compact.json | 0 .../variable-0.5.0.sol-0.5.4-legacy.json | 0 .../variable-0.5.0.sol-0.5.5-compact.json | 0 .../variable-0.5.0.sol-0.5.5-legacy.json | 0 .../variable-0.5.0.sol-0.5.6-compact.json | 0 .../variable-0.5.0.sol-0.5.6-legacy.json | 0 .../variable-0.5.0.sol-0.5.7-compact.json | 0 .../variable-0.5.0.sol-0.5.7-legacy.json | 0 .../variable-0.5.0.sol-0.5.8-compact.json | 0 .../variable-0.5.0.sol-0.5.8-legacy.json | 0 .../variable-0.5.0.sol-0.5.9-compact.json | 0 .../variable-0.5.0.sol-0.5.9-legacy.json | 0 .../variable-0.5.0.sol-0.6.0-compact.json | 0 .../variable-0.5.0.sol-0.6.0-legacy.json | 0 .../variable-0.5.0.sol-0.6.1-compact.json | 0 .../variable-0.5.0.sol-0.6.1-legacy.json | 0 .../variable-0.5.0.sol-0.6.2-compact.json | 0 .../variable-0.5.0.sol-0.6.2-legacy.json | 0 .../variable-0.5.0.sol-0.6.3-compact.json | 0 .../variable-0.5.0.sol-0.6.3-legacy.json | 0 .../variable-0.5.0.sol-0.6.4-compact.json | 0 .../variable-0.5.0.sol-0.6.4-legacy.json | 0 .../variable-0.6.5.sol-0.6.5-compact.json | 0 .../variable-0.6.5.sol-0.6.5-legacy.json | 0 .../variable-0.6.5.sol-0.6.6-compact.json | 0 .../variable-0.6.5.sol-0.6.6-legacy.json | 0 .../variable-0.6.5.sol-0.6.7-compact.json | 0 .../variable-0.6.5.sol-0.6.7-legacy.json | 0 .../variable-0.6.5.sol-0.6.8-compact.json | 0 .../variable-0.6.5.sol-0.6.8-legacy.json | 0 .../variable-0.6.9.sol-0.6.10-compact.json | 0 .../variable-0.6.9.sol-0.6.10-legacy.json | 0 .../variable-0.6.9.sol-0.6.11-compact.json | 0 .../variable-0.6.9.sol-0.6.11-legacy.json | 0 .../variable-0.6.9.sol-0.6.12-compact.json | 0 .../variable-0.6.9.sol-0.6.12-legacy.json | 0 .../variable-0.6.9.sol-0.6.9-compact.json | 0 .../variable-0.6.9.sol-0.6.9-legacy.json | 0 .../variable-0.6.9.sol-0.7.0-compact.json | 0 .../variable-0.6.9.sol-0.7.0-legacy.json | 0 .../variable-0.6.9.sol-0.7.1-compact.json | 0 .../variable-0.6.9.sol-0.7.1-legacy.json | 0 .../variable-0.6.9.sol-0.7.2-compact.json | 0 .../variable-0.6.9.sol-0.7.2-legacy.json | 0 .../variable-0.6.9.sol-0.7.3-compact.json | 0 .../variable-0.6.9.sol-0.7.3-legacy.json | 0 .../variable-0.6.9.sol-0.7.4-compact.json | 0 .../variable-0.6.9.sol-0.7.4-legacy.json | 0 .../variable-0.6.9.sol-0.7.5-compact.json | 0 .../variable-0.6.9.sol-0.7.5-legacy.json | 0 .../variable-0.6.9.sol-0.7.6-compact.json | 0 .../variable-0.6.9.sol-0.7.6-legacy.json | 0 .../variable-0.8.0.sol-0.8.0-compact.json | 0 .../variable-0.8.0.sol-0.8.1-compact.json | 0 .../variable-0.8.0.sol-0.8.10-compact.json | 0 .../variable-0.8.0.sol-0.8.11-compact.json | 0 .../variable-0.8.0.sol-0.8.12-compact.json | 0 .../variable-0.8.0.sol-0.8.13-compact.json | 0 .../variable-0.8.0.sol-0.8.14-compact.json | 0 .../variable-0.8.0.sol-0.8.15-compact.json | 0 .../variable-0.8.0.sol-0.8.2-compact.json | 0 .../variable-0.8.0.sol-0.8.3-compact.json | 0 .../variable-0.8.0.sol-0.8.4-compact.json | 0 .../variable-0.8.0.sol-0.8.5-compact.json | 0 .../variable-0.8.0.sol-0.8.6-compact.json | 0 .../variable-0.8.0.sol-0.8.7-compact.json | 0 .../variable-0.8.0.sol-0.8.8-compact.json | 0 .../variable-0.8.0.sol-0.8.9-compact.json | 0 ...ledeclaration-0.5.0.sol-0.5.0-compact.json | 0 ...ledeclaration-0.5.0.sol-0.5.1-compact.json | 0 ...edeclaration-0.5.0.sol-0.5.10-compact.json | 0 ...edeclaration-0.5.0.sol-0.5.11-compact.json | 0 ...edeclaration-0.5.0.sol-0.5.12-compact.json | 0 ...edeclaration-0.5.0.sol-0.5.13-compact.json | 0 ...edeclaration-0.5.0.sol-0.5.14-compact.json | 0 ...edeclaration-0.5.0.sol-0.5.15-compact.json | 0 ...edeclaration-0.5.0.sol-0.5.16-compact.json | 0 ...edeclaration-0.5.0.sol-0.5.17-compact.json | 0 ...ledeclaration-0.5.0.sol-0.5.2-compact.json | 0 ...ledeclaration-0.5.0.sol-0.5.3-compact.json | 0 ...ledeclaration-0.5.0.sol-0.5.4-compact.json | 0 ...ledeclaration-0.5.0.sol-0.5.5-compact.json | 0 ...ledeclaration-0.5.0.sol-0.5.6-compact.json | 0 ...ledeclaration-0.5.0.sol-0.5.7-compact.json | 0 ...ledeclaration-0.5.0.sol-0.5.8-compact.json | 0 ...ledeclaration-0.5.0.sol-0.5.9-compact.json | 0 ...ledeclaration-0.5.0.sol-0.6.0-compact.json | 0 ...ledeclaration-0.5.0.sol-0.6.1-compact.json | 0 ...edeclaration-0.5.0.sol-0.6.10-compact.json | 0 ...edeclaration-0.5.0.sol-0.6.11-compact.json | 0 ...edeclaration-0.5.0.sol-0.6.12-compact.json | 0 ...ledeclaration-0.5.0.sol-0.6.2-compact.json | 0 ...ledeclaration-0.5.0.sol-0.6.3-compact.json | 0 ...ledeclaration-0.5.0.sol-0.6.4-compact.json | 0 ...ledeclaration-0.5.0.sol-0.6.5-compact.json | 0 ...ledeclaration-0.5.0.sol-0.6.6-compact.json | 0 ...ledeclaration-0.5.0.sol-0.6.7-compact.json | 0 ...ledeclaration-0.5.0.sol-0.6.8-compact.json | 0 ...ledeclaration-0.5.0.sol-0.6.9-compact.json | 0 ...ledeclaration-0.5.0.sol-0.7.0-compact.json | 0 ...ledeclaration-0.5.0.sol-0.7.1-compact.json | 0 ...ledeclaration-0.5.0.sol-0.7.2-compact.json | 0 ...ledeclaration-0.5.0.sol-0.7.3-compact.json | 0 ...ledeclaration-0.5.0.sol-0.7.4-compact.json | 0 ...ledeclaration-0.5.0.sol-0.7.5-compact.json | 0 ...ledeclaration-0.5.0.sol-0.7.6-compact.json | 0 ...ledeclaration-0.5.0.sol-0.8.0-compact.json | 0 ...ledeclaration-0.5.0.sol-0.8.1-compact.json | 0 ...edeclaration-0.5.0.sol-0.8.10-compact.json | 0 ...edeclaration-0.5.0.sol-0.8.11-compact.json | 0 ...edeclaration-0.5.0.sol-0.8.12-compact.json | 0 ...edeclaration-0.5.0.sol-0.8.13-compact.json | 0 ...edeclaration-0.5.0.sol-0.8.14-compact.json | 0 ...edeclaration-0.5.0.sol-0.8.15-compact.json | 0 ...ledeclaration-0.5.0.sol-0.8.2-compact.json | 0 ...ledeclaration-0.5.0.sol-0.8.3-compact.json | 0 ...ledeclaration-0.5.0.sol-0.8.4-compact.json | 0 ...ledeclaration-0.5.0.sol-0.8.5-compact.json | 0 ...ledeclaration-0.5.0.sol-0.8.6-compact.json | 0 ...ledeclaration-0.5.0.sol-0.8.7-compact.json | 0 ...ledeclaration-0.5.0.sol-0.8.8-compact.json | 0 ...ledeclaration-0.5.0.sol-0.8.9-compact.json | 0 .../expected/while-all.sol-0.4.0-compact.json | 0 .../expected/while-all.sol-0.4.0-legacy.json | 0 .../expected/while-all.sol-0.4.1-compact.json | 0 .../expected/while-all.sol-0.4.1-legacy.json | 0 .../while-all.sol-0.4.10-compact.json | 0 .../expected/while-all.sol-0.4.10-legacy.json | 0 .../while-all.sol-0.4.11-compact.json | 0 .../expected/while-all.sol-0.4.11-legacy.json | 0 .../while-all.sol-0.4.12-compact.json | 0 .../expected/while-all.sol-0.4.12-legacy.json | 0 .../while-all.sol-0.4.13-compact.json | 0 .../expected/while-all.sol-0.4.13-legacy.json | 0 .../while-all.sol-0.4.14-compact.json | 0 .../expected/while-all.sol-0.4.14-legacy.json | 0 .../while-all.sol-0.4.15-compact.json | 0 .../expected/while-all.sol-0.4.15-legacy.json | 0 .../while-all.sol-0.4.16-compact.json | 0 .../expected/while-all.sol-0.4.16-legacy.json | 0 .../while-all.sol-0.4.17-compact.json | 0 .../expected/while-all.sol-0.4.17-legacy.json | 0 .../while-all.sol-0.4.18-compact.json | 0 .../expected/while-all.sol-0.4.18-legacy.json | 0 .../while-all.sol-0.4.19-compact.json | 0 .../expected/while-all.sol-0.4.19-legacy.json | 0 .../expected/while-all.sol-0.4.2-compact.json | 0 .../expected/while-all.sol-0.4.2-legacy.json | 0 .../while-all.sol-0.4.20-compact.json | 0 .../expected/while-all.sol-0.4.20-legacy.json | 0 .../while-all.sol-0.4.21-compact.json | 0 .../expected/while-all.sol-0.4.21-legacy.json | 0 .../while-all.sol-0.4.22-compact.json | 0 .../expected/while-all.sol-0.4.22-legacy.json | 0 .../while-all.sol-0.4.23-compact.json | 0 .../expected/while-all.sol-0.4.23-legacy.json | 0 .../while-all.sol-0.4.24-compact.json | 0 .../expected/while-all.sol-0.4.24-legacy.json | 0 .../while-all.sol-0.4.25-compact.json | 0 .../expected/while-all.sol-0.4.25-legacy.json | 0 .../while-all.sol-0.4.26-compact.json | 0 .../expected/while-all.sol-0.4.26-legacy.json | 0 .../expected/while-all.sol-0.4.3-compact.json | 0 .../expected/while-all.sol-0.4.3-legacy.json | 0 .../expected/while-all.sol-0.4.4-compact.json | 0 .../expected/while-all.sol-0.4.4-legacy.json | 0 .../expected/while-all.sol-0.4.5-compact.json | 0 .../expected/while-all.sol-0.4.5-legacy.json | 0 .../expected/while-all.sol-0.4.6-compact.json | 0 .../expected/while-all.sol-0.4.6-legacy.json | 0 .../expected/while-all.sol-0.4.7-compact.json | 0 .../expected/while-all.sol-0.4.7-legacy.json | 0 .../expected/while-all.sol-0.4.8-compact.json | 0 .../expected/while-all.sol-0.4.8-legacy.json | 0 .../expected/while-all.sol-0.4.9-compact.json | 0 .../expected/while-all.sol-0.4.9-legacy.json | 0 .../expected/while-all.sol-0.5.0-compact.json | 0 .../expected/while-all.sol-0.5.0-legacy.json | 0 .../expected/while-all.sol-0.5.1-compact.json | 0 .../expected/while-all.sol-0.5.1-legacy.json | 0 .../while-all.sol-0.5.10-compact.json | 0 .../expected/while-all.sol-0.5.10-legacy.json | 0 .../while-all.sol-0.5.11-compact.json | 0 .../expected/while-all.sol-0.5.11-legacy.json | 0 .../while-all.sol-0.5.12-compact.json | 0 .../expected/while-all.sol-0.5.12-legacy.json | 0 .../while-all.sol-0.5.13-compact.json | 0 .../expected/while-all.sol-0.5.13-legacy.json | 0 .../while-all.sol-0.5.14-compact.json | 0 .../expected/while-all.sol-0.5.14-legacy.json | 0 .../while-all.sol-0.5.15-compact.json | 0 .../expected/while-all.sol-0.5.15-legacy.json | 0 .../while-all.sol-0.5.16-compact.json | 0 .../expected/while-all.sol-0.5.16-legacy.json | 0 .../while-all.sol-0.5.17-compact.json | 0 .../expected/while-all.sol-0.5.17-legacy.json | 0 .../expected/while-all.sol-0.5.2-compact.json | 0 .../expected/while-all.sol-0.5.2-legacy.json | 0 .../expected/while-all.sol-0.5.3-compact.json | 0 .../expected/while-all.sol-0.5.3-legacy.json | 0 .../expected/while-all.sol-0.5.4-compact.json | 0 .../expected/while-all.sol-0.5.4-legacy.json | 0 .../expected/while-all.sol-0.5.5-compact.json | 0 .../expected/while-all.sol-0.5.5-legacy.json | 0 .../expected/while-all.sol-0.5.6-compact.json | 0 .../expected/while-all.sol-0.5.6-legacy.json | 0 .../expected/while-all.sol-0.5.7-compact.json | 0 .../expected/while-all.sol-0.5.7-legacy.json | 0 .../expected/while-all.sol-0.5.8-compact.json | 0 .../expected/while-all.sol-0.5.8-legacy.json | 0 .../expected/while-all.sol-0.5.9-compact.json | 0 .../expected/while-all.sol-0.5.9-legacy.json | 0 .../expected/while-all.sol-0.6.0-compact.json | 0 .../expected/while-all.sol-0.6.0-legacy.json | 0 .../expected/while-all.sol-0.6.1-compact.json | 0 .../expected/while-all.sol-0.6.1-legacy.json | 0 .../while-all.sol-0.6.10-compact.json | 0 .../expected/while-all.sol-0.6.10-legacy.json | 0 .../while-all.sol-0.6.11-compact.json | 0 .../expected/while-all.sol-0.6.11-legacy.json | 0 .../while-all.sol-0.6.12-compact.json | 0 .../expected/while-all.sol-0.6.12-legacy.json | 0 .../expected/while-all.sol-0.6.2-compact.json | 0 .../expected/while-all.sol-0.6.2-legacy.json | 0 .../expected/while-all.sol-0.6.3-compact.json | 0 .../expected/while-all.sol-0.6.3-legacy.json | 0 .../expected/while-all.sol-0.6.4-compact.json | 0 .../expected/while-all.sol-0.6.4-legacy.json | 0 .../expected/while-all.sol-0.6.5-compact.json | 0 .../expected/while-all.sol-0.6.5-legacy.json | 0 .../expected/while-all.sol-0.6.6-compact.json | 0 .../expected/while-all.sol-0.6.6-legacy.json | 0 .../expected/while-all.sol-0.6.7-compact.json | 0 .../expected/while-all.sol-0.6.7-legacy.json | 0 .../expected/while-all.sol-0.6.8-compact.json | 0 .../expected/while-all.sol-0.6.8-legacy.json | 0 .../expected/while-all.sol-0.6.9-compact.json | 0 .../expected/while-all.sol-0.6.9-legacy.json | 0 .../expected/while-all.sol-0.7.0-compact.json | 0 .../expected/while-all.sol-0.7.0-legacy.json | 0 .../expected/while-all.sol-0.7.1-compact.json | 0 .../expected/while-all.sol-0.7.1-legacy.json | 0 .../expected/while-all.sol-0.7.2-compact.json | 0 .../expected/while-all.sol-0.7.2-legacy.json | 0 .../expected/while-all.sol-0.7.3-compact.json | 0 .../expected/while-all.sol-0.7.3-legacy.json | 0 .../expected/while-all.sol-0.7.4-compact.json | 0 .../expected/while-all.sol-0.7.4-legacy.json | 0 .../expected/while-all.sol-0.7.5-compact.json | 0 .../expected/while-all.sol-0.7.5-legacy.json | 0 .../expected/while-all.sol-0.7.6-compact.json | 0 .../expected/while-all.sol-0.7.6-legacy.json | 0 .../expected/while-all.sol-0.8.0-compact.json | 0 .../expected/while-all.sol-0.8.1-compact.json | 0 .../while-all.sol-0.8.10-compact.json | 0 .../while-all.sol-0.8.11-compact.json | 0 .../while-all.sol-0.8.12-compact.json | 0 .../while-all.sol-0.8.13-compact.json | 0 .../while-all.sol-0.8.14-compact.json | 0 .../while-all.sol-0.8.15-compact.json | 0 .../expected/while-all.sol-0.8.2-compact.json | 0 .../expected/while-all.sol-0.8.3-compact.json | 0 .../expected/while-all.sol-0.8.4-compact.json | 0 .../expected/while-all.sol-0.8.5-compact.json | 0 .../expected/while-all.sol-0.8.6-compact.json | 0 .../expected/while-all.sol-0.8.7-compact.json | 0 .../expected/while-all.sol-0.8.8-compact.json | 0 .../expected/while-all.sol-0.8.9-compact.json | 0 .../expected/yul-0.4.0.sol-0.4.0-compact.json | 0 .../expected/yul-0.4.0.sol-0.4.0-legacy.json | 0 .../expected/yul-0.4.1.sol-0.4.1-compact.json | 0 .../expected/yul-0.4.1.sol-0.4.1-legacy.json | 0 .../yul-0.4.1.sol-0.4.10-compact.json | 0 .../expected/yul-0.4.1.sol-0.4.10-legacy.json | 0 .../expected/yul-0.4.1.sol-0.4.2-compact.json | 0 .../expected/yul-0.4.1.sol-0.4.2-legacy.json | 0 .../expected/yul-0.4.1.sol-0.4.3-compact.json | 0 .../expected/yul-0.4.1.sol-0.4.3-legacy.json | 0 .../expected/yul-0.4.1.sol-0.4.4-compact.json | 0 .../expected/yul-0.4.1.sol-0.4.4-legacy.json | 0 .../expected/yul-0.4.1.sol-0.4.5-compact.json | 0 .../expected/yul-0.4.1.sol-0.4.5-legacy.json | 0 .../expected/yul-0.4.1.sol-0.4.6-compact.json | 0 .../expected/yul-0.4.1.sol-0.4.6-legacy.json | 0 .../expected/yul-0.4.1.sol-0.4.7-compact.json | 0 .../expected/yul-0.4.1.sol-0.4.7-legacy.json | 0 .../expected/yul-0.4.1.sol-0.4.8-compact.json | 0 .../expected/yul-0.4.1.sol-0.4.8-legacy.json | 0 .../expected/yul-0.4.1.sol-0.4.9-compact.json | 0 .../expected/yul-0.4.1.sol-0.4.9-legacy.json | 0 .../yul-0.4.11.sol-0.4.11-compact.json | 0 .../yul-0.4.11.sol-0.4.11-legacy.json | 0 .../yul-0.4.11.sol-0.4.12-compact.json | 0 .../yul-0.4.11.sol-0.4.12-legacy.json | 0 .../yul-0.4.11.sol-0.4.13-compact.json | 0 .../yul-0.4.11.sol-0.4.13-legacy.json | 0 .../yul-0.4.11.sol-0.4.14-compact.json | 0 .../yul-0.4.11.sol-0.4.14-legacy.json | 0 .../yul-0.4.11.sol-0.4.15-compact.json | 0 .../yul-0.4.11.sol-0.4.15-legacy.json | 0 .../yul-0.4.11.sol-0.4.16-compact.json | 0 .../yul-0.4.11.sol-0.4.16-legacy.json | 0 .../yul-0.4.11.sol-0.4.17-compact.json | 0 .../yul-0.4.11.sol-0.4.17-legacy.json | 0 .../yul-0.4.11.sol-0.4.18-compact.json | 0 .../yul-0.4.11.sol-0.4.18-legacy.json | 0 .../yul-0.4.11.sol-0.4.19-compact.json | 0 .../yul-0.4.11.sol-0.4.19-legacy.json | 0 .../yul-0.4.11.sol-0.4.20-compact.json | 0 .../yul-0.4.11.sol-0.4.20-legacy.json | 0 .../yul-0.4.11.sol-0.4.21-compact.json | 0 .../yul-0.4.11.sol-0.4.21-legacy.json | 0 .../yul-0.4.11.sol-0.4.22-compact.json | 0 .../yul-0.4.11.sol-0.4.22-legacy.json | 0 .../yul-0.4.11.sol-0.4.23-compact.json | 0 .../yul-0.4.11.sol-0.4.23-legacy.json | 0 .../yul-0.4.11.sol-0.4.24-compact.json | 0 .../yul-0.4.11.sol-0.4.24-legacy.json | 0 .../yul-0.4.11.sol-0.4.25-compact.json | 0 .../yul-0.4.11.sol-0.4.25-legacy.json | 0 .../yul-0.4.11.sol-0.4.26-compact.json | 0 .../yul-0.4.11.sol-0.4.26-legacy.json | 0 .../yul-0.4.11.sol-0.5.0-compact.json | 0 .../expected/yul-0.4.11.sol-0.5.0-legacy.json | 0 .../yul-0.4.11.sol-0.5.1-compact.json | 0 .../expected/yul-0.4.11.sol-0.5.1-legacy.json | 0 .../yul-0.4.11.sol-0.5.10-compact.json | 0 .../yul-0.4.11.sol-0.5.10-legacy.json | 0 .../yul-0.4.11.sol-0.5.11-compact.json | 0 .../yul-0.4.11.sol-0.5.11-legacy.json | 0 .../yul-0.4.11.sol-0.5.12-compact.json | 0 .../yul-0.4.11.sol-0.5.12-legacy.json | 0 .../yul-0.4.11.sol-0.5.13-compact.json | 0 .../yul-0.4.11.sol-0.5.13-legacy.json | 0 .../yul-0.4.11.sol-0.5.14-compact.json | 0 .../yul-0.4.11.sol-0.5.14-legacy.json | 0 .../yul-0.4.11.sol-0.5.15-compact.json | 0 .../yul-0.4.11.sol-0.5.15-legacy.json | 0 .../yul-0.4.11.sol-0.5.16-compact.json | 0 .../yul-0.4.11.sol-0.5.16-legacy.json | 0 .../yul-0.4.11.sol-0.5.17-compact.json | 0 .../yul-0.4.11.sol-0.5.17-legacy.json | 0 .../yul-0.4.11.sol-0.5.2-compact.json | 0 .../expected/yul-0.4.11.sol-0.5.2-legacy.json | 0 .../yul-0.4.11.sol-0.5.3-compact.json | 0 .../expected/yul-0.4.11.sol-0.5.3-legacy.json | 0 .../yul-0.4.11.sol-0.5.4-compact.json | 0 .../expected/yul-0.4.11.sol-0.5.4-legacy.json | 0 .../yul-0.4.11.sol-0.5.5-compact.json | 0 .../expected/yul-0.4.11.sol-0.5.5-legacy.json | 0 .../yul-0.4.11.sol-0.5.6-compact.json | 0 .../expected/yul-0.4.11.sol-0.5.6-legacy.json | 0 .../yul-0.4.11.sol-0.5.7-compact.json | 0 .../expected/yul-0.4.11.sol-0.5.7-legacy.json | 0 .../yul-0.4.11.sol-0.5.8-compact.json | 0 .../expected/yul-0.4.11.sol-0.5.8-legacy.json | 0 .../yul-0.4.11.sol-0.5.9-compact.json | 0 .../expected/yul-0.4.11.sol-0.5.9-legacy.json | 0 .../yul-0.4.11.sol-0.6.0-compact.json | 0 .../expected/yul-0.4.11.sol-0.6.0-legacy.json | 0 .../yul-0.4.11.sol-0.6.1-compact.json | 0 .../expected/yul-0.4.11.sol-0.6.1-legacy.json | 0 .../yul-0.4.11.sol-0.6.10-compact.json | 0 .../yul-0.4.11.sol-0.6.10-legacy.json | 0 .../yul-0.4.11.sol-0.6.11-compact.json | 0 .../yul-0.4.11.sol-0.6.11-legacy.json | 0 .../yul-0.4.11.sol-0.6.12-compact.json | 0 .../yul-0.4.11.sol-0.6.12-legacy.json | 0 .../yul-0.4.11.sol-0.6.2-compact.json | 0 .../expected/yul-0.4.11.sol-0.6.2-legacy.json | 0 .../yul-0.4.11.sol-0.6.3-compact.json | 0 .../expected/yul-0.4.11.sol-0.6.3-legacy.json | 0 .../yul-0.4.11.sol-0.6.4-compact.json | 0 .../expected/yul-0.4.11.sol-0.6.4-legacy.json | 0 .../yul-0.4.11.sol-0.6.5-compact.json | 0 .../expected/yul-0.4.11.sol-0.6.5-legacy.json | 0 .../yul-0.4.11.sol-0.6.6-compact.json | 0 .../expected/yul-0.4.11.sol-0.6.6-legacy.json | 0 .../yul-0.4.11.sol-0.6.7-compact.json | 0 .../expected/yul-0.4.11.sol-0.6.7-legacy.json | 0 .../yul-0.4.11.sol-0.6.8-compact.json | 0 .../expected/yul-0.4.11.sol-0.6.8-legacy.json | 0 .../yul-0.4.11.sol-0.6.9-compact.json | 0 .../expected/yul-0.4.11.sol-0.6.9-legacy.json | 0 .../expected/yul-0.7.0.sol-0.7.0-compact.json | 0 .../expected/yul-0.7.0.sol-0.7.0-legacy.json | 0 .../expected/yul-0.7.0.sol-0.7.1-compact.json | 0 .../expected/yul-0.7.0.sol-0.7.1-legacy.json | 0 .../expected/yul-0.7.0.sol-0.7.2-compact.json | 0 .../expected/yul-0.7.0.sol-0.7.2-legacy.json | 0 .../expected/yul-0.7.0.sol-0.7.3-compact.json | 0 .../expected/yul-0.7.0.sol-0.7.3-legacy.json | 0 .../expected/yul-0.7.0.sol-0.7.4-compact.json | 0 .../expected/yul-0.7.0.sol-0.7.4-legacy.json | 0 .../expected/yul-0.7.5.sol-0.7.5-compact.json | 0 .../expected/yul-0.7.5.sol-0.7.5-legacy.json | 0 .../expected/yul-0.7.5.sol-0.7.6-compact.json | 0 .../expected/yul-0.7.5.sol-0.7.6-legacy.json | 0 .../expected/yul-0.8.0.sol-0.8.0-compact.json | 0 .../expected/yul-0.8.0.sol-0.8.1-compact.json | 0 .../yul-0.8.0.sol-0.8.10-compact.json | 0 .../yul-0.8.0.sol-0.8.11-compact.json | 0 .../yul-0.8.0.sol-0.8.12-compact.json | 0 .../yul-0.8.0.sol-0.8.13-compact.json | 0 .../yul-0.8.0.sol-0.8.14-compact.json | 0 .../yul-0.8.0.sol-0.8.15-compact.json | 0 .../expected/yul-0.8.0.sol-0.8.2-compact.json | 0 .../expected/yul-0.8.0.sol-0.8.3-compact.json | 0 .../expected/yul-0.8.0.sol-0.8.4-compact.json | 0 .../expected/yul-0.8.0.sol-0.8.5-compact.json | 0 .../expected/yul-0.8.0.sol-0.8.6-compact.json | 0 .../expected/yul-0.8.0.sol-0.8.7-compact.json | 0 .../expected/yul-0.8.0.sol-0.8.8-compact.json | 0 .../expected/yul-0.8.0.sol-0.8.9-compact.json | 0 ...te-constant-access.sol-0.8.16-compact.json | 0 .../solc_parsing/test_data}/for-all.sol | 0 .../free_functions/libraries_from_free.sol | 0 .../library_constant_function_collision.sol | 0 .../free_functions/new_operator.sol | 0 .../test_data}/function-0.4.0.sol | 0 .../test_data}/function-0.4.16.sol | 0 .../test_data}/function-0.4.22.sol | 0 .../test_data}/function-0.4.23.sol | 0 .../test_data}/function-0.5.0.sol | 0 .../test_data}/function-0.6.0.sol | 0 .../test_data}/function-0.7.0.sol | 0 .../test_data}/function-0.7.1.sol | 0 .../test_data}/functioncall-0.4.0.sol | 0 .../test_data}/functioncall-0.4.22.sol | 0 .../test_data}/functioncall-0.4.5.sol | 0 .../test_data}/functioncall-0.5.0.sol | 0 .../test_data}/functioncall-0.5.3.sol | 0 .../test_data}/functioncall-0.6.0.sol | 0 .../test_data}/functioncall-0.6.2.sol | 0 .../test_data}/functioncall-0.6.8.sol | 0 .../test_data}/functioncall-0.7.0.sol | 0 .../test_data}/functioncall-0.8.0.sol | 0 .../solc_parsing/test_data}/helper/helper.sol | 0 .../test_data}/helper/import-1.sol | 0 .../test_data}/helper/import-2.sol | 0 .../helper/interface_with_struct.sol | 0 .../test_data}/helper/nested_import.sol | 0 .../solc_parsing/test_data}/if-all.sol | 0 .../solc_parsing/test_data}/import-0.4.0.sol | 0 .../solc_parsing/test_data}/import-0.4.3.sol | 0 ...rface_with_struct_from_top_level-0.4.0.sol | 0 ...rface_with_struct_from_top_level-0.7.6.sol | 0 .../test_data}/indexaccess-all.sol | 0 .../test_data}/indexrangeaccess-0.4.0.sol | 0 .../test_data}/indexrangeaccess-0.6.1.sol | 0 .../test_data}/library_event-0.8.16.sol | 0 .../library_implicit_conversion-0.4.0.sol | 0 .../library_implicit_conversion-0.5.0.sol | 0 .../solc_parsing/test_data}/literal-0.4.0.sol | 0 .../test_data}/literal-0.4.10.sol | 0 .../solc_parsing/test_data}/literal-0.5.0.sol | 0 .../solc_parsing/test_data}/literal-0.6.0.sol | 0 .../solc_parsing/test_data}/literal-0.7.0.sol | 0 .../test_data}/memberaccess-0.4.0.sol | 0 .../test_data}/memberaccess-0.5.14.sol | 0 .../test_data}/memberaccess-0.5.3.sol | 0 .../test_data}/memberaccess-0.6.7.sol | 0 .../test_data}/memberaccess-0.6.8.sol | 0 .../solc_parsing/test_data}/minmax-0.4.0.sol | 0 .../solc_parsing/test_data}/minmax-0.6.8.sol | 0 .../solc_parsing/test_data}/minmax-0.8.8.sol | 0 .../test_data}/modifier-0.7.0.sol | 0 .../solc_parsing/test_data}/modifier-all.sol | 0 .../test_data}/modifier_identifier_path.sol | 0 .../test_data}/newexpression-0.4.0.sol | 0 .../test_data}/newexpression-0.5.0.sol | 0 .../solc_parsing/test_data}/pragma-0.4.0.sol | 0 .../solc_parsing/test_data}/pragma-0.5.0.sol | 0 .../solc_parsing/test_data}/pragma-0.6.0.sol | 0 .../solc_parsing/test_data}/pragma-0.7.0.sol | 0 .../solc_parsing/test_data}/pragma-0.8.0.sol | 0 .../solc_parsing/test_data}/push-all.sol | 0 .../solc_parsing/test_data}/return-all.sol | 0 .../solc_parsing/test_data}/scope-0.4.0.sol | 0 .../solc_parsing/test_data}/scope-0.5.0.sol | 0 .../solc_parsing/test_data}/struct-0.4.0.sol | 0 .../solc_parsing/test_data}/struct-0.6.0.sol | 0 .../test_data}/ternary-with-max.sol | 0 .../solc_parsing/test_data}/throw-0.4.0.sol | 0 .../solc_parsing/test_data}/throw-0.5.0.sol | 0 .../test_data}/top-level-0.4.0.sol | 0 .../test_data}/top-level-0.7.1.sol | 0 .../test_data}/top-level-0.7.4.sol | 0 .../test_data}/top-level-import-0.4.0.sol | 0 .../test_data}/top-level-import-0.7.1.sol | 0 .../test_data}/top-level-import-bis-0.4.0.sol | 0 .../test_data}/top-level-import-bis-0.7.1.sol | 0 .../top-level-nested-import-0.4.0.sol | 0 .../top-level-nested-import-0.7.1.sol | 0 .../test_data}/top-level-struct-0.8.0.sol | 0 .../test_data}/top_level_variable-0.4.0.sol | 0 .../test_data}/top_level_variable-0.8.0.sol | 0 .../test_data}/top_level_variable2-0.4.0.sol | 0 .../test_data}/top_level_variable2-0.8.0.sol | 0 .../test_data}/trycatch-0.4.0.sol | 0 .../test_data}/trycatch-0.6.0.sol | 0 .../test_data}/tupleexpression-0.4.0.sol | 0 .../test_data}/tupleexpression-0.4.24.sol | 0 .../test_data}/tupleexpression-0.5.3.sol | 0 .../test_data}/unaryexpression-0.4.0.sol | 0 .../test_data}/unaryexpression-0.5.0.sol | 0 .../test_data}/unchecked-0.4.0.sol | 0 .../test_data}/unchecked-0.8.0.sol | 0 .../units_and_global_variables-0.4.0.sol | 0 .../units_and_global_variables-0.5.0.sol | 0 .../units_and_global_variables-0.5.4.sol | 0 .../units_and_global_variables-0.6.0.sol | 0 .../units_and_global_variables-0.7.0.sol | 0 .../units_and_global_variables-0.8.0.sol | 0 .../units_and_global_variables-0.8.12.sol | 0 .../units_and_global_variables-0.8.4.sol | 0 .../units_and_global_variables-0.8.7.sol | 0 .../argument-0.8.8.sol | 0 .../calldata-0.8.8.sol | 0 .../constant-0.8.8.sol | 0 .../user_defined_value_type/erc20-0.8.8.sol | 0 .../in_parenthesis-0.8.8.sol | 0 .../top-level-0.8.8.sol | 0 .../user_defined_types-0.8.8.sol | 0 .../using-for-0.8.8.sol | 0 .../test_data}/using-for-0.4.0.sol | 0 .../test_data}/using-for-0.4.1.sol | 0 .../test_data}/using-for-1-0.8.0.sol | 0 .../test_data}/using-for-2-0.8.0.sol | 0 .../test_data}/using-for-3-0.8.0.sol | 0 .../test_data}/using-for-4-0.8.0.sol | 0 .../using-for-alias-contract-0.8.0.sol | 0 .../test_data}/using-for-alias-dep1.sol | 0 .../test_data}/using-for-alias-dep2.sol | 0 .../using-for-alias-top-level-0.8.0.sol | 0 .../using-for-functions-list-1-0.8.0.sol | 0 .../using-for-functions-list-2-0.8.0.sol | 0 .../using-for-functions-list-3-0.8.0.sol | 0 .../using-for-functions-list-4-0.8.0.sol | 0 .../test_data}/using-for-global-0.8.0.sol | 0 .../test_data}/using-for-in-library-0.8.0.sol | 0 .../test_data}/using-for-library-0.8.0.sol | 0 .../test_data}/variable-0.4.0.sol | 0 .../test_data}/variable-0.4.14.sol | 0 .../test_data}/variable-0.4.16.sol | 0 .../test_data}/variable-0.4.5.sol | 0 .../test_data}/variable-0.5.0.sol | 0 .../test_data}/variable-0.6.5.sol | 0 .../test_data}/variable-0.6.9.sol | 0 .../test_data}/variable-0.8.0.sol | 0 .../test_data}/variabledeclaration-0.4.0.sol | 0 .../test_data}/variabledeclaration-0.4.24.sol | 0 .../test_data}/variabledeclaration-0.5.0.sol | 0 .../solc_parsing/test_data}/while-all.sol | 0 .../solc_parsing/test_data}/yul-0.4.0.sol | 0 .../solc_parsing/test_data}/yul-0.4.1.sol | 0 .../solc_parsing/test_data}/yul-0.4.11.sol | 0 .../solc_parsing/test_data}/yul-0.7.0.sol | 0 .../solc_parsing/test_data}/yul-0.7.5.sol | 0 .../solc_parsing/test_data}/yul-0.8.0.sol | 0 .../test_data}/yul-state-constant-access.sol | 0 .../test_data}/yul-top-level-0.8.0.sol | 0 14734 files changed, 41769 insertions(+), 39577 deletions(-) delete mode 100644 tests/detectors/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json delete mode 100644 tests/detectors/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json delete mode 100644 tests/detectors/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json delete mode 100644 tests/detectors/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json delete mode 100644 tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json delete mode 100644 tests/detectors/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json delete mode 100644 tests/detectors/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json rename tests/{detectors => e2e/detectors/test_data}/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json (85%) rename tests/{detectors => e2e/detectors/test_data}/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json (100%) rename tests/{detectors => e2e/detectors/test_data}/abiencoderv2-array/0.5.11/storage_ABIEncoderV2_array.sol.0.5.11.ABIEncoderV2Array.json (100%) rename tests/{detectors => e2e/detectors/test_data}/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol.0.5.9.ABIEncoderV2Array.json (85%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol.0.4.25.ArbitrarySendErc20Permit.json (77%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol.0.5.16.ArbitrarySendErc20Permit.json (77%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol.0.6.11.ArbitrarySendErc20Permit.json (77%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol.0.7.6.ArbitrarySendErc20Permit.json (77%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol.0.8.0.ArbitrarySendErc20Permit.json (77%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol.0.4.25.ArbitrarySendErc20NoPermit.json (82%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol.0.5.16.ArbitrarySendErc20NoPermit.json (82%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol.0.6.11.ArbitrarySendErc20NoPermit.json (82%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol.0.7.6.ArbitrarySendErc20NoPermit.json (82%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol.0.8.0.ArbitrarySendErc20NoPermit.json (82%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol.0.8.0.ArbitrarySendErc20NoPermit.json (67%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol.0.4.25.ArbitrarySendEth.json (78%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol.0.5.16.ArbitrarySendEth.json (78%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol.0.6.11.ArbitrarySendEth.json (78%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol.0.7.6.ArbitrarySendEth.json (78%) rename tests/{detectors => e2e/detectors/test_data}/array-by-reference/0.4.25/array_by_reference.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json (76%) rename tests/{detectors => e2e/detectors/test_data}/array-by-reference/0.5.16/array_by_reference.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json (76%) rename tests/{detectors => e2e/detectors/test_data}/array-by-reference/0.6.11/array_by_reference.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json (76%) rename tests/{detectors => e2e/detectors/test_data}/array-by-reference/0.7.6/array_by_reference.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json (76%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.4.25/inline_assembly_contract.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json (78%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.4.25/inline_assembly_library.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json (83%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.5.16/inline_assembly_contract.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json (78%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.5.16/inline_assembly_library.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json (83%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.6.11/inline_assembly_contract.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json (78%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.6.11/inline_assembly_library.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json (83%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.7.6/inline_assembly_contract.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json (78%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.7.6/inline_assembly_library.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json (83%) rename tests/{detectors => e2e/detectors/test_data}/assert-state-change/0.4.25/assert_state_change.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json (77%) rename tests/{detectors => e2e/detectors/test_data}/assert-state-change/0.5.16/assert_state_change.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json (77%) rename tests/{detectors => e2e/detectors/test_data}/assert-state-change/0.6.11/assert_state_change.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json (77%) rename tests/{detectors => e2e/detectors/test_data}/assert-state-change/0.7.6/assert_state_change.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json (77%) rename tests/{detectors => e2e/detectors/test_data}/backdoor/0.4.25/backdoor.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json (74%) rename tests/{detectors => e2e/detectors/test_data}/backdoor/0.5.16/backdoor.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json (74%) rename tests/{detectors => e2e/detectors/test_data}/backdoor/0.6.11/backdoor.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json (74%) rename tests/{detectors => e2e/detectors/test_data}/backdoor/0.7.6/backdoor.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json (74%) rename tests/{detectors => e2e/detectors/test_data}/boolean-cst/0.4.25/boolean-constant-misuse.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json (80%) rename tests/{detectors => e2e/detectors/test_data}/boolean-cst/0.5.16/boolean-constant-misuse.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json (80%) rename tests/{detectors => e2e/detectors/test_data}/boolean-cst/0.6.11/boolean-constant-misuse.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json (80%) rename tests/{detectors => e2e/detectors/test_data}/boolean-cst/0.7.6/boolean-constant-misuse.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json (80%) rename tests/{detectors => e2e/detectors/test_data}/boolean-equal/0.4.25/boolean-constant-equality.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json (76%) rename tests/{detectors => e2e/detectors/test_data}/boolean-equal/0.5.16/boolean-constant-equality.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json (76%) rename tests/{detectors => e2e/detectors/test_data}/boolean-equal/0.6.11/boolean-constant-equality.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json (76%) rename tests/{detectors => e2e/detectors/test_data}/boolean-equal/0.7.6/boolean-constant-equality.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json (76%) rename tests/{detectors => e2e/detectors/test_data}/calls-loop/0.4.25/multiple_calls_in_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json (77%) rename tests/{detectors => e2e/detectors/test_data}/calls-loop/0.5.16/multiple_calls_in_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json (77%) rename tests/{detectors => e2e/detectors/test_data}/calls-loop/0.6.11/multiple_calls_in_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json (77%) rename tests/{detectors => e2e/detectors/test_data}/calls-loop/0.7.6/multiple_calls_in_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json (77%) rename tests/{detectors => e2e/detectors/test_data}/constable-states/0.4.25/const_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constable-states/0.4.25/const_state_variables.sol.0.4.25.CouldBeConstant.json (69%) rename tests/{detectors => e2e/detectors/test_data}/constable-states/0.5.16/const_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constable-states/0.5.16/const_state_variables.sol.0.5.16.CouldBeConstant.json (70%) rename tests/{detectors => e2e/detectors/test_data}/constable-states/0.6.11/const_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constable-states/0.6.11/const_state_variables.sol.0.6.11.CouldBeConstant.json (70%) rename tests/{detectors => e2e/detectors/test_data}/constable-states/0.7.6/const_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constable-states/0.7.6/const_state_variables.sol.0.7.6.CouldBeConstant.json (70%) rename tests/{detectors => e2e/detectors/test_data}/constable-states/0.8.0/const_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constable-states/0.8.0/const_state_variables.sol.0.8.0.CouldBeConstant.json (70%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-asm/0.4.25/constant.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json (75%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-asm/0.5.16/constant.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-asm/0.5.16/constant.sol.0.5.16.ConstantFunctionsAsm.json (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-asm/0.6.11/constant.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-asm/0.6.11/constant.sol.0.6.11.ConstantFunctionsAsm.json (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-asm/0.7.6/constant.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-asm/0.7.6/constant.sol.0.7.6.ConstantFunctionsAsm.json (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-state/0.4.25/constant.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json (75%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-state/0.5.16/constant.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-state/0.5.16/constant.sol.0.5.16.ConstantFunctionsState.json (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-state/0.6.11/constant.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-state/0.6.11/constant.sol.0.6.11.ConstantFunctionsState.json (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-state/0.7.6/constant.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/constant-function-state/0.7.6/constant.sol.0.7.6.ConstantFunctionsState.json (100%) rename tests/{detectors => e2e/detectors/test_data}/controlled-array-length/0.4.25/array_length_assignment.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json (80%) rename tests/{detectors => e2e/detectors/test_data}/controlled-array-length/0.5.16/array_length_assignment.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json (80%) rename tests/{detectors => e2e/detectors/test_data}/controlled-delegatecall/0.4.25/controlled_delegatecall.sol (100%) rename tests/{detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json => e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json} (73%) rename tests/{detectors => e2e/detectors/test_data}/controlled-delegatecall/0.5.16/controlled_delegatecall.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json (73%) rename tests/{detectors => e2e/detectors/test_data}/controlled-delegatecall/0.6.11/controlled_delegatecall.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json (73%) rename tests/{detectors => e2e/detectors/test_data}/controlled-delegatecall/0.7.6/controlled_delegatecall.sol (100%) rename tests/{detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json => e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json} (74%) rename tests/{detectors => e2e/detectors/test_data}/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json (79%) rename tests/{detectors => e2e/detectors/test_data}/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json (79%) rename tests/{detectors => e2e/detectors/test_data}/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json (79%) rename tests/{detectors => e2e/detectors/test_data}/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json (79%) rename tests/{detectors => e2e/detectors/test_data}/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json (77%) rename tests/{detectors => e2e/detectors/test_data}/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json (100%) rename tests/{detectors => e2e/detectors/test_data}/dead-code/0.8.0/dead-code.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/dead-code/0.8.0/dead-code.sol.0.8.0.DeadCode.json (68%) rename tests/{detectors => e2e/detectors/test_data}/delegatecall-loop/0.4.25/delegatecall_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/delegatecall-loop/0.4.25/delegatecall_loop.sol.0.4.25.DelegatecallInLoop.json (77%) rename tests/{detectors => e2e/detectors/test_data}/delegatecall-loop/0.5.16/delegatecall_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/delegatecall-loop/0.5.16/delegatecall_loop.sol.0.5.16.DelegatecallInLoop.json (77%) rename tests/{detectors => e2e/detectors/test_data}/delegatecall-loop/0.6.11/delegatecall_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/delegatecall-loop/0.6.11/delegatecall_loop.sol.0.6.11.DelegatecallInLoop.json (77%) rename tests/{detectors => e2e/detectors/test_data}/delegatecall-loop/0.7.6/delegatecall_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/delegatecall-loop/0.7.6/delegatecall_loop.sol.0.7.6.DelegatecallInLoop.json (77%) rename tests/{detectors => e2e/detectors/test_data}/delegatecall-loop/0.8.0/delegatecall_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/delegatecall-loop/0.8.0/delegatecall_loop.sol.0.8.0.DelegatecallInLoop.json (77%) rename tests/{detectors => e2e/detectors/test_data}/deprecated-standards/0.4.25/deprecated_calls.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/deprecated-standards/0.4.25/deprecated_calls.sol.0.4.25.DeprecatedStandards.json (74%) rename tests/{detectors => e2e/detectors/test_data}/divide-before-multiply/0.4.25/divide_before_multiply.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/divide-before-multiply/0.4.25/divide_before_multiply.sol.0.4.25.DivideBeforeMultiply.json (68%) rename tests/{detectors => e2e/detectors/test_data}/divide-before-multiply/0.5.16/divide_before_multiply.sol (100%) rename tests/{detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json => e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json} (68%) rename tests/{detectors => e2e/detectors/test_data}/divide-before-multiply/0.6.11/divide_before_multiply.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/divide-before-multiply/0.6.11/divide_before_multiply.sol.0.6.11.DivideBeforeMultiply.json (68%) rename tests/{detectors => e2e/detectors/test_data}/divide-before-multiply/0.7.6/divide_before_multiply.sol (100%) rename tests/{detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json => e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json} (68%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.4.25/permit_domain_collision.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.4.25/permit_domain_collision.sol.0.4.25.DomainSeparatorCollision.json (90%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol.0.4.25.DomainSeparatorCollision.json (89%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol.0.4.25.DomainSeparatorCollision.json (89%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.5.16/permit_domain_collision.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.5.16/permit_domain_collision.sol.0.5.16.DomainSeparatorCollision.json (90%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol.0.5.16.DomainSeparatorCollision.json (89%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol.0.5.16.DomainSeparatorCollision.json (89%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.6.11/permit_domain_collision.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.6.11/permit_domain_collision.sol.0.6.11.DomainSeparatorCollision.json (90%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol.0.6.11.DomainSeparatorCollision.json (89%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol.0.6.11.DomainSeparatorCollision.json (89%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.7.6/permit_domain_collision.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.7.6/permit_domain_collision.sol.0.7.6.DomainSeparatorCollision.json (90%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol.0.7.6.DomainSeparatorCollision.json (89%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol.0.7.6.DomainSeparatorCollision.json (89%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.8.0/permit_domain_collision.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.8.0/permit_domain_collision.sol.0.8.0.DomainSeparatorCollision.json (90%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol.0.8.0.DomainSeparatorCollision.json (89%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol.0.8.0.DomainSeparatorCollision.json (89%) rename tests/{detectors => e2e/detectors/test_data}/enum-conversion/0.4.2/enum_conversion.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/enum-conversion/0.4.2/enum_conversion.sol.0.4.2.EnumConversion.json (100%) rename tests/{detectors => e2e/detectors/test_data}/erc20-indexed/0.4.25/erc20_indexed.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json (72%) rename tests/{detectors => e2e/detectors/test_data}/erc20-indexed/0.5.16/erc20_indexed.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json (72%) rename tests/{detectors => e2e/detectors/test_data}/erc20-indexed/0.6.11/erc20_indexed.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json (72%) rename tests/{detectors => e2e/detectors/test_data}/erc20-indexed/0.7.6/erc20_indexed.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json (72%) rename tests/{detectors => e2e/detectors/test_data}/erc20-interface/0.4.25/incorrect_erc20_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json (63%) rename tests/{detectors => e2e/detectors/test_data}/erc20-interface/0.5.16/incorrect_erc20_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json (63%) rename tests/{detectors => e2e/detectors/test_data}/erc20-interface/0.6.11/incorrect_erc20_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json (63%) rename tests/{detectors => e2e/detectors/test_data}/erc20-interface/0.7.6/incorrect_erc20_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json (64%) rename tests/{detectors => e2e/detectors/test_data}/erc721-interface/0.4.25/incorrect_erc721_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json (65%) rename tests/{detectors => e2e/detectors/test_data}/erc721-interface/0.5.16/incorrect_erc721_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json (65%) rename tests/{detectors => e2e/detectors/test_data}/erc721-interface/0.6.11/incorrect_erc721_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json (65%) rename tests/{detectors => e2e/detectors/test_data}/erc721-interface/0.7.6/incorrect_erc721_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json (65%) rename tests/{detectors => e2e/detectors/test_data}/events-access/0.4.25/missing_events_access_control.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json (80%) rename tests/{detectors => e2e/detectors/test_data}/events-access/0.5.16/missing_events_access_control.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json (80%) rename tests/{detectors => e2e/detectors/test_data}/events-access/0.6.11/missing_events_access_control.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json (80%) rename tests/{detectors => e2e/detectors/test_data}/events-access/0.7.6/missing_events_access_control.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json (80%) rename tests/{detectors => e2e/detectors/test_data}/events-maths/0.4.25/missing_events_arithmetic.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json (83%) rename tests/{detectors => e2e/detectors/test_data}/events-maths/0.5.16/missing_events_arithmetic.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json (83%) rename tests/{detectors => e2e/detectors/test_data}/events-maths/0.6.11/missing_events_arithmetic.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json (83%) rename tests/{detectors => e2e/detectors/test_data}/events-maths/0.7.6/missing_events_arithmetic.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json (84%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.4.25/external_function.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.4.25/external_function_2.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.4.25/external_function_2.sol.0.4.25.ExternalFunction.json (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.4.25/external_function_3.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.4.25/external_function_3.sol.0.4.25.ExternalFunction.json (71%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.4.25/external_function_import.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.5.16/external_function.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.5.16/external_function_2.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.5.16/external_function_2.sol.0.5.16.ExternalFunction.json (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.5.16/external_function_3.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.5.16/external_function_3.sol.0.5.16.ExternalFunction.json (68%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.5.16/external_function_import.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.6.11/external_function.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.6.11/external_function_2.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.6.11/external_function_2.sol.0.6.11.ExternalFunction.json (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.6.11/external_function_3.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.6.11/external_function_3.sol.0.6.11.ExternalFunction.json (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.6.11/external_function_import.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.7.6/external_function.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.7.6/external_function_2.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.7.6/external_function_2.sol.0.7.6.ExternalFunction.json (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.7.6/external_function_3.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.7.6/external_function_3.sol.0.7.6.ExternalFunction.json (100%) rename tests/{detectors => e2e/detectors/test_data}/external-function/0.7.6/external_function_import.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/function-init-state/0.4.25/function_init_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json (73%) rename tests/{detectors => e2e/detectors/test_data}/function-init-state/0.5.16/function_init_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json (73%) rename tests/{detectors => e2e/detectors/test_data}/function-init-state/0.6.11/function_init_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json (73%) rename tests/{detectors => e2e/detectors/test_data}/function-init-state/0.7.6/function_init_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json (73%) rename tests/{detectors => e2e/detectors/test_data}/immutable-states/0.4.25/immut_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/immutable-states/0.4.25/immut_state_variables.sol.0.4.25.CouldBeImmutable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/immutable-states/0.5.16/immut_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/immutable-states/0.5.16/immut_state_variables.sol.0.5.16.CouldBeImmutable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/immutable-states/0.6.11/immut_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/immutable-states/0.6.11/immut_state_variables.sol.0.6.11.CouldBeImmutable.json (70%) rename tests/{detectors => e2e/detectors/test_data}/immutable-states/0.7.6/immut_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/immutable-states/0.7.6/immut_state_variables.sol.0.7.6.CouldBeImmutable.json (70%) rename tests/{detectors => e2e/detectors/test_data}/immutable-states/0.8.0/immut_state_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/immutable-states/0.8.0/immut_state_variables.sol.0.8.0.CouldBeImmutable.json (71%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-equality/0.4.25/incorrect_equality.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json (81%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-equality/0.5.16/incorrect_equality.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json (81%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-equality/0.6.11/incorrect_equality.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json (81%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-equality/0.7.6/incorrect_equality.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json (81%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-modifier/0.4.25/modifier_default.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json (80%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-modifier/0.5.16/modifier_default.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json (80%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-modifier/0.6.11/modifier_default.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json (80%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-modifier/0.7.6/modifier_default.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json (80%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-shift/0.4.25/shift_parameter_mixup.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-shift/0.4.25/shift_parameter_mixup.sol.0.4.25.ShiftParameterMixup.json (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-shift/0.5.16/shift_parameter_mixup.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-shift/0.5.16/shift_parameter_mixup.sol.0.5.16.ShiftParameterMixup.json (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-shift/0.6.11/shift_parameter_mixup.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-shift/0.6.11/shift_parameter_mixup.sol.0.6.11.ShiftParameterMixup.json (71%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-shift/0.7.6/shift_parameter_mixup.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-shift/0.7.6/shift_parameter_mixup.sol.0.7.6.ShiftParameterMixup.json (71%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-unary/0.4.25/invalid_unary_expression.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json (74%) rename tests/{detectors => e2e/detectors/test_data}/locked-ether/0.4.25/locked_ether.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json (65%) rename tests/{detectors => e2e/detectors/test_data}/locked-ether/0.5.16/locked_ether.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json (65%) rename tests/{detectors => e2e/detectors/test_data}/locked-ether/0.6.11/locked_ether.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json (65%) rename tests/{detectors => e2e/detectors/test_data}/locked-ether/0.7.6/locked_ether.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json (65%) rename tests/{detectors => e2e/detectors/test_data}/low-level-calls/0.4.25/low_level_calls.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json (71%) rename tests/{detectors => e2e/detectors/test_data}/low-level-calls/0.5.16/low_level_calls.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json (71%) rename tests/{detectors => e2e/detectors/test_data}/low-level-calls/0.6.11/low_level_calls.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json (71%) rename tests/{detectors => e2e/detectors/test_data}/low-level-calls/0.7.6/low_level_calls.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json (72%) rename tests/{detectors => e2e/detectors/test_data}/mapping-deletion/0.4.25/MappingDeletion.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json (76%) rename tests/{detectors => e2e/detectors/test_data}/mapping-deletion/0.5.16/MappingDeletion.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json (76%) rename tests/{detectors => e2e/detectors/test_data}/mapping-deletion/0.6.11/MappingDeletion.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json (76%) rename tests/{detectors => e2e/detectors/test_data}/mapping-deletion/0.7.6/MappingDeletion.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json (76%) rename tests/{detectors => e2e/detectors/test_data}/missing-inheritance/0.4.25/unimplemented_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/missing-inheritance/0.4.25/unimplemented_interface.sol.0.4.25.MissingInheritance.json (57%) rename tests/{detectors => e2e/detectors/test_data}/missing-inheritance/0.5.16/unimplemented_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/missing-inheritance/0.5.16/unimplemented_interface.sol.0.5.16.MissingInheritance.json (57%) rename tests/{detectors => e2e/detectors/test_data}/missing-inheritance/0.6.11/unimplemented_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/missing-inheritance/0.6.11/unimplemented_interface.sol.0.6.11.MissingInheritance.json (57%) rename tests/{detectors => e2e/detectors/test_data}/missing-inheritance/0.7.6/unimplemented_interface.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/missing-inheritance/0.7.6/unimplemented_interface.sol.0.7.6.MissingInheritance.json (57%) rename tests/{detectors => e2e/detectors/test_data}/missing-zero-check/0.4.25/missing_zero_address_validation.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json (83%) rename tests/{detectors => e2e/detectors/test_data}/missing-zero-check/0.5.16/missing_zero_address_validation.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json (83%) rename tests/{detectors => e2e/detectors/test_data}/missing-zero-check/0.6.11/missing_zero_address_validation.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json (83%) rename tests/{detectors => e2e/detectors/test_data}/missing-zero-check/0.7.6/missing_zero_address_validation.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json (84%) rename tests/{detectors => e2e/detectors/test_data}/msg-value-loop/0.4.25/msg_value_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/msg-value-loop/0.4.25/msg_value_loop.sol.0.4.25.MsgValueInLoop.json (78%) rename tests/{detectors => e2e/detectors/test_data}/msg-value-loop/0.5.16/msg_value_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/msg-value-loop/0.5.16/msg_value_loop.sol.0.5.16.MsgValueInLoop.json (78%) rename tests/{detectors => e2e/detectors/test_data}/msg-value-loop/0.6.11/msg_value_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/msg-value-loop/0.6.11/msg_value_loop.sol.0.6.11.MsgValueInLoop.json (78%) rename tests/{detectors => e2e/detectors/test_data}/msg-value-loop/0.7.6/msg_value_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/msg-value-loop/0.7.6/msg_value_loop.sol.0.7.6.MsgValueInLoop.json (78%) rename tests/{detectors => e2e/detectors/test_data}/msg-value-loop/0.8.0/msg_value_loop.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/msg-value-loop/0.8.0/msg_value_loop.sol.0.8.0.MsgValueInLoop.json (78%) rename tests/{detectors => e2e/detectors/test_data}/multiple-constructors/0.4.22/multiple_constructor_schemes.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/multiple-constructors/0.4.22/multiple_constructor_schemes.sol.0.4.22.MultipleConstructorSchemes.json (67%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.4.25/naming_convention.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json (77%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.4.25/naming_convention_ignore.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.4.25/no_warning_for_public_constants.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.4.25/no_warning_for_public_constants.sol.0.4.25.NamingConvention.json (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.5.16/naming_convention.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json (77%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.5.16/naming_convention_ignore.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.5.16/no_warning_for_public_constants.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.5.16/no_warning_for_public_constants.sol.0.5.16.NamingConvention.json (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.6.11/naming_convention.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json (77%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.6.11/naming_convention_ignore.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.6.11/no_warning_for_public_constants.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.6.11/no_warning_for_public_constants.sol.0.6.11.NamingConvention.json (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.7.6/naming_convention.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json (77%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.7.6/naming_convention_ignore.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.7.6/no_warning_for_public_constants.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/naming-convention/0.7.6/no_warning_for_public_constants.sol.0.7.6.NamingConvention.json (100%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.4.25/pragma.0.4.24.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.4.25/pragma.0.4.25.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json (69%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.5.16/pragma.0.5.15.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.5.16/pragma.0.5.16.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json (69%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.6.11/pragma.0.6.10.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.6.11/pragma.0.6.11.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json (69%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.7.6/pragma.0.7.5.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.7.6/pragma.0.7.6.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json (67%) rename tests/{detectors => e2e/detectors/test_data}/protected-vars/0.8.2/comment.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/protected-vars/0.8.2/comment.sol.0.8.2.ProtectedVariables.json (77%) rename tests/{detectors => e2e/detectors/test_data}/public-mappings-nested/0.4.25/public_mappings_nested.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json (68%) rename tests/{detectors => e2e/detectors/test_data}/redundant-statements/0.4.25/redundant_statements.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json (73%) rename tests/{detectors => e2e/detectors/test_data}/redundant-statements/0.5.16/redundant_statements.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json (73%) rename tests/{detectors => e2e/detectors/test_data}/redundant-statements/0.6.11/redundant_statements.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json (73%) rename tests/{detectors => e2e/detectors/test_data}/redundant-statements/0.7.6/redundant_statements.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json (73%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-benign/0.4.25/reentrancy-benign.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json (86%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-benign/0.5.16/reentrancy-benign.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json (86%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-benign/0.6.11/reentrancy-benign.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json (86%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-benign/0.7.6/reentrancy-benign.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json (82%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.4.25/DAO.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json (94%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.4.25/reentrancy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json (78%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.4.25/reentrancy_indirect.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json (74%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.5.16/reentrancy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json (78%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.5.16/reentrancy_indirect.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json (74%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.6.11/reentrancy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json (78%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.6.11/reentrancy_indirect.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json (74%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.7.6/reentrancy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json (78%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.7.6/reentrancy_indirect.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json (74%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol.0.8.10.ReentrancyEth.json (70%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol.0.8.10.ReentrancyEth.json (73%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-events/0.5.16/reentrancy-events.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json (75%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-events/0.6.11/reentrancy-events.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json (75%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-events/0.7.6/reentrancy-events.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json (75%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.4.25/DAO.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json (95%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.4.25/reentrancy-write.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json (78%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol.0.5.16.ReentrancyReadBeforeWritten.json (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.5.16/reentrancy-write.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json (78%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol.0.6.11.ReentrancyReadBeforeWritten.json (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.6.11/reentrancy-write.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json (78%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol.0.7.6.ReentrancyReadBeforeWritten.json (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.7.6/reentrancy-write.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json (78%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.8.2/comment.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reentrancy-no-eth/0.8.2/comment.sol.0.8.2.ReentrancyReadBeforeWritten.json (100%) rename tests/{detectors => e2e/detectors/test_data}/reused-constructor/0.4.21/reused_base_constructor.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json (59%) rename tests/{detectors => e2e/detectors/test_data}/reused-constructor/0.4.25/reused_base_constructor.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json (59%) rename tests/{detectors => e2e/detectors/test_data}/rtlo/0.4.25/right_to_left_override.sol (100%) create mode 100644 tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json rename tests/{detectors => e2e/detectors/test_data}/rtlo/0.5.16/right_to_left_override.sol (100%) create mode 100644 tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json rename tests/{detectors => e2e/detectors/test_data}/rtlo/0.6.11/right_to_left_override.sol (100%) create mode 100644 tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json rename tests/{detectors => e2e/detectors/test_data}/rtlo/0.8.0/unicode_direction_override.sol (100%) create mode 100644 tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json rename tests/{detectors => e2e/detectors/test_data}/shadowing-abstract/0.4.25/shadowing_abstract.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json (64%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-abstract/0.5.16/shadowing_abstract.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json (64%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-abstract/0.7.5/public_gap_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-abstract/0.7.5/public_gap_variable.sol.0.7.5.ShadowingAbstractDetection.json (64%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-abstract/0.7.5/shadowing_state_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-abstract/0.7.5/shadowing_state_variable.sol.0.7.5.ShadowingAbstractDetection.json (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json (68%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json (68%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-local/0.4.25/shadowing_local_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json (71%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-local/0.5.16/shadowing_local_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json (72%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-local/0.6.11/shadowing_local_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json (73%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-local/0.7.6/shadowing_local_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json (73%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.4.25/shadowing_state_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json (67%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.5.16/shadowing_state_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json (67%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.6.11/shadowing_state_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.6.11/shadowing_state_variable.sol.0.6.11.StateShadowing.json (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.7.5/public_gap_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.7.5/public_gap_variable.sol.0.7.5.StateShadowing.json (65%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.7.5/shadowing_state_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.7.5/shadowing_state_variable.sol.0.7.5.StateShadowing.json (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.7.6/shadowing_state_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/shadowing-state/0.7.6/shadowing_state_variable.sol.0.7.6.StateShadowing.json (100%) rename tests/{detectors => e2e/detectors/test_data}/similar-names/0.4.25/similar_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/similar-names/0.4.25/similar_variables.sol.0.4.25.SimilarVarsDetection.json (77%) rename tests/{detectors => e2e/detectors/test_data}/similar-names/0.5.16/similar_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/similar-names/0.5.16/similar_variables.sol.0.5.16.SimilarVarsDetection.json (77%) rename tests/{detectors => e2e/detectors/test_data}/similar-names/0.6.11/similar_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/similar-names/0.6.11/similar_variables.sol.0.6.11.SimilarVarsDetection.json (77%) rename tests/{detectors => e2e/detectors/test_data}/similar-names/0.7.6/similar_variables.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/similar-names/0.7.6/similar_variables.sol.0.7.6.SimilarVarsDetection.json (77%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.4.25/static.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json (67%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.5.14/static.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json (64%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.5.16/dynamic_1.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json (57%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.5.16/dynamic_2.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json (58%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.5.16/static.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.5.16/static.sol.0.5.16.IncorrectSolc.json (67%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.6.10/static.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json (67%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.6.11/dynamic_1.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json (57%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.6.11/dynamic_2.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json (58%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.6.11/static.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.6.11/static.sol.0.6.11.IncorrectSolc.json (67%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.7.4/static.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json (67%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.7.6/dynamic_1.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json (57%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.7.6/dynamic_2.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json (62%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.7.6/static.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/solc-version/0.7.6/static.sol.0.7.6.IncorrectSolc.json (67%) rename tests/{detectors => e2e/detectors/test_data}/storage-array/0.5.10/storage_signed_integer_array.sol (100%) create mode 100644 tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json rename tests/{detectors => e2e/detectors/test_data}/storage-array/0.5.16/storage_signed_integer_array.sol (100%) create mode 100644 tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json rename tests/{detectors => e2e/detectors/test_data}/suicidal/0.4.25/suicidal.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json (68%) rename tests/{detectors => e2e/detectors/test_data}/suicidal/0.5.16/suicidal.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json (68%) rename tests/{detectors => e2e/detectors/test_data}/suicidal/0.6.11/suicidal.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json (68%) rename tests/{detectors => e2e/detectors/test_data}/suicidal/0.7.6/suicidal.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json (69%) rename tests/{detectors => e2e/detectors/test_data}/tautology/0.4.25/type_based_tautology.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/tautology/0.4.25/type_based_tautology.sol.0.4.25.TypeBasedTautology.json (73%) rename tests/{detectors => e2e/detectors/test_data}/tautology/0.5.16/type_based_tautology.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/tautology/0.5.16/type_based_tautology.sol.0.5.16.TypeBasedTautology.json (73%) rename tests/{detectors => e2e/detectors/test_data}/tautology/0.6.11/type_based_tautology.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/tautology/0.6.11/type_based_tautology.sol.0.6.11.TypeBasedTautology.json (73%) rename tests/{detectors => e2e/detectors/test_data}/tautology/0.7.6/type_based_tautology.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/tautology/0.7.6/type_based_tautology.sol.0.7.6.TypeBasedTautology.json (73%) rename tests/{detectors => e2e/detectors/test_data}/timestamp/0.4.25/timestamp.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json (76%) rename tests/{detectors => e2e/detectors/test_data}/timestamp/0.5.16/timestamp.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json (76%) rename tests/{detectors => e2e/detectors/test_data}/timestamp/0.6.11/timestamp.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json (76%) rename tests/{detectors => e2e/detectors/test_data}/timestamp/0.7.6/timestamp.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json (76%) rename tests/{detectors => e2e/detectors/test_data}/too-many-digits/0.4.25/too_many_digits.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json (80%) rename tests/{detectors => e2e/detectors/test_data}/too-many-digits/0.5.16/too_many_digits.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json (80%) rename tests/{detectors => e2e/detectors/test_data}/too-many-digits/0.6.11/too_many_digits.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json (80%) rename tests/{detectors => e2e/detectors/test_data}/too-many-digits/0.7.6/too_many_digits.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json (80%) rename tests/{detectors => e2e/detectors/test_data}/tx-origin/0.4.25/tx_origin.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json (78%) rename tests/{detectors => e2e/detectors/test_data}/tx-origin/0.5.16/tx_origin.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json (78%) rename tests/{detectors => e2e/detectors/test_data}/tx-origin/0.6.11/tx_origin.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json (78%) rename tests/{detectors => e2e/detectors/test_data}/tx-origin/0.7.6/tx_origin.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json (78%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json (71%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json (71%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json (71%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json (71%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-send/0.4.25/unchecked_send.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json (75%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-send/0.5.16/unchecked_send.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json (75%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-send/0.6.11/unchecked_send.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json (75%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-send/0.7.6/unchecked_send.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json (75%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-transfer/0.7.6/unused_return_transfers.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json (80%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.4.25/unimplemented.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json (63%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.5.16/unimplemented.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json (63%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.5.16/unimplemented_interfaces.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.5.16/unimplemented_interfaces.sol.0.5.16.UnimplementedFunctionDetection.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.6.11/unimplemented.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json (63%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.6.11/unimplemented_interfaces.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.6.11/unimplemented_interfaces.sol.0.6.11.UnimplementedFunctionDetection.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.7.6/unimplemented.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json (63%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.7.6/unimplemented_interfaces.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unimplemented-functions/0.7.6/unimplemented_interfaces.sol.0.7.6.UnimplementedFunctionDetection.json (100%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol (100%) rename tests/{detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json => e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json} (65%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol (100%) create mode 100644 tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json rename tests/{detectors => e2e/detectors/test_data}/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol (100%) rename tests/{detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json => e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json} (66%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-local/0.4.25/uninitialized_local_variable.sol (100%) rename tests/{detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json => e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json} (74%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-local/0.5.16/uninitialized_local_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json (74%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-local/0.6.11/uninitialized_local_variable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json (74%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-local/0.7.6/uninitialized_local_variable.sol (100%) rename tests/{detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json => e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json} (74%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-state/0.4.25/uninitialized.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json (70%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-state/0.5.16/uninitialized.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json (70%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-state/0.6.11/uninitialized.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json (70%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-state/0.7.6/uninitialized.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json (70%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json (72%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol.0.8.19.UninitializedStorageVars.json (73%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.4.25/Buggy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json (70%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.4.25/Fixed.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.4.25/Fixed.sol.0.4.25.UnprotectedUpgradeable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.4.25/Initializable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.4.25/OnlyProxy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.4.25/whitelisted.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.4.25/whitelisted.sol.0.4.25.UnprotectedUpgradeable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.5.16/Buggy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json (70%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.5.16/Fixed.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.5.16/Fixed.sol.0.5.16.UnprotectedUpgradeable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.5.16/Initializable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.5.16/OnlyProxy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.5.16/whitelisted.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.5.16/whitelisted.sol.0.5.16.UnprotectedUpgradeable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.6.11/Buggy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json (70%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.6.11/Fixed.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.6.11/Fixed.sol.0.6.11.UnprotectedUpgradeable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.6.11/Initializable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.6.11/OnlyProxy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.6.11/whitelisted.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.6.11/whitelisted.sol.0.6.11.UnprotectedUpgradeable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.7.6/Buggy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json (70%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.7.6/Fixed.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.7.6/Fixed.sol.0.7.6.UnprotectedUpgradeable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.7.6/Initializable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.7.6/OnlyProxy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.7.6/whitelisted.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.7.6/whitelisted.sol.0.7.6.UnprotectedUpgradeable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.8.15/Buggy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.8.15/Buggy.sol.0.8.15.UnprotectedUpgradeable.json (70%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.8.15/Fixed.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.8.15/Fixed.sol.0.8.15.UnprotectedUpgradeable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.8.15/Initializable.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.8.15/OnlyProxy.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.8.15/whitelisted.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unprotected-upgrade/0.8.15/whitelisted.sol.0.8.15.UnprotectedUpgradeable.json (100%) rename tests/{detectors => e2e/detectors/test_data}/unused-return/0.4.25/unused_return.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json (77%) rename tests/{detectors => e2e/detectors/test_data}/unused-return/0.5.16/unused_return.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json (77%) rename tests/{detectors => e2e/detectors/test_data}/unused-return/0.6.11/unused_return.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json (77%) rename tests/{detectors => e2e/detectors/test_data}/unused-return/0.7.6/unused_return.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json (78%) rename tests/{detectors => e2e/detectors/test_data}/unused-state/0.4.25/unused_state.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json (66%) rename tests/{detectors => e2e/detectors/test_data}/unused-state/0.5.16/unused_state.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json (66%) rename tests/{detectors => e2e/detectors/test_data}/unused-state/0.6.11/unused_state.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json (66%) rename tests/{detectors => e2e/detectors/test_data}/unused-state/0.7.6/unused_state.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json (67%) rename tests/{detectors => e2e/detectors/test_data}/var-read-using-this/0.4.25/var_read_using_this.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/var-read-using-this/0.4.25/var_read_using_this.sol.0.4.25.VarReadUsingThis.json (100%) rename tests/{detectors => e2e/detectors/test_data}/var-read-using-this/0.5.16/var_read_using_this.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/var-read-using-this/0.5.16/var_read_using_this.sol.0.5.16.VarReadUsingThis.json (79%) rename tests/{detectors => e2e/detectors/test_data}/var-read-using-this/0.6.11/var_read_using_this.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/var-read-using-this/0.6.11/var_read_using_this.sol.0.6.11.VarReadUsingThis.json (79%) rename tests/{detectors => e2e/detectors/test_data}/var-read-using-this/0.7.6/var_read_using_this.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/var-read-using-this/0.7.6/var_read_using_this.sol.0.7.6.VarReadUsingThis.json (79%) rename tests/{detectors => e2e/detectors/test_data}/var-read-using-this/0.8.15/var_read_using_this.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/var-read-using-this/0.8.15/var_read_using_this.sol.0.8.15.VarReadUsingThis.json (79%) rename tests/{detectors => e2e/detectors/test_data}/variable-scope/0.4.25/predeclaration_usage_local.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json (77%) rename tests/{detectors => e2e/detectors/test_data}/void-cst/0.4.25/void-cst.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json (75%) rename tests/{detectors => e2e/detectors/test_data}/void-cst/0.5.16/void-cst.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json (75%) rename tests/{detectors => e2e/detectors/test_data}/void-cst/0.6.11/void-cst.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json (75%) rename tests/{detectors => e2e/detectors/test_data}/void-cst/0.7.6/void-cst.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json (75%) rename tests/{detectors => e2e/detectors/test_data}/weak-prng/0.4.25/bad_prng.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json (79%) rename tests/{detectors => e2e/detectors/test_data}/weak-prng/0.5.16/bad_prng.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json (79%) rename tests/{detectors => e2e/detectors/test_data}/weak-prng/0.6.11/bad_prng.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json (79%) rename tests/{detectors => e2e/detectors/test_data}/weak-prng/0.7.6/bad_prng.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json (79%) rename tests/{detectors => e2e/detectors/test_data}/write-after-write/0.8.0/write-after-write.sol (100%) rename tests/{detectors => e2e/detectors/test_data}/write-after-write/0.8.0/write-after-write.sol.0.8.0.WriteAfterWrite.json (84%) rename tests/{ => e2e/detectors}/test_detectors.py (99%) rename tests/{ => e2e/solc_parsing}/test_ast_parsing.py (99%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/assembly-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/assignment-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/assignment-0.4.7.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/binaryoperation-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/binaryoperation-0.4.7.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/break-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/bytes_call.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/call_to_variable-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/comment-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assembly-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/assignment-0.4.7.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/binaryoperation-0.4.7.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/break-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/bytes_call.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/call_to_variable-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/comment-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases/test.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/complex_imports/import_free/Caller.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/conditional-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/continue-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.4.22.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/contract-0.6.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom-error-selector.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.4.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error-0.8.4.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error_with_state_variable.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error_with_state_variable.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error_with_state_variable.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error_with_state_variable.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error_with_state_variable.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error_with_state_variable.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error_with_state_variable.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error_with_state_variable.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/custom_error_with_state_variable.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/dowhile-0.4.5.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.21.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.4.8.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/emit-0.5.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.4.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/enum-0.8.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/event-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/for-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/free_functions/libraries_from_free.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/free_functions/library_constant_function_collision.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/free_functions/new_operator.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.16.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.22.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.22.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.23.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.23.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.23.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.23.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.23.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.23.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.23.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.4.23.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.5.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.6.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/function-0.7.1.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.5.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.5.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.5.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.5.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.4.5.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.5.3.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.2.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.8.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.8.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.8.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.8.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.8.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.8.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.8.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.8.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.8.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.6.8.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.7.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/functioncall-0.8.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/if-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexaccess-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/indexrangeaccess-0.6.1.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_event-0.8.16.sol-0.8.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/library_implicit_conversion-0.5.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.4.10.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.5.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/literal-0.6.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/memberaccess-0.5.3.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.4.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.6.8.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.8.8.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.8.8.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.8.8.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.8.8.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.8.8.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.8.8.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.8.8.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/minmax-0.8.8.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-0.7.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/modifier_identifier_path.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/newexpression-0.5.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.5.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.6.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.7.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/pragma-0.8.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/push-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/return-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/scope-0.5.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/struct-0.6.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/ternary-with-max.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/throw-0.5.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.4.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.1.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.1.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.1.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.1.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.1.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.1.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-0.7.4.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.4.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-0.7.1.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.4.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-import-bis-0.7.1.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.4.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-nested-import-0.7.1.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top-level-struct-0.8.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.4.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable-0.8.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.4.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/top_level_variable2-0.8.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/trycatch-0.6.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.4.24.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/tupleexpression-0.5.3.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unaryexpression-0.5.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.4.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/unchecked-0.8.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.5.4.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.6.0.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.7.0.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.4.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.4.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.4.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.7.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.7.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/units_and_global_variables-0.8.7.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-0.4.1.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-1-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-2-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-3-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-4-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-alias-contract-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-global-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/using-for-in-library-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.0.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.14.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.14.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.14.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.14.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.16.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.5.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.5.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.5.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.5.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.5.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.5.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.5.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.5.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.5.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.5.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.4.5.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.5.0.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.5.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.5.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.5.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.5.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.5.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.5.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.5.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.5.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.6.9.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variable-0.8.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.0.sol-0.4.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.24.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.24.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.4.24.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/variabledeclaration-0.5.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/while-all.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.0.sol-0.4.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.1.sol-0.4.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.1.sol-0.4.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.1.sol-0.4.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.1.sol-0.4.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.1.sol-0.4.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.1.sol-0.4.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.1.sol-0.4.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.1.sol-0.4.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.1.sol-0.4.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.1.sol-0.4.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.18-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.18-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.19-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.19-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.20-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.20-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.21-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.21-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.22-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.22-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.23-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.23-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.24-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.24-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.25-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.25-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.26-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.4.26-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.13-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.14-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.15-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.16-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.17-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.17-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.5.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.10-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.11-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.12-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.7-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.8-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.4.11.sol-0.6.9-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.0.sol-0.7.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.0.sol-0.7.0-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.0.sol-0.7.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.0.sol-0.7.1-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.0.sol-0.7.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.0.sol-0.7.2-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.0.sol-0.7.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.0.sol-0.7.3-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.0.sol-0.7.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.0.sol-0.7.4-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.5.sol-0.7.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.5.sol-0.7.5-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.5.sol-0.7.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.7.5.sol-0.7.6-legacy.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.1-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.10-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.11-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.12-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.13-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.14-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.15-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.2-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.3-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.4-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.5-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.6-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.7-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.8-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-0.8.0.sol-0.8.9-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-state-constant-access.sol-0.8.16-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/compile/yul-top-level-0.8.0.sol-0.8.0-compact.zip (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/complex_imports/FreeFuns.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/complex_imports/import_aliases/import.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/complex_imports/import_aliases/test.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/complex_imports/import_aliases_issue_1319/import.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/complex_imports/import_aliases_issue_1319/test.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/complex_imports/import_aliases_issue_1319/test_fail.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/complex_imports/import_free/Caller.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/conditional-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/continue-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/contract-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/contract-0.4.22.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/contract-0.6.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/custom-error-selector.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/custom_error-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/custom_error-0.8.4.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/custom_error_with_state_variable.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/dowhile-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/dowhile-0.4.5.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/emit-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/emit-0.4.21.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/emit-0.4.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/emit-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/enum-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/enum-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/event-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assembly-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/assignment-0.4.7.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/binaryoperation-0.4.7.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/break-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/bytes_call.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/call_to_variable-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/comment-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases/test.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/complex_imports/import_free/Caller.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/conditional-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/continue-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.4.22.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/contract-0.6.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom-error-selector.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.4.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error-0.8.4.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error_with_state_variable.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error_with_state_variable.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error_with_state_variable.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error_with_state_variable.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error_with_state_variable.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error_with_state_variable.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error_with_state_variable.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error_with_state_variable.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/custom_error_with_state_variable.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/dowhile-0.4.5.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.21.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.8.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.8.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.8.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.4.8.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/emit-0.5.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.4.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/enum-0.8.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/event-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/for-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/free_functions/libraries_from_free.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/free_functions/library_constant_function_collision.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/free_functions/new_operator.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.16.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.22.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.22.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.23.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.23.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.23.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.23.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.23.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.23.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.23.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.4.23.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.5.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.6.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/function-0.7.1.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.5.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.5.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.5.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.5.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.5.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.5.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.5.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.5.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.5.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.4.5.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.5.3.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.2.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.8.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.8.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.8.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.8.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.8.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.8.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.8.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.8.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.8.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.6.8.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.7.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/functioncall-0.8.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/if-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexaccess-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/indexrangeaccess-0.6.1.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_event-0.8.16.sol-0.8.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/library_implicit_conversion-0.5.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.4.10.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.5.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/literal-0.6.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/memberaccess-0.5.3.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.4.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.6.8.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.8.8.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.8.8.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.8.8.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.8.8.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.8.8.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.8.8.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.8.8.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/minmax-0.8.8.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-0.7.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/modifier_identifier_path.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/newexpression-0.5.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.5.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.6.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.7.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/pragma-0.8.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/push-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/return-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/scope-0.5.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/struct-0.6.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/ternary-with-max.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/throw-0.5.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.4.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.1.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.1.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.1.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.1.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.1.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.1.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-0.7.4.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.4.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-0.7.1.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.4.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-import-bis-0.7.1.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.4.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-nested-import-0.7.1.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top-level-struct-0.8.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.4.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable-0.8.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.4.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/top_level_variable2-0.8.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/trycatch-0.6.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.4.24.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/tupleexpression-0.5.3.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unaryexpression-0.5.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.4.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/unchecked-0.8.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.5.4.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.6.0.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.7.0.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.4.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.4.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.4.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.7.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.7.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/units_and_global_variables-0.8.7.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_types.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_types.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_types.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_types.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-0.4.1.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-1-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-2-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-3-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-4-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-alias-contract-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-global-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/using-for-in-library-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.0.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.14.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.14.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.14.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.14.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.16.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.4.5.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.5.0.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.5.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.5.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.5.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.5.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.5.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.5.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.5.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.5.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.6.9.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variable-0.8.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/variabledeclaration-0.5.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/while-all.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.0.sol-0.4.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.0.sol-0.4.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.1.sol-0.4.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.18-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.18-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.19-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.19-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.20-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.20-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.21-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.21-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.22-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.22-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.23-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.23-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.24-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.24-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.25-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.25-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.26-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.4.26-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.13-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.14-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.15-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.16-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.17-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.17-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.5.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.10-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.11-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.12-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.7-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.8-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.4.11.sol-0.6.9-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.0.sol-0.7.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.0.sol-0.7.0-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.0.sol-0.7.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.0.sol-0.7.1-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.0.sol-0.7.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.0.sol-0.7.2-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.0.sol-0.7.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.0.sol-0.7.3-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.0.sol-0.7.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.0.sol-0.7.4-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.5.sol-0.7.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.5.sol-0.7.5-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.5.sol-0.7.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.7.5.sol-0.7.6-legacy.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.0-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.1-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.10-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.11-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.12-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.13-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.14-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.15-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.2-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.3-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.4-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.5-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.6-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.7-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.8-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-0.8.0.sol-0.8.9-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/expected/yul-state-constant-access.sol-0.8.16-compact.json (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/for-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/free_functions/libraries_from_free.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/free_functions/library_constant_function_collision.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/free_functions/new_operator.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/function-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/function-0.4.16.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/function-0.4.22.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/function-0.4.23.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/function-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/function-0.6.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/function-0.7.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/function-0.7.1.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/functioncall-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/functioncall-0.4.22.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/functioncall-0.4.5.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/functioncall-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/functioncall-0.5.3.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/functioncall-0.6.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/functioncall-0.6.2.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/functioncall-0.6.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/functioncall-0.7.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/functioncall-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/helper/helper.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/helper/import-1.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/helper/import-2.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/helper/interface_with_struct.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/helper/nested_import.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/if-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/import-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/import-0.4.3.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/import_interface_with_struct_from_top_level-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/import_interface_with_struct_from_top_level-0.7.6.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/indexaccess-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/indexrangeaccess-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/indexrangeaccess-0.6.1.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/library_event-0.8.16.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/library_implicit_conversion-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/library_implicit_conversion-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/literal-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/literal-0.4.10.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/literal-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/literal-0.6.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/literal-0.7.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/memberaccess-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/memberaccess-0.5.14.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/memberaccess-0.5.3.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/memberaccess-0.6.7.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/memberaccess-0.6.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/minmax-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/minmax-0.6.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/minmax-0.8.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/modifier-0.7.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/modifier-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/modifier_identifier_path.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/newexpression-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/newexpression-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/pragma-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/pragma-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/pragma-0.6.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/pragma-0.7.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/pragma-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/push-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/return-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/scope-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/scope-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/struct-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/struct-0.6.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/ternary-with-max.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/throw-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/throw-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top-level-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top-level-0.7.1.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top-level-0.7.4.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top-level-import-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top-level-import-0.7.1.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top-level-import-bis-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top-level-import-bis-0.7.1.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top-level-nested-import-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top-level-nested-import-0.7.1.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top-level-struct-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top_level_variable-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top_level_variable-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top_level_variable2-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/top_level_variable2-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/trycatch-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/trycatch-0.6.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/tupleexpression-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/tupleexpression-0.4.24.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/tupleexpression-0.5.3.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/unaryexpression-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/unaryexpression-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/unchecked-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/unchecked-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/units_and_global_variables-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/units_and_global_variables-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/units_and_global_variables-0.5.4.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/units_and_global_variables-0.6.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/units_and_global_variables-0.7.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/units_and_global_variables-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/units_and_global_variables-0.8.12.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/units_and_global_variables-0.8.4.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/units_and_global_variables-0.8.7.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/user_defined_value_type/argument-0.8.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/user_defined_value_type/calldata-0.8.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/user_defined_value_type/constant-0.8.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/user_defined_value_type/erc20-0.8.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/user_defined_value_type/in_parenthesis-0.8.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/user_defined_value_type/top-level-0.8.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/user_defined_value_type/user_defined_types-0.8.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/user_defined_value_type/using-for-0.8.8.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-0.4.1.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-1-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-2-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-3-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-4-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-alias-contract-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-alias-dep1.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-alias-dep2.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-alias-top-level-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-functions-list-1-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-functions-list-2-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-functions-list-3-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-functions-list-4-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-global-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-in-library-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/using-for-library-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/variable-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/variable-0.4.14.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/variable-0.4.16.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/variable-0.4.5.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/variable-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/variable-0.6.5.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/variable-0.6.9.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/variable-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/variabledeclaration-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/variabledeclaration-0.4.24.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/variabledeclaration-0.5.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/while-all.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/yul-0.4.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/yul-0.4.1.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/yul-0.4.11.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/yul-0.7.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/yul-0.7.5.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/yul-0.8.0.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/yul-state-constant-access.sol (100%) rename tests/{ast-parsing => e2e/solc_parsing/test_data}/yul-top-level-0.8.0.sol (100%) diff --git a/tests/detectors/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json b/tests/detectors/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json deleted file mode 100644 index d78db7c2d4..0000000000 --- a/tests/detectors/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/detectors/rtlo/0.4.25/right_to_left_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.4.25/right_to_left_override.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 18, - "ending_column": 21 - } - } - ], - "description": "tests/detectors/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/detectors/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": "02545af9e98ed496f7c9e2b2de0f66bcf8e8e31c25a2a2626b5bad92619b1f85", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json b/tests/detectors/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json deleted file mode 100644 index ab3554e53e..0000000000 --- a/tests/detectors/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/detectors/rtlo/0.5.16/right_to_left_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.5.16/right_to_left_override.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 18, - "ending_column": 21 - } - } - ], - "description": "tests/detectors/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/detectors/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": "d347f1cb6d791b00f8a6ad65c201eeaa527636f2bf2c5529102441c56e994b33", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json b/tests/detectors/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json deleted file mode 100644 index 4c3c1fd072..0000000000 --- a/tests/detectors/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/detectors/rtlo/0.6.11/right_to_left_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.6.11/right_to_left_override.sol", - "is_dependency": false, - "lines": [ - 7 - ], - "starting_column": 18, - "ending_column": 21 - } - } - ], - "description": "tests/detectors/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/detectors/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": "2cc2fa8e55fae035ed2ebc4798c488d64e92c7c9875fe6699e39103c0b95c264", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json b/tests/detectors/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json deleted file mode 100644 index 0ea71a81fe..0000000000 --- a/tests/detectors/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/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 14, - "ending_column": 17 - } - } - ], - "description": "tests/detectors/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/detectors/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": "2407672dea557be27d0c488ba9c714e6a7f21dd3f7759058e718c1984e142f95", - "check": "rtlo", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 348, - "length": 3, - "filename_relative": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 26, - "ending_column": 29 - } - } - ], - "description": "tests/detectors/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/detectors/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": "477e54031d4d30d485b9cdc2d7ef3e9ae3de52640364505df8eb9619c2bcde6b", - "check": "rtlo", - "impact": "High", - "confidence": "High" - }, - { - "elements": [ - { - "type": "other", - "name": "rtlo-character", - "source_mapping": { - "start": 342, - "length": 3, - "filename_relative": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/rtlo/0.8.0/unicode_direction_override.sol", - "is_dependency": false, - "lines": [ - 8 - ], - "starting_column": 20, - "ending_column": 23 - } - } - ], - "description": "tests/detectors/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/detectors/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": "9dd23585bb0ff1f244f749281b27f62978e0bb5b0ae58c8c9cb6d3f9c7e82253", - "check": "rtlo", - "impact": "High", - "confidence": "High" - } - ] -] \ No newline at end of file diff --git a/tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json b/tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json deleted file mode 100644 index 5825bcacc6..0000000000 --- a/tests/detectors/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/detectors/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json b/tests/detectors/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json deleted file mode 100644 index 5825bcacc6..0000000000 --- a/tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json b/tests/detectors/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json deleted file mode 100644 index 5825bcacc6..0000000000 --- a/tests/detectors/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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol b/tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol similarity index 100% rename from tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol rename to tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol diff --git a/tests/detectors/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 similarity index 85% rename from tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json rename to tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol.0.4.25.ABIEncoderV2Array.json index 9260ee2b99..ee268cdaae 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1076, "length": 154, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 39, @@ -27,9 +27,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -143,9 +143,9 @@ "source_mapping": { "start": 1195, "length": 30, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 40 @@ -160,9 +160,9 @@ "source_mapping": { "start": 1076, "length": 154, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 39, @@ -179,9 +179,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -292,10 +292,10 @@ } } ], - "description": "Function A.bad3() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#40)\n", - "markdown": "Function [A.bad3()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L40)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L39-L41", - "id": "0c50cf7f7b16d965ef04035beb09d25f3fa1fa4afeeb079ea42f2db879e8f1e9", + "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" @@ -304,18 +304,18 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad0", "source_mapping": { - "start": 1296, - "length": 148, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 44, - 45, - 46 + 21, + 22, + 23 ], "starting_column": 3, "ending_column": 4 @@ -327,9 +327,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -434,40 +434,40 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad0()" } }, { "type": "node", - "name": "event1_bad(bad_arr)", + "name": "this.bad0_external(bad_arr)", "source_mapping": { - "start": 1415, - "length": 24, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 45 + 22 ], "starting_column": 5, - "ending_column": 29 + "ending_column": 32 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad0", "source_mapping": { - "start": 1296, - "length": 148, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 44, - 45, - 46 + 21, + 22, + 23 ], "starting_column": 3, "ending_column": 4 @@ -479,9 +479,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -586,16 +586,16 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad0()" } } } } ], - "description": "Function A.bad4() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#45)\n", - "markdown": "Function [A.bad4()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L45)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L44-L46", - "id": "144c77aebb4037fe38c2864892ecb888a4fb7d5e92e321e664b2d2226658a166", + "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" @@ -604,18 +604,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad4", "source_mapping": { - "start": 540, - "length": 61, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 21, - 22, - 23 + 44, + 45, + 46 ], "starting_column": 3, "ending_column": 4 @@ -627,9 +627,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -734,40 +734,40 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad4()" } }, { "type": "node", - "name": "this.bad0_external(bad_arr)", + "name": "event1_bad(bad_arr)", "source_mapping": { - "start": 569, - "length": 27, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 22 + 45 ], "starting_column": 5, - "ending_column": 32 + "ending_column": 29 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad4", "source_mapping": { - "start": 540, - "length": 61, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 21, - 22, - 23 + 44, + 45, + 46 ], "starting_column": 3, "ending_column": 4 @@ -779,9 +779,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -886,16 +886,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad4()" } } } } ], - "description": "Function A.bad0() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#22)\n", - "markdown": "Function [A.bad0()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L22)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L21-L23", - "id": "3752da45df0ba78cc9ac01a10b398e4ad74e6ddd572764cf2f361e523a43a998", + "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" @@ -904,18 +904,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 726, - "length": 63, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 29, - 30, - 31 + 34, + 35, + 36 ], "starting_column": 3, "ending_column": 4 @@ -927,9 +927,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1034,40 +1034,40 @@ "ending_column": 2 } }, - "signature": "bad1(A.S[3])" + "signature": "bad2()" } }, { "type": "node", - "name": "this.bad1_external(s)", + "name": "b = abi.encode(bad_arr)", "source_mapping": { - "start": 763, - "length": 21, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 30 + 35 ], "starting_column": 5, - "ending_column": 26 + "ending_column": 41 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 726, - "length": 63, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 29, - 30, - 31 + 34, + 35, + 36 ], "starting_column": 3, "ending_column": 4 @@ -1079,9 +1079,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1186,16 +1186,16 @@ "ending_column": 2 } }, - "signature": "bad1(A.S[3])" + "signature": "bad2()" } } } } ], - "description": "Function A.bad1(A.S[3]) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#30)\n", - "markdown": "Function [A.bad1(A.S[3])](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L30)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L29-L31", - "id": "3febdd98f71332c80290c9557c5ef89ea9dbea4f520a084b0307f21b00da5010", + "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" @@ -1204,18 +1204,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 852, - "length": 160, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 34, - 35, - 36 + 29, + 30, + 31 ], "starting_column": 3, "ending_column": 4 @@ -1227,9 +1227,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1334,40 +1334,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad1(A.S[3])" } }, { "type": "node", - "name": "b = abi.encode(bad_arr)", + "name": "this.bad1_external(s)", "source_mapping": { - "start": 971, - "length": 36, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 35 + 30 ], "starting_column": 5, - "ending_column": 41 + "ending_column": 26 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 852, - "length": 160, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 34, - 35, - 36 + 29, + 30, + 31 ], "starting_column": 3, "ending_column": 4 @@ -1379,9 +1379,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1486,16 +1486,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad1(A.S[3])" } } } } ], - "description": "Function A.bad2() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#35)\n", - "markdown": "Function [A.bad2()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L35)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L34-L36", - "id": "d5860309d331920d1e3f44508fea706df75a4a7c2e93666ca96ca00ef32d7e01", + "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" @@ -1508,9 +1508,9 @@ "source_mapping": { "start": 1511, "length": 142, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 49, @@ -1527,9 +1527,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1643,9 +1643,9 @@ "source_mapping": { "start": 1630, "length": 18, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 50 @@ -1660,9 +1660,9 @@ "source_mapping": { "start": 1511, "length": 142, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 49, @@ -1679,9 +1679,9 @@ "source_mapping": { "start": 35, "length": 2982, - "filename_relative": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1792,10 +1792,10 @@ } } ], - "description": "Function A.bad5() (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#50)\n", - "markdown": "Function [A.bad5()](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L50)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol#L49-L51", - "id": "e77767c95f4548636027a859ca0c63402cfb50af242f116dd3cfc5b038a4128e", + "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" diff --git a/tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol similarity index 100% rename from tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol rename to tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json rename to tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol.0.5.10.ABIEncoderV2Array.json diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/abiencoderv2-array/0.5.11/storage_ABIEncoderV2_array.sol.0.5.11.ABIEncoderV2Array.json rename to tests/e2e/detectors/test_data/abiencoderv2-array/0.5.11/storage_ABIEncoderV2_array.sol.0.5.11.ABIEncoderV2Array.json diff --git a/tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol similarity index 100% rename from tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol rename to tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol diff --git a/tests/detectors/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 similarity index 85% rename from tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol.0.5.9.ABIEncoderV2Array.json rename to tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol.0.5.9.ABIEncoderV2Array.json index 8b6cdd17fa..a915958642 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad5", "source_mapping": { - "start": 744, - "length": 70, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 29, - 30, - 31 + 49, + 50, + 51 ], "starting_column": 3, "ending_column": 4 @@ -27,9 +27,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -134,40 +134,40 @@ "ending_column": 2 } }, - "signature": "bad1(A.S[3])" + "signature": "bad5()" } }, { "type": "node", - "name": "this.bad1_external(s)", + "name": "event2_bad(s)", "source_mapping": { - "start": 788, - "length": 21, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 30 + 50 ], "starting_column": 5, - "ending_column": 26 + "ending_column": 23 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad5", "source_mapping": { - "start": 744, - "length": 70, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 29, - 30, - 31 + 49, + 50, + 51 ], "starting_column": 3, "ending_column": 4 @@ -179,9 +179,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -286,16 +286,16 @@ "ending_column": 2 } }, - "signature": "bad1(A.S[3])" + "signature": "bad5()" } } } } ], - "description": "Function A.bad1(A.S[3]) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#29-31) trigger an abi encoding bug:\n\t- this.bad1_external(s) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#30)\n", - "markdown": "Function [A.bad1(A.S[3])](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L29-L31) trigger an abi encoding bug:\n\t- [this.bad1_external(s)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L30)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L29-L31", - "id": "04f20a6b780d160f34e95fca8f1dc426e8d05eaf7a452340a809bdeafcb84efb", + "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" @@ -304,18 +304,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad0", "source_mapping": { - "start": 1101, - "length": 154, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 39, - 40, - 41 + 21, + 22, + 23 ], "starting_column": 3, "ending_column": 4 @@ -327,9 +327,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -434,40 +434,40 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad0()" } }, { "type": "node", - "name": "b = abi.encode(s)", + "name": "this.bad0_external(bad_arr)", "source_mapping": { - "start": 1220, - "length": 30, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 40 + 22 ], "starting_column": 5, - "ending_column": 35 + "ending_column": 32 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad0", "source_mapping": { - "start": 1101, - "length": 154, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 39, - 40, - 41 + 21, + 22, + 23 ], "starting_column": 3, "ending_column": 4 @@ -479,9 +479,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -586,16 +586,16 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad0()" } } } } ], - "description": "Function A.bad3() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#39-41) trigger an abi encoding bug:\n\t- b = abi.encode(s) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#40)\n", - "markdown": "Function [A.bad3()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L39-L41) trigger an abi encoding bug:\n\t- [b = abi.encode(s)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L40)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L39-L41", - "id": "37e980d8d34fcffe10d2533052de986dd57c1d45700f02234332b275b532c71d", + "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" @@ -604,18 +604,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad4", "source_mapping": { - "start": 549, - "length": 61, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 21, - 22, - 23 + 44, + 45, + 46 ], "starting_column": 3, "ending_column": 4 @@ -627,9 +627,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -734,40 +734,40 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad4()" } }, { "type": "node", - "name": "this.bad0_external(bad_arr)", + "name": "event1_bad(bad_arr)", "source_mapping": { - "start": 578, - "length": 27, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 22 + 45 ], "starting_column": 5, - "ending_column": 32 + "ending_column": 29 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad4", "source_mapping": { - "start": 549, - "length": 61, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 21, - 22, - 23 + 44, + 45, + 46 ], "starting_column": 3, "ending_column": 4 @@ -779,9 +779,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -886,16 +886,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad4()" } } } } ], - "description": "Function A.bad0() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#21-23) trigger an abi encoding bug:\n\t- this.bad0_external(bad_arr) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#22)\n", - "markdown": "Function [A.bad0()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L21-L23) trigger an abi encoding bug:\n\t- [this.bad0_external(bad_arr)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L22)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L21-L23", - "id": "4755c0ac779753117c13ea710352c179c82da332c5be5f08ea5da28efa4c63b6", + "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" @@ -904,18 +904,18 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad2", "source_mapping": { - "start": 1321, - "length": 148, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 44, - 45, - 46 + 34, + 35, + 36 ], "starting_column": 3, "ending_column": 4 @@ -927,9 +927,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1034,40 +1034,40 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad2()" } }, { "type": "node", - "name": "event1_bad(bad_arr)", + "name": "b = abi.encode(bad_arr)", "source_mapping": { - "start": 1440, - "length": 24, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 45 + 35 ], "starting_column": 5, - "ending_column": 29 + "ending_column": 41 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad2", "source_mapping": { - "start": 1321, - "length": 148, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 44, - 45, - 46 + 34, + 35, + 36 ], "starting_column": 3, "ending_column": 4 @@ -1079,9 +1079,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1186,16 +1186,16 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad2()" } } } } ], - "description": "Function A.bad4() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#44-46) trigger an abi encoding bug:\n\t- event1_bad(bad_arr) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#45)\n", - "markdown": "Function [A.bad4()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L44-L46) trigger an abi encoding bug:\n\t- [event1_bad(bad_arr)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L45)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L44-L46", - "id": "6e9dfeb7f6ea7c989276fa8c5e27d71ab0f6b63ee878fb3f761dab9d07942246", + "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" @@ -1204,18 +1204,18 @@ "elements": [ { "type": "function", - "name": "bad5", + "name": "bad1", "source_mapping": { - "start": 1536, - "length": 142, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 49, - 50, - 51 + 29, + 30, + 31 ], "starting_column": 3, "ending_column": 4 @@ -1227,9 +1227,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1334,40 +1334,40 @@ "ending_column": 2 } }, - "signature": "bad5()" + "signature": "bad1(A.S[3])" } }, { "type": "node", - "name": "event2_bad(s)", + "name": "this.bad1_external(s)", "source_mapping": { - "start": 1655, - "length": 18, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 50 + 30 ], "starting_column": 5, - "ending_column": 23 + "ending_column": 26 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad1", "source_mapping": { - "start": 1536, - "length": 142, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 49, - 50, - 51 + 29, + 30, + 31 ], "starting_column": 3, "ending_column": 4 @@ -1379,9 +1379,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1486,16 +1486,16 @@ "ending_column": 2 } }, - "signature": "bad5()" + "signature": "bad1(A.S[3])" } } } } ], - "description": "Function A.bad5() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#49-51) trigger an abi encoding bug:\n\t- event2_bad(s) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#50)\n", - "markdown": "Function [A.bad5()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L49-L51) trigger an abi encoding bug:\n\t- [event2_bad(s)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L50)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L49-L51", - "id": "9c6da636be98419174c8e81e73efc09e7b942f9cf477cf0de793fb92c88fc976", + "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" @@ -1504,18 +1504,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad3", "source_mapping": { - "start": 877, - "length": 160, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 34, - 35, - 36 + 39, + 40, + 41 ], "starting_column": 3, "ending_column": 4 @@ -1527,9 +1527,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1634,40 +1634,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad3()" } }, { "type": "node", - "name": "b = abi.encode(bad_arr)", + "name": "b = abi.encode(s)", "source_mapping": { - "start": 996, - "length": 36, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 35 + 40 ], "starting_column": 5, - "ending_column": 41 + "ending_column": 35 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad3", "source_mapping": { - "start": 877, - "length": 160, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "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/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ - 34, - 35, - 36 + 39, + 40, + 41 ], "starting_column": 3, "ending_column": 4 @@ -1679,9 +1679,9 @@ "source_mapping": { "start": 35, "length": 3044, - "filename_relative": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_relative": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", + "filename_short": "tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol", "is_dependency": false, "lines": [ 3, @@ -1786,16 +1786,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad3()" } } } } ], - "description": "Function A.bad2() (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#34-36) trigger an abi encoding bug:\n\t- b = abi.encode(bad_arr) (tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#35)\n", - "markdown": "Function [A.bad2()](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L34-L36) trigger an abi encoding bug:\n\t- [b = abi.encode(bad_arr)](tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L35)\n", - "first_markdown_element": "tests/detectors/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol#L34-L36", - "id": "e976cd11118a9f5aaacfe5715cef990140fd67c7a35682446aedc878b63b3b24", + "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" diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol.0.4.25.ArbitrarySendErc20Permit.json rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol.0.4.25.ArbitrarySendErc20Permit.json index d31a3f423e..d04fd77811 100644 --- a/tests/detectors/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 @@ -4,19 +4,19 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "int_transferFrom", "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -28,9 +28,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -77,41 +77,41 @@ "ending_column": 2 } }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", + "name": "erc20.transferFrom(from,to,value)", "source_mapping": { - "start": 1986, - "length": 50, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 54 + 44 ], "starting_column": 9, - "ending_column": 59 + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "int_transferFrom", "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -123,9 +123,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -172,16 +172,16 @@ "ending_column": 2 } }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "22de0efa869fce1767af15469c8bcc95616478aec05625ab72283df0ad9fae55", + "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" @@ -190,19 +190,19 @@ "elements": [ { "type": "function", - "name": "int_transferFrom", + "name": "bad3", "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -214,9 +214,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -263,41 +263,41 @@ "ending_column": 2 } }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "erc20.transferFrom(from,to,value)", + "name": "erc20.safeTransferFrom(from,to,value)", "source_mapping": { - "start": 1498, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 44 + 49 ], "starting_column": 9, - "ending_column": 44 + "ending_column": 48 }, "type_specific_fields": { "parent": { "type": "function", - "name": "int_transferFrom", + "name": "bad3", "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -309,9 +309,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -358,16 +358,16 @@ "ending_column": 2 } }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "408ea319adfb46be330fd7775c13abf56f9d106eebcbcfe6574760309d93927e", + "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" @@ -376,19 +376,19 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad4", "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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 + 52, + 53, + 54, + 55 ], "starting_column": 5, "ending_column": 6 @@ -400,9 +400,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -449,41 +449,41 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "erc20.transferFrom(from,to,value)", + "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", "source_mapping": { - "start": 1033, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 34 + 54 ], "starting_column": 9, - "ending_column": 44 + "ending_column": 59 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad4", "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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 + 52, + 53, + 54, + 55 ], "starting_column": 5, "ending_column": 6 @@ -495,9 +495,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -544,16 +544,16 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "82a43f5bf554d897b270abaac0ee62650383fe341adeff0d9c1c95b0040548a2", + "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" @@ -562,19 +562,19 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 1546, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -586,9 +586,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -635,41 +635,41 @@ "ending_column": 2 } }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", + "name": "erc20.transferFrom(from,to,value)", "source_mapping": { - "start": 1738, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 49 + 34 ], "starting_column": 9, - "ending_column": 48 + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 1546, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -681,9 +681,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -730,16 +730,16 @@ "ending_column": 2 } }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "f7695706feb3a8409e367a88028dfad8c64e1000f1f71d6e55074d0dcfbc2305", + "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" diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol.0.5.16.ArbitrarySendErc20Permit.json rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol.0.5.16.ArbitrarySendErc20Permit.json index cd4b2cb692..13cabeb3e3 100644 --- a/tests/detectors/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 @@ -4,19 +4,19 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "int_transferFrom", "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -28,9 +28,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -77,41 +77,41 @@ "ending_column": 2 } }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", + "name": "erc20.transferFrom(from,to,value)", "source_mapping": { - "start": 1986, - "length": 50, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 54 + 44 ], "starting_column": 9, - "ending_column": 59 + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "int_transferFrom", "source_mapping": { - "start": 1794, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -123,9 +123,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -172,16 +172,16 @@ "ending_column": 2 } }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "57068db07fd7e67d0b63035936fad5a373fcb8f84bb6a58aa463278143db43fa", + "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" @@ -190,19 +190,19 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad4", "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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 + 52, + 53, + 54, + 55 ], "starting_column": 5, "ending_column": 6 @@ -214,9 +214,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -263,41 +263,41 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "erc20.transferFrom(from,to,value)", + "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", "source_mapping": { - "start": 1033, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 34 + 54 ], "starting_column": 9, - "ending_column": 44 + "ending_column": 59 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad4", "source_mapping": { - "start": 843, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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 + 52, + 53, + 54, + 55 ], "starting_column": 5, "ending_column": 6 @@ -309,9 +309,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -358,16 +358,16 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "5983458eee02cf7d5484a82e17422dcdbd7b990305579e17d1252c0bb31e1cac", + "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" @@ -380,9 +380,9 @@ "source_mapping": { "start": 1546, "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 47, @@ -400,9 +400,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -458,9 +458,9 @@ "source_mapping": { "start": 1738, "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 49 @@ -475,9 +475,9 @@ "source_mapping": { "start": 1546, "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 47, @@ -495,9 +495,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -550,10 +550,10 @@ } } ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "a8f319ba65d6c81726b72d7593eb089ce9819d22856387250e009a43a98cf1c3", + "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" @@ -562,19 +562,19 @@ "elements": [ { "type": "function", - "name": "int_transferFrom", + "name": "bad1", "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -586,9 +586,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -635,21 +635,21 @@ "ending_column": 2 } }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", "name": "erc20.transferFrom(from,to,value)", "source_mapping": { - "start": 1498, + "start": 1033, "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 44 + 34 ], "starting_column": 9, "ending_column": 44 @@ -657,19 +657,19 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "int_transferFrom", + "name": "bad1", "source_mapping": { - "start": 1294, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -681,9 +681,9 @@ "source_mapping": { "start": 613, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -730,16 +730,16 @@ "ending_column": 2 } }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "e3ed372c52b219322ca290ecfa79be96d7ea1b019af329a515c6c10b7a1cf03b", + "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" diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol.0.6.11.ArbitrarySendErc20Permit.json rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol.0.6.11.ArbitrarySendErc20Permit.json index 16cad916f4..0a59ae426a 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1564, "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 47, @@ -28,9 +28,9 @@ "source_mapping": { "start": 631, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -86,9 +86,9 @@ "source_mapping": { "start": 1756, "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 49 @@ -103,9 +103,9 @@ "source_mapping": { "start": 1564, "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 47, @@ -123,9 +123,9 @@ "source_mapping": { "start": 631, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -178,10 +178,10 @@ } } ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "1caf8efb7dd42f74884b4ee8d8b44585eeaa5758776ef8ac1e31b8aa749eac26", + "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" @@ -194,9 +194,9 @@ "source_mapping": { "start": 1812, "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 52, @@ -214,9 +214,9 @@ "source_mapping": { "start": 631, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -272,9 +272,9 @@ "source_mapping": { "start": 2004, "length": 50, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 54 @@ -289,9 +289,9 @@ "source_mapping": { "start": 1812, "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 52, @@ -309,9 +309,9 @@ "source_mapping": { "start": 631, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -364,10 +364,10 @@ } } ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "cc58852f92580ac18db192412ec7e50667bf56d986349ae8fe6990f0b04f9f62", + "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" @@ -380,9 +380,9 @@ "source_mapping": { "start": 1312, "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 42, @@ -400,9 +400,9 @@ "source_mapping": { "start": 631, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -458,9 +458,9 @@ "source_mapping": { "start": 1516, "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 44 @@ -475,9 +475,9 @@ "source_mapping": { "start": 1312, "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 42, @@ -495,9 +495,9 @@ "source_mapping": { "start": 631, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -550,10 +550,10 @@ } } ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "f75bec4e068adbca017ad00b355347aa0c337b30a807fa8e1b80577b031e68fd", + "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" @@ -566,9 +566,9 @@ "source_mapping": { "start": 861, "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 32, @@ -586,9 +586,9 @@ "source_mapping": { "start": 631, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -644,9 +644,9 @@ "source_mapping": { "start": 1051, "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 34 @@ -661,9 +661,9 @@ "source_mapping": { "start": 861, "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 32, @@ -681,9 +681,9 @@ "source_mapping": { "start": 631, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -736,10 +736,10 @@ } } ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "f90e97c676187cd6d727064001123d8537f5d8253d0a66ab6798b4a1c250a425", + "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" diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol.0.7.6.ArbitrarySendErc20Permit.json rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol.0.7.6.ArbitrarySendErc20Permit.json index d243657e26..b022845564 100644 --- a/tests/detectors/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 @@ -4,19 +4,19 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "int_transferFrom", "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -28,9 +28,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -77,41 +77,41 @@ "ending_column": 2 } }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", + "name": "erc20.transferFrom(from,to,value)", "source_mapping": { - "start": 1755, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 49 + 44 ], "starting_column": 9, - "ending_column": 48 + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "int_transferFrom", "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -123,9 +123,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -172,16 +172,16 @@ "ending_column": 2 } }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "63dc39bd9025d9fa7d39e07342e5652c010ff424e6d31ed9d1559f225c417956", + "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" @@ -190,19 +190,19 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad1", "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -214,9 +214,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -263,41 +263,41 @@ "ending_column": 2 } }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", + "name": "erc20.transferFrom(from,to,value)", "source_mapping": { - "start": 2003, - "length": 50, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 54 + 34 ], "starting_column": 9, - "ending_column": 59 + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad1", "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -309,9 +309,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -358,16 +358,16 @@ "ending_column": 2 } }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "7ebee7b534acb9d9502df84ba56fd0e90223cd262964c77cb9bee798eabd674b", + "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" @@ -376,19 +376,19 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad4", "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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 + 52, + 53, + 54, + 55 ], "starting_column": 5, "ending_column": 6 @@ -400,9 +400,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -449,41 +449,41 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "erc20.transferFrom(from,to,value)", + "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", "source_mapping": { - "start": 1050, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 34 + 54 ], "starting_column": 9, - "ending_column": 44 + "ending_column": 59 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad4", "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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 + 52, + 53, + 54, + 55 ], "starting_column": 5, "ending_column": 6 @@ -495,9 +495,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -544,16 +544,16 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "ba2c627103717a52a46b52714313000eb4f9d96f57dfac874854a3747ace5a13", + "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" @@ -562,19 +562,19 @@ "elements": [ { "type": "function", - "name": "int_transferFrom", + "name": "bad3", "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -586,9 +586,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -635,41 +635,41 @@ "ending_column": 2 } }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "erc20.transferFrom(from,to,value)", + "name": "erc20.safeTransferFrom(from,to,value)", "source_mapping": { - "start": 1515, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 44 + 49 ], "starting_column": 9, - "ending_column": 44 + "ending_column": 48 }, "type_specific_fields": { "parent": { "type": "function", - "name": "int_transferFrom", + "name": "bad3", "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -681,9 +681,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -730,16 +730,16 @@ "ending_column": 2 } }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "d56199ce2b7249389dffba8e53278f5ae32fbdda8a51cae8b5eb1cf2c09a0578", + "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" diff --git a/tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol.0.8.0.ArbitrarySendErc20Permit.json rename to tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol.0.8.0.ArbitrarySendErc20Permit.json index 9533e8bd05..d744eeec73 100644 --- a/tests/detectors/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 @@ -4,19 +4,19 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -28,9 +28,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -77,41 +77,41 @@ "ending_column": 2 } }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", + "name": "erc20.safeTransferFrom(from,to,value)", "source_mapping": { - "start": 2003, - "length": 50, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 54 + 49 ], "starting_column": 9, - "ending_column": 59 + "ending_column": 48 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 1811, - "length": 249, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -123,9 +123,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -172,16 +172,16 @@ "ending_column": 2 } }, - "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.bad4(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L54)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L52-L55", - "id": "136a1b6c001d3ca4b1aab662556139786307e1bf4cb929f4c507d592eb38cb72", + "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" @@ -190,19 +190,19 @@ "elements": [ { "type": "function", - "name": "int_transferFrom", + "name": "bad4", "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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 + 52, + 53, + 54, + 55 ], "starting_column": 5, "ending_column": 6 @@ -214,9 +214,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -263,41 +263,41 @@ "ending_column": 2 } }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "erc20.transferFrom(from,to,value)", + "name": "SafeERC20.safeTransferFrom(erc20,from,to,value)", "source_mapping": { - "start": 1515, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 44 + 54 ], "starting_column": 9, - "ending_column": 44 + "ending_column": 59 }, "type_specific_fields": { "parent": { "type": "function", - "name": "int_transferFrom", + "name": "bad4", "source_mapping": { - "start": 1311, - "length": 246, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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 + 52, + 53, + 54, + 55 ], "starting_column": 5, "ending_column": 6 @@ -309,9 +309,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -358,16 +358,16 @@ "ending_column": 2 } }, - "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad4(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L44)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L42-L45", - "id": "398cc3de119232bd6688c797ddfb4f84d7587dbf9f72f3056898bfc442a5fd85", + "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" @@ -376,19 +376,19 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "int_transferFrom", "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -400,9 +400,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -449,21 +449,21 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", "name": "erc20.transferFrom(from,to,value)", "source_mapping": { - "start": 1050, + "start": 1515, "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 34 + 44 ], "starting_column": 9, "ending_column": 44 @@ -471,19 +471,19 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "int_transferFrom", "source_mapping": { - "start": 860, - "length": 232, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -495,9 +495,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -544,16 +544,16 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "int_transferFrom(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.bad1(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L34)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L32-L35", - "id": "429dd8afad02f0e6869b1de2a82bf36ab35aaf74ba5909de5facd767f4642f32", + "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" @@ -562,19 +562,19 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -586,9 +586,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -635,41 +635,41 @@ "ending_column": 2 } }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" } }, { "type": "node", - "name": "erc20.safeTransferFrom(from,to,value)", + "name": "erc20.transferFrom(from,to,value)", "source_mapping": { - "start": 1755, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ - 49 + 34 ], "starting_column": 9, - "ending_column": 48 + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 1563, - "length": 238, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -681,9 +681,9 @@ "source_mapping": { "start": 630, "length": 1433, - "filename_relative": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol", "is_dependency": false, "lines": [ 19, @@ -730,16 +730,16 @@ "ending_column": 2 } }, - "signature": "bad3(address,uint256,uint256,uint8,bytes32,bytes32,address)" + "signature": "bad1(address,uint256,uint256,uint8,bytes32,bytes32,address)" } } } } ], - "description": "C.bad3(address,uint256,uint256,uint8,bytes32,bytes32,address) (tests/detectors/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/detectors/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/detectors/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/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L49)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol#L47-L50", - "id": "7841a86248d8345520e98b963d59de36814b25e5fa3cef9e031c61d05a7feb2a", + "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" diff --git a/tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol diff --git a/tests/detectors/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 similarity index 82% rename from tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol.0.4.25.ArbitrarySendErc20NoPermit.json rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol.0.4.25.ArbitrarySendErc20NoPermit.json index 8330b947cf..b1a43d4054 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad4", "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 35, - 36, - 37 + 65, + 66, + 67 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -98,40 +98,40 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256)" + "signature": "bad4(address,address,uint256)" } }, { "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", + "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", "source_mapping": { - "start": 835, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 36 + 66 ], "starting_column": 9, - "ending_column": 44 + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad4", "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 35, - 36, - 37 + 65, + 66, + 67 ], "starting_column": 5, "ending_column": 6 @@ -143,9 +143,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -214,16 +214,16 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256)" + "signature": "bad4(address,address,uint256)" } } } } ], - "description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L35-L37", - "id": "430afa4e7855d25b1262162894fa21d58eea2571578d45de5399baf3eb438038", + "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" @@ -232,18 +232,18 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad1", "source_mapping": { - "start": 1702, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 65, - 66, - 67 + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -255,9 +255,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -326,40 +326,40 @@ "ending_column": 2 } }, - "signature": "bad4(address,address,uint256)" + "signature": "bad1(address,uint256)" } }, { "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", + "name": "erc20.transferFrom(notsend,to,am)", "source_mapping": { - "start": 1777, - "length": 51, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 66 + 36 ], "starting_column": 9, - "ending_column": 60 + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad1", "source_mapping": { - "start": 1702, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 65, - 66, - 67 + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -371,9 +371,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -442,16 +442,16 @@ "ending_column": 2 } }, - "signature": "bad4(address,address,uint256)" + "signature": "bad1(address,uint256)" } } } } ], - "description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L65-L67", - "id": "b2557d6385585034271b9873559de9cde4972e3207c43f260663f3d0e2a4d4a0", + "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" @@ -464,9 +464,9 @@ "source_mapping": { "start": 1434, "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 57, @@ -483,9 +483,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -563,9 +563,9 @@ "source_mapping": { "start": 1509, "length": 40, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 58 @@ -580,9 +580,9 @@ "source_mapping": { "start": 1434, "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 57, @@ -599,9 +599,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -676,10 +676,10 @@ } } ], - "description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol#L57-L59", - "id": "e7271d3fa958d20a025419c070ea1010431487e98e30fa2db65db9bf54a13665", + "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" diff --git a/tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol diff --git a/tests/detectors/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 similarity index 82% rename from tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol.0.5.16.ArbitrarySendErc20NoPermit.json rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol.0.5.16.ArbitrarySendErc20NoPermit.json index c1ccea8b53..b58297d0d3 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1702, "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 65, @@ -27,9 +27,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -107,9 +107,9 @@ "source_mapping": { "start": 1777, "length": 51, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 66 @@ -124,9 +124,9 @@ "source_mapping": { "start": 1702, "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 65, @@ -143,9 +143,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -220,10 +220,10 @@ } } ], - "description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L65-L67", - "id": "15a810d738734100851211c7e6bff65724d553eb693869575ec3d9c9bf47081c", + "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" @@ -232,18 +232,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad3", "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 35, - 36, - 37 + 57, + 58, + 59 ], "starting_column": 5, "ending_column": 6 @@ -255,9 +255,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -326,40 +326,40 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256)" + "signature": "bad3(address,address,uint256)" } }, { "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", + "name": "erc20.safeTransferFrom(from,to,amount)", "source_mapping": { - "start": 835, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 36 + 58 ], "starting_column": 9, - "ending_column": 44 + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad3", "source_mapping": { - "start": 780, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 35, - 36, - 37 + 57, + 58, + 59 ], "starting_column": 5, "ending_column": 6 @@ -371,9 +371,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -442,16 +442,16 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256)" + "signature": "bad3(address,address,uint256)" } } } } ], - "description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L35-L37", - "id": "6ca6aea5c4506ac7fa421c049e0bd41faa74317e303b94721bc64c2fc6e8f128", + "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" @@ -460,18 +460,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 1434, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 57, - 58, - 59 + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -483,9 +483,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -554,40 +554,40 @@ "ending_column": 2 } }, - "signature": "bad3(address,address,uint256)" + "signature": "bad1(address,uint256)" } }, { "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", + "name": "erc20.transferFrom(notsend,to,am)", "source_mapping": { - "start": 1509, - "length": 40, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 58 + 36 ], "starting_column": 9, - "ending_column": 49 + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 1434, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 57, - 58, - 59 + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -599,9 +599,9 @@ "source_mapping": { "start": 394, "length": 1717, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -670,16 +670,16 @@ "ending_column": 2 } }, - "signature": "bad3(address,address,uint256)" + "signature": "bad1(address,uint256)" } } } } ], - "description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol#L57-L59", - "id": "773c84f15f90123743b54aca858695d11603109f4da52c487ee4ae161f09411b", + "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" diff --git a/tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol diff --git a/tests/detectors/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 similarity index 82% rename from tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol.0.6.11.ArbitrarySendErc20NoPermit.json rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol.0.6.11.ArbitrarySendErc20NoPermit.json index 0e722340e5..1f87d7e93e 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 789, "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 35, @@ -27,9 +27,9 @@ "source_mapping": { "start": 403, "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -107,9 +107,9 @@ "source_mapping": { "start": 844, "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 36 @@ -124,9 +124,9 @@ "source_mapping": { "start": 789, "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 35, @@ -143,9 +143,9 @@ "source_mapping": { "start": 403, "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -220,10 +220,10 @@ } } ], - "description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L35-L37", - "id": "040cf50981f6e1dea1f7a19f0115811be1347e0637f0ca85d789ae612a509322", + "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" @@ -232,18 +232,18 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 1711, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 65, - 66, - 67 + 57, + 58, + 59 ], "starting_column": 5, "ending_column": 6 @@ -255,9 +255,9 @@ "source_mapping": { "start": 403, "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -326,40 +326,40 @@ "ending_column": 2 } }, - "signature": "bad4(address,address,uint256)" + "signature": "bad3(address,address,uint256)" } }, { "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", + "name": "erc20.safeTransferFrom(from,to,amount)", "source_mapping": { - "start": 1786, - "length": 51, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 66 + 58 ], "starting_column": 9, - "ending_column": 60 + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 1711, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 65, - 66, - 67 + 57, + 58, + 59 ], "starting_column": 5, "ending_column": 6 @@ -371,9 +371,9 @@ "source_mapping": { "start": 403, "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -442,16 +442,16 @@ "ending_column": 2 } }, - "signature": "bad4(address,address,uint256)" + "signature": "bad3(address,address,uint256)" } } } } ], - "description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L65-L67", - "id": "61438092d2da6c23ecfa13e5e55c489e538249e47bddd9335b533d28a242aea1", + "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" @@ -460,18 +460,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 1443, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 57, - 58, - 59 + 65, + 66, + 67 ], "starting_column": 5, "ending_column": 6 @@ -483,9 +483,9 @@ "source_mapping": { "start": 403, "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -554,40 +554,40 @@ "ending_column": 2 } }, - "signature": "bad3(address,address,uint256)" + "signature": "bad4(address,address,uint256)" } }, { "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", + "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", "source_mapping": { - "start": 1518, - "length": 40, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 58 + 66 ], "starting_column": 9, - "ending_column": 49 + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 1443, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 57, - 58, - 59 + 65, + 66, + 67 ], "starting_column": 5, "ending_column": 6 @@ -599,9 +599,9 @@ "source_mapping": { "start": 403, "length": 1721, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -670,16 +670,16 @@ "ending_column": 2 } }, - "signature": "bad3(address,address,uint256)" + "signature": "bad4(address,address,uint256)" } } } } ], - "description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol#L57-L59", - "id": "8551e9d33fdd4f73f1eb7776480b2e8cd2cf9c897b52285c3a287caab6822ce3", + "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" diff --git a/tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol diff --git a/tests/detectors/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 similarity index 82% rename from tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol.0.7.6.ArbitrarySendErc20NoPermit.json rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol.0.7.6.ArbitrarySendErc20NoPermit.json index 6ce6f095e2..4ce050420e 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 57, - 58, - 59 + 65, + 66, + 67 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -98,40 +98,40 @@ "ending_column": 2 } }, - "signature": "bad3(address,address,uint256)" + "signature": "bad4(address,address,uint256)" } }, { "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", + "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", "source_mapping": { - "start": 1510, - "length": 40, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 58 + 66 ], "starting_column": 9, - "ending_column": 49 + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 57, - 58, - 59 + 65, + 66, + 67 ], "starting_column": 5, "ending_column": 6 @@ -143,9 +143,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -214,16 +214,16 @@ "ending_column": 2 } }, - "signature": "bad3(address,address,uint256)" + "signature": "bad4(address,address,uint256)" } } } } ], - "description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L57-L59", - "id": "27c4a0e1a038beb0c01c86e07f1aef592f96907d330bcf899bde6632a9022327", + "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" @@ -232,18 +232,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad3", "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 35, - 36, - 37 + 57, + 58, + 59 ], "starting_column": 5, "ending_column": 6 @@ -255,9 +255,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -326,40 +326,40 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256)" + "signature": "bad3(address,address,uint256)" } }, { "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", + "name": "erc20.safeTransferFrom(from,to,amount)", "source_mapping": { - "start": 836, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 36 + 58 ], "starting_column": 9, - "ending_column": 44 + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad3", "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 35, - 36, - 37 + 57, + 58, + 59 ], "starting_column": 5, "ending_column": 6 @@ -371,9 +371,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -442,16 +442,16 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256)" + "signature": "bad3(address,address,uint256)" } } } } ], - "description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L35-L37", - "id": "820841ccd8aee0469f9719d62ad01054b71a758a1d6924ed6a19ea078ff8350a", + "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" @@ -460,18 +460,18 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad1", "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 65, - 66, - 67 + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -483,9 +483,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -554,40 +554,40 @@ "ending_column": 2 } }, - "signature": "bad4(address,address,uint256)" + "signature": "bad1(address,uint256)" } }, { "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", + "name": "erc20.transferFrom(notsend,to,am)", "source_mapping": { - "start": 1778, - "length": 51, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 66 + 36 ], "starting_column": 9, - "ending_column": 60 + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad1", "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 65, - 66, - 67 + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -599,9 +599,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -670,16 +670,16 @@ "ending_column": 2 } }, - "signature": "bad4(address,address,uint256)" + "signature": "bad1(address,uint256)" } } } } ], - "description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol#L65-L67", - "id": "9ecb2b9df9554b9ebdbcfd058eb44ba4f1524b285b676063432d5ede48aee5ad", + "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" diff --git a/tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol diff --git a/tests/detectors/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 similarity index 82% rename from tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol.0.8.0.ArbitrarySendErc20NoPermit.json rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol.0.8.0.ArbitrarySendErc20NoPermit.json index 740c797d8b..530c866dc4 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 57, - 58, - 59 + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -98,40 +98,40 @@ "ending_column": 2 } }, - "signature": "bad3(address,address,uint256)" + "signature": "bad1(address,uint256)" } }, { "type": "node", - "name": "erc20.safeTransferFrom(from,to,amount)", + "name": "erc20.transferFrom(notsend,to,am)", "source_mapping": { - "start": 1510, - "length": 40, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 58 + 36 ], "starting_column": 9, - "ending_column": 49 + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 1435, - "length": 122, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 57, - 58, - 59 + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -143,9 +143,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -214,16 +214,16 @@ "ending_column": 2 } }, - "signature": "bad3(address,address,uint256)" + "signature": "bad1(address,uint256)" } } } } ], - "description": "C.bad3(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#57-59) uses arbitrary from in transferFrom: erc20.safeTransferFrom(from,to,amount) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#58)\n", - "markdown": "[C.bad3(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L57-L59) uses arbitrary from in transferFrom: [erc20.safeTransferFrom(from,to,amount)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L58)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L57-L59", - "id": "196b46419f55696599f4a533ea4915c3b1c39be679d8e2ab15a60b7a0238d52c", + "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" @@ -232,18 +232,18 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 65, - 66, - 67 + 57, + 58, + 59 ], "starting_column": 5, "ending_column": 6 @@ -255,9 +255,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -326,40 +326,40 @@ "ending_column": 2 } }, - "signature": "bad4(address,address,uint256)" + "signature": "bad3(address,address,uint256)" } }, { "type": "node", - "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", + "name": "erc20.safeTransferFrom(from,to,amount)", "source_mapping": { - "start": 1778, - "length": 51, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 66 + 58 ], "starting_column": 9, - "ending_column": 60 + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 1703, - "length": 133, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 65, - 66, - 67 + 57, + 58, + 59 ], "starting_column": 5, "ending_column": 6 @@ -371,9 +371,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -442,16 +442,16 @@ "ending_column": 2 } }, - "signature": "bad4(address,address,uint256)" + "signature": "bad3(address,address,uint256)" } } } } ], - "description": "C.bad4(address,address,uint256) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#65-67) uses arbitrary from in transferFrom: SafeERC20.safeTransferFrom(erc20,from,to,amount) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#66)\n", - "markdown": "[C.bad4(address,address,uint256)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L65-L67) uses arbitrary from in transferFrom: [SafeERC20.safeTransferFrom(erc20,from,to,amount)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L66)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L65-L67", - "id": "6ba2ac6eeef603310a4b4f7931ab44fadb3a242517096e17c5f1e39f0f4b83cf", + "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" @@ -460,18 +460,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad4", "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 35, - 36, - 37 + 65, + 66, + 67 ], "starting_column": 5, "ending_column": 6 @@ -483,9 +483,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -554,40 +554,40 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256)" + "signature": "bad4(address,address,uint256)" } }, { "type": "node", - "name": "erc20.transferFrom(notsend,to,am)", + "name": "SafeERC20.safeTransferFrom(erc20,from,to,amount)", "source_mapping": { - "start": 836, - "length": 35, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 36 + 66 ], "starting_column": 9, - "ending_column": 44 + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad4", "source_mapping": { - "start": 781, - "length": 97, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ - 35, - 36, - 37 + 65, + 66, + 67 ], "starting_column": 5, "ending_column": 6 @@ -599,9 +599,9 @@ "source_mapping": { "start": 402, "length": 1710, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol", "is_dependency": false, "lines": [ 17, @@ -670,16 +670,16 @@ "ending_column": 2 } }, - "signature": "bad1(address,uint256)" + "signature": "bad4(address,address,uint256)" } } } } ], - "description": "C.bad1(address,uint256) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#35-37) uses arbitrary from in transferFrom: erc20.transferFrom(notsend,to,am) (tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#36)\n", - "markdown": "[C.bad1(address,uint256)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L35-L37) uses arbitrary from in transferFrom: [erc20.transferFrom(notsend,to,am)](tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L36)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol#L35-L37", - "id": "8972d014c645b3a3783400fb2a6a38b20ea38973481025b6f99b3c15c9e63868", + "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" diff --git a/tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol b/tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol similarity index 100% rename from tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol.0.8.0.ArbitrarySendErc20NoPermit.json rename to tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol.0.8.0.ArbitrarySendErc20NoPermit.json index ca64318a16..c4d181524f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 196, "length": 88, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "is_dependency": false, "lines": [ 11, @@ -27,9 +27,9 @@ "source_mapping": { "start": 138, "length": 149, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "is_dependency": false, "lines": [ 7, @@ -54,9 +54,9 @@ "source_mapping": { "start": 234, "length": 46, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "is_dependency": false, "lines": [ 12 @@ -71,9 +71,9 @@ "source_mapping": { "start": 196, "length": 88, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "is_dependency": false, "lines": [ 11, @@ -90,9 +90,9 @@ "source_mapping": { "start": 138, "length": 149, - "filename_relative": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", + "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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol", "is_dependency": false, "lines": [ 7, @@ -114,10 +114,10 @@ } } ], - "description": "T.bad(address) (tests/detectors/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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#12)\n", - "markdown": "[T.bad(address)](tests/detectors/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/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L12)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol#L11-L13", - "id": "51845f69be45c4d9b97ff3e01cbc5bf55d1c1cddcc4776f39e22dd803a241e46", + "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" diff --git a/tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol similarity index 100% rename from tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol.0.4.25.ArbitrarySendEth.json rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol.0.4.25.ArbitrarySendEth.json index aafd7c2649..c65a497fd7 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "direct", + "name": "indirect", "source_mapping": { - "start": 147, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 11, - 12, - 13 + 19, + 20, + 21 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 869, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -78,40 +78,40 @@ "ending_column": 2 } }, - "signature": "direct()" + "signature": "indirect()" } }, { "type": "node", - "name": "msg.sender.send(address(this).balance)", + "name": "destination.send(address(this).balance)", "source_mapping": { - "start": 181, - "length": 38, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 12 + 20 ], "starting_column": 9, - "ending_column": 47 + "ending_column": 48 }, "type_specific_fields": { "parent": { "type": "function", - "name": "direct", + "name": "indirect", "source_mapping": { - "start": 147, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 11, - 12, - 13 + 19, + 20, + 21 ], "starting_column": 5, "ending_column": 6 @@ -123,9 +123,9 @@ "source_mapping": { "start": 0, "length": 869, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -174,16 +174,16 @@ "ending_column": 2 } }, - "signature": "direct()" + "signature": "indirect()" } } } } ], - "description": "Test.direct() (tests/detectors/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/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/detectors/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/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L11-L13", - "id": "672bdccd2e85fb88deee03d312d533259b73ca932965ae09e5b24a3b546c4ad2", + "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" @@ -192,18 +192,18 @@ "elements": [ { "type": "function", - "name": "indirect", + "name": "direct", "source_mapping": { - "start": 301, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 11, + 12, + 13 ], "starting_column": 5, "ending_column": 6 @@ -215,9 +215,9 @@ "source_mapping": { "start": 0, "length": 869, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -266,40 +266,40 @@ "ending_column": 2 } }, - "signature": "indirect()" + "signature": "direct()" } }, { "type": "node", - "name": "destination.send(address(this).balance)", + "name": "msg.sender.send(address(this).balance)", "source_mapping": { - "start": 337, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 20 + 12 ], "starting_column": 9, - "ending_column": 48 + "ending_column": 47 }, "type_specific_fields": { "parent": { "type": "function", - "name": "indirect", + "name": "direct", "source_mapping": { - "start": 301, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 11, + 12, + 13 ], "starting_column": 5, "ending_column": 6 @@ -311,9 +311,9 @@ "source_mapping": { "start": 0, "length": 869, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -362,16 +362,16 @@ "ending_column": 2 } }, - "signature": "indirect()" + "signature": "direct()" } } } } ], - "description": "Test.indirect() (tests/detectors/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/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/detectors/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/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol#L19-L21", - "id": "9d50facc8382e844e7381f8ca9e389061bd0302345047de2407e0ad7b046687d", + "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" diff --git a/tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol similarity index 100% rename from tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol.0.5.16.ArbitrarySendEth.json rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol.0.5.16.ArbitrarySendEth.json index 6700ed92c2..0e85e427ff 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 162, "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 11, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -87,9 +87,9 @@ "source_mapping": { "start": 196, "length": 38, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 12 @@ -104,9 +104,9 @@ "source_mapping": { "start": 162, "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 11, @@ -123,9 +123,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -180,10 +180,10 @@ } } ], - "description": "Test.direct() (tests/detectors/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/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/detectors/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/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L11-L13", - "id": "7ded1859293ad51d129850d2f19669c7d38f4687a6e2afa8d93534d5f2a9a0ad", + "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" @@ -196,9 +196,9 @@ "source_mapping": { "start": 316, "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 19, @@ -215,9 +215,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -275,9 +275,9 @@ "source_mapping": { "start": 352, "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 20 @@ -292,9 +292,9 @@ "source_mapping": { "start": 316, "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 19, @@ -311,9 +311,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -368,10 +368,10 @@ } } ], - "description": "Test.indirect() (tests/detectors/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/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/detectors/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/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol#L19-L21", - "id": "d27379ff48eebb6c568308104d444dc8f6b5ed5eae53f6c937aec9fb15cf6464", + "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" diff --git a/tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol similarity index 100% rename from tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol.0.6.11.ArbitrarySendEth.json rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol.0.6.11.ArbitrarySendEth.json index 289c78c691..de345d8321 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 316, "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 19, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -87,9 +87,9 @@ "source_mapping": { "start": 352, "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 20 @@ -104,9 +104,9 @@ "source_mapping": { "start": 316, "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 19, @@ -123,9 +123,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -180,10 +180,10 @@ } } ], - "description": "Test.indirect() (tests/detectors/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/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/detectors/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/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L19-L21", - "id": "0ec491130aac4e23e6d47193bff49ed6029330bca373454b4e34ffba0a2baea6", + "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" @@ -196,9 +196,9 @@ "source_mapping": { "start": 162, "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 11, @@ -215,9 +215,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -275,9 +275,9 @@ "source_mapping": { "start": 196, "length": 38, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 12 @@ -292,9 +292,9 @@ "source_mapping": { "start": 162, "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 11, @@ -311,9 +311,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -368,10 +368,10 @@ } } ], - "description": "Test.direct() (tests/detectors/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/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/detectors/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/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol#L11-L13", - "id": "51e87e03fc48363e666bb99c1d15beccb50464e1c170eeea5b76ec6fcde643e7", + "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" diff --git a/tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol b/tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol similarity index 100% rename from tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol.0.7.6.ArbitrarySendEth.json rename to tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol.0.7.6.ArbitrarySendEth.json index 693344ce9a..cc93e1ec2a 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "indirect", + "name": "direct", "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 11, + 12, + 13 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -78,40 +78,40 @@ "ending_column": 2 } }, - "signature": "indirect()" + "signature": "direct()" } }, { "type": "node", - "name": "destination.send(address(this).balance)", + "name": "msg.sender.send(address(this).balance)", "source_mapping": { - "start": 352, - "length": 39, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 20 + 12 ], "starting_column": 9, - "ending_column": 48 + "ending_column": 47 }, "type_specific_fields": { "parent": { "type": "function", - "name": "indirect", + "name": "direct", "source_mapping": { - "start": 316, - "length": 82, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 11, + 12, + 13 ], "starting_column": 5, "ending_column": 6 @@ -123,9 +123,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -174,16 +174,16 @@ "ending_column": 2 } }, - "signature": "indirect()" + "signature": "direct()" } } } } ], - "description": "Test.indirect() (tests/detectors/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/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#20)\n", - "markdown": "[Test.indirect()](tests/detectors/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/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L20)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L19-L21", - "id": "2e1bd6d1260cf35450734eb2027a2d964f61858a3aabd0cb459c22cb4da9956b", + "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" @@ -192,18 +192,18 @@ "elements": [ { "type": "function", - "name": "direct", + "name": "indirect", "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 11, - 12, - 13 + 19, + 20, + 21 ], "starting_column": 5, "ending_column": 6 @@ -215,9 +215,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -266,40 +266,40 @@ "ending_column": 2 } }, - "signature": "direct()" + "signature": "indirect()" } }, { "type": "node", - "name": "msg.sender.send(address(this).balance)", + "name": "destination.send(address(this).balance)", "source_mapping": { - "start": 196, - "length": 38, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 12 + 20 ], "starting_column": 9, - "ending_column": 47 + "ending_column": 48 }, "type_specific_fields": { "parent": { "type": "function", - "name": "direct", + "name": "indirect", "source_mapping": { - "start": 162, - "length": 79, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "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/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ - 11, - 12, - 13 + 19, + 20, + 21 ], "starting_column": 5, "ending_column": 6 @@ -311,9 +311,9 @@ "source_mapping": { "start": 0, "length": 884, - "filename_relative": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_relative": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", + "filename_short": "tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol", "is_dependency": false, "lines": [ 1, @@ -362,16 +362,16 @@ "ending_column": 2 } }, - "signature": "direct()" + "signature": "indirect()" } } } } ], - "description": "Test.direct() (tests/detectors/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/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#12)\n", - "markdown": "[Test.direct()](tests/detectors/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/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L12)\n", - "first_markdown_element": "tests/detectors/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol#L11-L13", - "id": "76af03df5e6d33df8978a2cc00dfe944236aca69ad1b7f107580da1b76121082", + "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" diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/array-by-reference/0.4.25/array_by_reference.sol rename to tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json rename to tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol.0.4.25.ArrayByReference.json index 8ad16bf1ed..525bdd272b 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 855, "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 42, @@ -31,9 +31,9 @@ "source_mapping": { "start": 688, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -72,9 +72,9 @@ "source_mapping": { "start": 822, "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 39 @@ -89,9 +89,9 @@ "source_mapping": { "start": 688, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -129,9 +129,9 @@ "source_mapping": { "start": 571, "length": 113, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -149,9 +149,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -192,9 +192,9 @@ } } ], - "description": "D.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48", + "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", @@ -208,9 +208,9 @@ "source_mapping": { "start": 855, "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 42, @@ -231,9 +231,9 @@ "source_mapping": { "start": 688, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -272,9 +272,9 @@ "source_mapping": { "start": 822, "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 39 @@ -289,9 +289,9 @@ "source_mapping": { "start": 688, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -329,9 +329,9 @@ "source_mapping": { "start": 498, "length": 67, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -348,9 +348,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -391,9 +391,9 @@ } } ], - "description": "D.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L42-L48", + "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", @@ -407,9 +407,9 @@ "source_mapping": { "start": 40, "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 4, @@ -428,9 +428,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -476,9 +476,9 @@ "source_mapping": { "start": 17, "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 2 @@ -493,9 +493,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -540,9 +540,9 @@ "source_mapping": { "start": 498, "length": 67, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -559,9 +559,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -602,9 +602,9 @@ } } ], - "description": "C.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8", + "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", @@ -618,9 +618,9 @@ "source_mapping": { "start": 40, "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 4, @@ -639,9 +639,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -687,9 +687,9 @@ "source_mapping": { "start": 17, "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 2 @@ -704,9 +704,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -751,9 +751,9 @@ "source_mapping": { "start": 571, "length": 113, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -771,9 +771,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -814,9 +814,9 @@ } } ], - "description": "C.f() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L4-L8", + "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", @@ -830,9 +830,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -852,9 +852,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -900,9 +900,9 @@ "source_mapping": { "start": 243, "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 11 @@ -917,9 +917,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -939,9 +939,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -989,9 +989,9 @@ "source_mapping": { "start": 571, "length": 113, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -1009,9 +1009,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1052,9 +1052,9 @@ } } ], - "description": "C.g() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15", + "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", @@ -1068,9 +1068,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -1090,9 +1090,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1138,9 +1138,9 @@ "source_mapping": { "start": 243, "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 11 @@ -1155,9 +1155,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -1177,9 +1177,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1227,9 +1227,9 @@ "source_mapping": { "start": 498, "length": 67, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -1246,9 +1246,9 @@ "source_mapping": { "start": 0, "length": 686, - "filename_relative": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1289,9 +1289,9 @@ } } ], - "description": "C.g() (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.4.25/array_by_reference.sol#L10-L15", + "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", diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/array-by-reference/0.5.16/array_by_reference.sol rename to tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json rename to tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol.0.5.16.ArrayByReference.json index db06736f74..3b56351ab7 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 869, "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 42, @@ -31,9 +31,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -72,9 +72,9 @@ "source_mapping": { "start": 836, "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 39 @@ -89,9 +89,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -129,9 +129,9 @@ "source_mapping": { "start": 578, "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -149,9 +149,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -192,9 +192,9 @@ } } ], - "description": "D.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48", + "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", @@ -208,9 +208,9 @@ "source_mapping": { "start": 869, "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 42, @@ -231,9 +231,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -272,9 +272,9 @@ "source_mapping": { "start": 836, "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 39 @@ -289,9 +289,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -329,9 +329,9 @@ "source_mapping": { "start": 498, "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -348,9 +348,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -391,9 +391,9 @@ } } ], - "description": "D.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L42-L48", + "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", @@ -407,9 +407,9 @@ "source_mapping": { "start": 40, "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 4, @@ -428,9 +428,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -476,9 +476,9 @@ "source_mapping": { "start": 17, "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 2 @@ -493,9 +493,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -540,9 +540,9 @@ "source_mapping": { "start": 498, "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -559,9 +559,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -602,9 +602,9 @@ } } ], - "description": "C.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8", + "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", @@ -618,9 +618,9 @@ "source_mapping": { "start": 40, "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 4, @@ -639,9 +639,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -687,9 +687,9 @@ "source_mapping": { "start": 17, "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 2 @@ -704,9 +704,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -751,9 +751,9 @@ "source_mapping": { "start": 578, "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -771,9 +771,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -814,9 +814,9 @@ } } ], - "description": "C.f() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L4-L8", + "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", @@ -830,9 +830,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -852,9 +852,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -900,9 +900,9 @@ "source_mapping": { "start": 243, "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 11 @@ -917,9 +917,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -939,9 +939,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -989,9 +989,9 @@ "source_mapping": { "start": 578, "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -1009,9 +1009,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1052,9 +1052,9 @@ } } ], - "description": "C.g() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15", + "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", @@ -1068,9 +1068,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -1090,9 +1090,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1138,9 +1138,9 @@ "source_mapping": { "start": 243, "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 11 @@ -1155,9 +1155,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -1177,9 +1177,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1227,9 +1227,9 @@ "source_mapping": { "start": 498, "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -1246,9 +1246,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1289,9 +1289,9 @@ } } ], - "description": "C.g() (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.5.16/array_by_reference.sol#L10-L15", + "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", diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/array-by-reference/0.6.11/array_by_reference.sol rename to tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json rename to tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol.0.6.11.ArrayByReference.json index 5cac825a39..c004a12aa3 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 869, "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 42, @@ -31,9 +31,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -72,9 +72,9 @@ "source_mapping": { "start": 836, "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 39 @@ -89,9 +89,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -129,9 +129,9 @@ "source_mapping": { "start": 578, "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -149,9 +149,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -192,9 +192,9 @@ } } ], - "description": "D.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48", + "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", @@ -208,9 +208,9 @@ "source_mapping": { "start": 869, "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 42, @@ -231,9 +231,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -272,9 +272,9 @@ "source_mapping": { "start": 836, "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 39 @@ -289,9 +289,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -329,9 +329,9 @@ "source_mapping": { "start": 498, "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -348,9 +348,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -391,9 +391,9 @@ } } ], - "description": "D.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L42-L48", + "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", @@ -407,9 +407,9 @@ "source_mapping": { "start": 40, "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 4, @@ -428,9 +428,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -476,9 +476,9 @@ "source_mapping": { "start": 17, "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 2 @@ -493,9 +493,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -540,9 +540,9 @@ "source_mapping": { "start": 498, "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -559,9 +559,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -602,9 +602,9 @@ } } ], - "description": "C.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8", + "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", @@ -618,9 +618,9 @@ "source_mapping": { "start": 40, "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 4, @@ -639,9 +639,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -687,9 +687,9 @@ "source_mapping": { "start": 17, "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 2 @@ -704,9 +704,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -751,9 +751,9 @@ "source_mapping": { "start": 578, "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -771,9 +771,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -814,9 +814,9 @@ } } ], - "description": "C.f() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L4-L8", + "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", @@ -830,9 +830,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -852,9 +852,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -900,9 +900,9 @@ "source_mapping": { "start": 243, "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 11 @@ -917,9 +917,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -939,9 +939,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -989,9 +989,9 @@ "source_mapping": { "start": 578, "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -1009,9 +1009,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1052,9 +1052,9 @@ } } ], - "description": "C.g() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15", + "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", @@ -1068,9 +1068,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -1090,9 +1090,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1138,9 +1138,9 @@ "source_mapping": { "start": 243, "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 11 @@ -1155,9 +1155,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -1177,9 +1177,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1227,9 +1227,9 @@ "source_mapping": { "start": 498, "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -1246,9 +1246,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1289,9 +1289,9 @@ } } ], - "description": "C.g() (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.6.11/array_by_reference.sol#L10-L15", + "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", diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/array-by-reference/0.7.6/array_by_reference.sol rename to tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json rename to tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol.0.7.6.ArrayByReference.json index 571870aded..9ed9b8ac8a 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 869, "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 42, @@ -31,9 +31,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -72,9 +72,9 @@ "source_mapping": { "start": 836, "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 39 @@ -89,9 +89,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -129,9 +129,9 @@ "source_mapping": { "start": 578, "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -149,9 +149,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -192,9 +192,9 @@ } } ], - "description": "D.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48", + "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", @@ -208,9 +208,9 @@ "source_mapping": { "start": 869, "length": 269, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 42, @@ -231,9 +231,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -272,9 +272,9 @@ "source_mapping": { "start": 836, "length": 9, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 39 @@ -289,9 +289,9 @@ "source_mapping": { "start": 702, "length": 440, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 31, @@ -329,9 +329,9 @@ "source_mapping": { "start": 498, "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -348,9 +348,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -391,9 +391,9 @@ } } ], - "description": "D.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#42-48) passes array D.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#39)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[D.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48) passes array [D.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L39)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L42-L48", + "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", @@ -407,9 +407,9 @@ "source_mapping": { "start": 40, "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 4, @@ -428,9 +428,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -476,9 +476,9 @@ "source_mapping": { "start": 17, "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 2 @@ -493,9 +493,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -540,9 +540,9 @@ "source_mapping": { "start": 498, "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -559,9 +559,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -602,9 +602,9 @@ } } ], - "description": "C.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8", + "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", @@ -618,9 +618,9 @@ "source_mapping": { "start": 40, "length": 167, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 4, @@ -639,9 +639,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -687,9 +687,9 @@ "source_mapping": { "start": 17, "length": 16, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 2 @@ -704,9 +704,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -751,9 +751,9 @@ "source_mapping": { "start": 578, "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -771,9 +771,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -814,9 +814,9 @@ } } ], - "description": "C.f() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#4-8) passes array C.x (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#2)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.f()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8) passes array [C.x](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L2)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L4-L8", + "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", @@ -830,9 +830,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -852,9 +852,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -900,9 +900,9 @@ "source_mapping": { "start": 243, "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 11 @@ -917,9 +917,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -939,9 +939,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -989,9 +989,9 @@ "source_mapping": { "start": 578, "length": 120, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 25, @@ -1009,9 +1009,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1052,9 +1052,9 @@ } } ], - "description": "C.g() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValueAndReturn(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#25-28)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValueAndReturn(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L25-L28)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15", + "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", @@ -1068,9 +1068,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -1090,9 +1090,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1138,9 +1138,9 @@ "source_mapping": { "start": 243, "length": 21, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 11 @@ -1155,9 +1155,9 @@ "source_mapping": { "start": 213, "length": 198, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 10, @@ -1177,9 +1177,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1227,9 +1227,9 @@ "source_mapping": { "start": 498, "length": 74, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 21, @@ -1246,9 +1246,9 @@ "source_mapping": { "start": 0, "length": 700, - "filename_relative": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_relative": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol", + "filename_short": "tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol", "is_dependency": false, "lines": [ 1, @@ -1289,9 +1289,9 @@ } } ], - "description": "C.g() (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#10-15) passes array C.g().y (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#11)by reference to C.setByValue(uint256[1]) (tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#21-23)which only takes arrays by value\n", - "markdown": "[C.g()](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15) passes array [C.g().y](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L11)by reference to [C.setByValue(uint256[1])](tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L21-L23)which only takes arrays by value\n", - "first_markdown_element": "tests/detectors/array-by-reference/0.7.6/array_by_reference.sol#L10-L15", + "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", diff --git a/tests/detectors/assembly/0.4.25/inline_assembly_contract.sol b/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol similarity index 100% rename from tests/detectors/assembly/0.4.25/inline_assembly_contract.sol rename to tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json rename to tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol.0.4.25.Assembly.json index df189604ba..5864124768 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 119, "length": 700, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 6, @@ -39,9 +39,9 @@ "source_mapping": { "start": 97, "length": 724, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 5, @@ -75,9 +75,9 @@ "source_mapping": { "start": 191, "length": 628, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 7, @@ -105,9 +105,9 @@ "source_mapping": { "start": 119, "length": 700, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 6, @@ -136,9 +136,9 @@ "source_mapping": { "start": 97, "length": 724, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 5, @@ -169,10 +169,10 @@ } } ], - "description": "GetCode.at(address) (tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#7-20)\n", - "markdown": "[GetCode.at(address)](tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L7-L20)\n", - "first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_contract.sol#L6-L20", - "id": "37ca62e9af93d1648d3a1aa845426ec5395eab836277e3a8baa52621bf1df7c3", + "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" diff --git a/tests/detectors/assembly/0.4.25/inline_assembly_library.sol b/tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol similarity index 100% rename from tests/detectors/assembly/0.4.25/inline_assembly_library.sol rename to tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol diff --git a/tests/detectors/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 similarity index 83% rename from tests/detectors/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json rename to tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol.0.4.25.Assembly.json index 23e574e221..1e398fdb90 100644 --- a/tests/detectors/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 @@ -4,22 +4,38 @@ "elements": [ { "type": "function", - "name": "sumAsm", + "name": "sumPureAsm", "source_mapping": { - "start": 593, - "length": 247, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "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/detectors/assembly/0.4.25/inline_assembly_library.sol", + "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 + 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 @@ -31,9 +47,9 @@ "source_mapping": { "start": 98, "length": 1581, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", "is_dependency": false, "lines": [ 5, @@ -85,47 +101,81 @@ "ending_column": 2 } }, - "signature": "sumAsm(uint256[])" + "signature": "sumPureAsm(uint256[])" } }, { "type": "node", "name": "", "source_mapping": { - "start": 720, - "length": 114, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "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/detectors/assembly/0.4.25/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", "is_dependency": false, "lines": [ - 18, - 19, - 20, - 21 + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47 ], - "starting_column": 13, - "ending_column": 10 + "starting_column": 9, + "ending_column": 6 }, "type_specific_fields": { "parent": { "type": "function", - "name": "sumAsm", + "name": "sumPureAsm", "source_mapping": { - "start": 593, - "length": 247, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "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/detectors/assembly/0.4.25/inline_assembly_library.sol", + "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 + 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 @@ -137,9 +187,9 @@ "source_mapping": { "start": 98, "length": 1581, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", "is_dependency": false, "lines": [ 5, @@ -191,16 +241,16 @@ "ending_column": 2 } }, - "signature": "sumAsm(uint256[])" + "signature": "sumPureAsm(uint256[])" } } } } ], - "description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#18-21)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L18-L21)\n", - "first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L16-L22", - "id": "7009ef6498fa29901fbf3e9e1971a19f6fa48c87be3b2592c632e05a4321e1d3", + "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" @@ -209,38 +259,22 @@ "elements": [ { "type": "function", - "name": "sumPureAsm", + "name": "sumAsm", "source_mapping": { - "start": 923, - "length": 754, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "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/detectors/assembly/0.4.25/inline_assembly_library.sol", + "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 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -252,9 +286,9 @@ "source_mapping": { "start": 98, "length": 1581, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", "is_dependency": false, "lines": [ 5, @@ -306,81 +340,47 @@ "ending_column": 2 } }, - "signature": "sumPureAsm(uint256[])" + "signature": "sumAsm(uint256[])" } }, { "type": "node", "name": "", "source_mapping": { - "start": 1000, - "length": 677, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "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/detectors/assembly/0.4.25/inline_assembly_library.sol", + "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 + 18, + 19, + 20, + 21 ], - "starting_column": 9, - "ending_column": 6 + "starting_column": 13, + "ending_column": 10 }, "type_specific_fields": { "parent": { "type": "function", - "name": "sumPureAsm", + "name": "sumAsm", "source_mapping": { - "start": 923, - "length": 754, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "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/detectors/assembly/0.4.25/inline_assembly_library.sol", + "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 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -392,9 +392,9 @@ "source_mapping": { "start": 98, "length": 1581, - "filename_relative": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol", "is_dependency": false, "lines": [ 5, @@ -446,16 +446,16 @@ "ending_column": 2 } }, - "signature": "sumPureAsm(uint256[])" + "signature": "sumAsm(uint256[])" } } } } ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.4.25/inline_assembly_library.sol#26-47)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L26-L47)\n", - "first_markdown_element": "tests/detectors/assembly/0.4.25/inline_assembly_library.sol#L25-L47", - "id": "e6c5e2eab9e98c206f4092988fc006a6333e737680610667cba168fe739a3cf6", + "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" diff --git a/tests/detectors/assembly/0.5.16/inline_assembly_contract.sol b/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol similarity index 100% rename from tests/detectors/assembly/0.5.16/inline_assembly_contract.sol rename to tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json rename to tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol.0.5.16.Assembly.json index 78dd0929c9..3a129af925 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 119, "length": 707, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 6, @@ -39,9 +39,9 @@ "source_mapping": { "start": 97, "length": 731, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 5, @@ -75,9 +75,9 @@ "source_mapping": { "start": 198, "length": 622, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 7, @@ -104,9 +104,9 @@ "source_mapping": { "start": 119, "length": 707, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 6, @@ -135,9 +135,9 @@ "source_mapping": { "start": 97, "length": 731, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 5, @@ -168,10 +168,10 @@ } } ], - "description": "GetCode.at(address) (tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#6-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#7-19)\n", - "markdown": "[GetCode.at(address)](tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L6-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L7-L19)\n", - "first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_contract.sol#L6-L20", - "id": "ac5f8f89c2d7459785200d5d861616e04a1bbcfbb2a39cef8bef6a03222c7c21", + "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" diff --git a/tests/detectors/assembly/0.5.16/inline_assembly_library.sol b/tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol similarity index 100% rename from tests/detectors/assembly/0.5.16/inline_assembly_library.sol rename to tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol diff --git a/tests/detectors/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 similarity index 83% rename from tests/detectors/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json rename to tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol.0.5.16.Assembly.json index 5c5045dce5..4c2c748f67 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 599, "length": 254, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "is_dependency": false, "lines": [ 16, @@ -31,9 +31,9 @@ "source_mapping": { "start": 97, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "is_dependency": false, "lines": [ 5, @@ -94,9 +94,9 @@ "source_mapping": { "start": 733, "length": 104, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "is_dependency": false, "lines": [ 18, @@ -113,9 +113,9 @@ "source_mapping": { "start": 599, "length": 254, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "is_dependency": false, "lines": [ 16, @@ -136,9 +136,9 @@ "source_mapping": { "start": 97, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "is_dependency": false, "lines": [ 5, @@ -196,10 +196,10 @@ } } ], - "description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#16-22) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#18-20)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L16-L22) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L18-L20)\n", - "first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L16-L22", - "id": "abf9dce26719358da77702aa40f23104cc83044d0b1cffb492e318360fb72b6f", + "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" @@ -212,9 +212,9 @@ "source_mapping": { "start": 936, "length": 761, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "is_dependency": false, "lines": [ 25, @@ -251,9 +251,9 @@ "source_mapping": { "start": 97, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "is_dependency": false, "lines": [ 5, @@ -314,9 +314,9 @@ "source_mapping": { "start": 1020, "length": 671, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "is_dependency": false, "lines": [ 26, @@ -351,9 +351,9 @@ "source_mapping": { "start": 936, "length": 761, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "is_dependency": false, "lines": [ 25, @@ -390,9 +390,9 @@ "source_mapping": { "start": 97, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol", "is_dependency": false, "lines": [ 5, @@ -450,10 +450,10 @@ } } ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#25-47) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.5.16/inline_assembly_library.sol#26-46)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L25-L47) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L26-L46)\n", - "first_markdown_element": "tests/detectors/assembly/0.5.16/inline_assembly_library.sol#L25-L47", - "id": "c0078585e7d2fe02dda5ea48ddb48b40916db51afbee078f77bea648d1aa0315", + "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" diff --git a/tests/detectors/assembly/0.6.11/inline_assembly_contract.sol b/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol similarity index 100% rename from tests/detectors/assembly/0.6.11/inline_assembly_contract.sol rename to tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json rename to tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol.0.6.11.Assembly.json index c9f88cdc73..fde8557cc5 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 94, "length": 707, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 4, @@ -39,9 +39,9 @@ "source_mapping": { "start": 72, "length": 731, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 3, @@ -75,9 +75,9 @@ "source_mapping": { "start": 173, "length": 622, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 5, @@ -104,9 +104,9 @@ "source_mapping": { "start": 94, "length": 707, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 4, @@ -135,9 +135,9 @@ "source_mapping": { "start": 72, "length": 731, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 3, @@ -168,10 +168,10 @@ } } ], - "description": "GetCode.at(address) (tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#5-17)\n", - "markdown": "[GetCode.at(address)](tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L5-L17)\n", - "first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_contract.sol#L4-L18", - "id": "00e51f7f223289ebaad73cd6e77329b37ff5be360d9a682614cb6b72b8e3d9b4", + "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" diff --git a/tests/detectors/assembly/0.6.11/inline_assembly_library.sol b/tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol similarity index 100% rename from tests/detectors/assembly/0.6.11/inline_assembly_library.sol rename to tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol diff --git a/tests/detectors/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 similarity index 83% rename from tests/detectors/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json rename to tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol.0.6.11.Assembly.json index 755e33a769..8844c8efa0 100644 --- a/tests/detectors/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 @@ -4,38 +4,22 @@ "elements": [ { "type": "function", - "name": "sumPureAsm", + "name": "sumAsm", "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "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/detectors/assembly/0.6.11/inline_assembly_library.sol", + "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 + 14, + 15, + 16, + 17, + 18, + 19, + 20 ], "starting_column": 5, "ending_column": 6 @@ -47,9 +31,9 @@ "source_mapping": { "start": 72, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", "is_dependency": false, "lines": [ 3, @@ -101,80 +85,46 @@ "ending_column": 2 } }, - "signature": "sumPureAsm(uint256[])" + "signature": "sumAsm(uint256[])" } }, { "type": "node", "name": "", "source_mapping": { - "start": 995, - "length": 671, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "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/detectors/assembly/0.6.11/inline_assembly_library.sol", + "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 + 16, + 17, + 18 ], - "starting_column": 9, - "ending_column": 10 + "starting_column": 13, + "ending_column": 14 }, "type_specific_fields": { "parent": { "type": "function", - "name": "sumPureAsm", + "name": "sumAsm", "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "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/detectors/assembly/0.6.11/inline_assembly_library.sol", + "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 + 14, + 15, + 16, + 17, + 18, + 19, + 20 ], "starting_column": 5, "ending_column": 6 @@ -186,9 +136,9 @@ "source_mapping": { "start": 72, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", "is_dependency": false, "lines": [ 3, @@ -240,16 +190,16 @@ "ending_column": 2 } }, - "signature": "sumPureAsm(uint256[])" + "signature": "sumAsm(uint256[])" } } } } ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#24-44)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L24-L44)\n", - "first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L23-L45", - "id": "5964c7440a9efb78bf78544bcdc60c789e3d9dff73438108bcb07ac98d60876a", + "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" @@ -258,22 +208,38 @@ "elements": [ { "type": "function", - "name": "sumAsm", + "name": "sumPureAsm", "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "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/detectors/assembly/0.6.11/inline_assembly_library.sol", + "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 + 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 @@ -285,9 +251,9 @@ "source_mapping": { "start": 72, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", "is_dependency": false, "lines": [ 3, @@ -339,46 +305,80 @@ "ending_column": 2 } }, - "signature": "sumAsm(uint256[])" + "signature": "sumPureAsm(uint256[])" } }, { "type": "node", "name": "", "source_mapping": { - "start": 708, - "length": 104, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "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/detectors/assembly/0.6.11/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", "is_dependency": false, "lines": [ - 16, - 17, - 18 + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 ], - "starting_column": 13, - "ending_column": 14 + "starting_column": 9, + "ending_column": 10 }, "type_specific_fields": { "parent": { "type": "function", - "name": "sumAsm", + "name": "sumPureAsm", "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "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/detectors/assembly/0.6.11/inline_assembly_library.sol", + "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 + 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 @@ -390,9 +390,9 @@ "source_mapping": { "start": 72, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol", "is_dependency": false, "lines": [ 3, @@ -444,16 +444,16 @@ "ending_column": 2 } }, - "signature": "sumAsm(uint256[])" + "signature": "sumPureAsm(uint256[])" } } } } ], - "description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.6.11/inline_assembly_library.sol#16-18)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L16-L18)\n", - "first_markdown_element": "tests/detectors/assembly/0.6.11/inline_assembly_library.sol#L14-L20", - "id": "a8d71513166310212c49c4edecbdf8fbc3040b1cb5b5756f0ad1971ae7d4cdb1", + "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" diff --git a/tests/detectors/assembly/0.7.6/inline_assembly_contract.sol b/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol similarity index 100% rename from tests/detectors/assembly/0.7.6/inline_assembly_contract.sol rename to tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json rename to tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol.0.7.6.Assembly.json index 44096ea474..60cf11f343 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 94, "length": 707, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 4, @@ -39,9 +39,9 @@ "source_mapping": { "start": 72, "length": 731, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 3, @@ -75,9 +75,9 @@ "source_mapping": { "start": 173, "length": 622, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 5, @@ -104,9 +104,9 @@ "source_mapping": { "start": 94, "length": 707, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 4, @@ -135,9 +135,9 @@ "source_mapping": { "start": 72, "length": 731, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol", "is_dependency": false, "lines": [ 3, @@ -168,10 +168,10 @@ } } ], - "description": "GetCode.at(address) (tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#4-18) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#5-17)\n", - "markdown": "[GetCode.at(address)](tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L4-L18) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L5-L17)\n", - "first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_contract.sol#L4-L18", - "id": "3b2ace4ab64f4fdd4436ae22d38a7db3efe8d2b65dca270af7fb18f281323670", + "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" diff --git a/tests/detectors/assembly/0.7.6/inline_assembly_library.sol b/tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol similarity index 100% rename from tests/detectors/assembly/0.7.6/inline_assembly_library.sol rename to tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol diff --git a/tests/detectors/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 similarity index 83% rename from tests/detectors/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json rename to tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol.0.7.6.Assembly.json index ca7efe6959..361640626f 100644 --- a/tests/detectors/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 @@ -4,38 +4,22 @@ "elements": [ { "type": "function", - "name": "sumPureAsm", + "name": "sumAsm", "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "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/detectors/assembly/0.7.6/inline_assembly_library.sol", + "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 + 14, + 15, + 16, + 17, + 18, + 19, + 20 ], "starting_column": 5, "ending_column": 6 @@ -47,9 +31,9 @@ "source_mapping": { "start": 72, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", "is_dependency": false, "lines": [ 3, @@ -101,80 +85,46 @@ "ending_column": 2 } }, - "signature": "sumPureAsm(uint256[])" + "signature": "sumAsm(uint256[])" } }, { "type": "node", "name": "", "source_mapping": { - "start": 995, - "length": 671, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "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/detectors/assembly/0.7.6/inline_assembly_library.sol", + "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 + 16, + 17, + 18 ], - "starting_column": 9, - "ending_column": 10 + "starting_column": 13, + "ending_column": 14 }, "type_specific_fields": { "parent": { "type": "function", - "name": "sumPureAsm", + "name": "sumAsm", "source_mapping": { - "start": 911, - "length": 761, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "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/detectors/assembly/0.7.6/inline_assembly_library.sol", + "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 + 14, + 15, + 16, + 17, + 18, + 19, + 20 ], "starting_column": 5, "ending_column": 6 @@ -186,9 +136,9 @@ "source_mapping": { "start": 72, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", "is_dependency": false, "lines": [ 3, @@ -240,16 +190,16 @@ "ending_column": 2 } }, - "signature": "sumPureAsm(uint256[])" + "signature": "sumAsm(uint256[])" } } } } ], - "description": "VectorSum.sumPureAsm(uint256[]) (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#23-45) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#24-44)\n", - "markdown": "[VectorSum.sumPureAsm(uint256[])](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L23-L45) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L24-L44)\n", - "first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L23-L45", - "id": "5cafb3e9d7d87c17203cf2c296eeec7de6b774b2a8d71908f8cfc9b8d916cb4b", + "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" @@ -258,22 +208,38 @@ "elements": [ { "type": "function", - "name": "sumAsm", + "name": "sumPureAsm", "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "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/detectors/assembly/0.7.6/inline_assembly_library.sol", + "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 + 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 @@ -285,9 +251,9 @@ "source_mapping": { "start": 72, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", "is_dependency": false, "lines": [ 3, @@ -339,46 +305,80 @@ "ending_column": 2 } }, - "signature": "sumAsm(uint256[])" + "signature": "sumPureAsm(uint256[])" } }, { "type": "node", "name": "", "source_mapping": { - "start": 708, - "length": 104, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "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/detectors/assembly/0.7.6/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", "is_dependency": false, "lines": [ - 16, - 17, - 18 + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44 ], - "starting_column": 13, - "ending_column": 14 + "starting_column": 9, + "ending_column": 10 }, "type_specific_fields": { "parent": { "type": "function", - "name": "sumAsm", + "name": "sumPureAsm", "source_mapping": { - "start": 574, - "length": 254, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "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/detectors/assembly/0.7.6/inline_assembly_library.sol", + "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 + 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 @@ -390,9 +390,9 @@ "source_mapping": { "start": 72, "length": 1602, - "filename_relative": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "filename_relative": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol", + "filename_short": "tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol", "is_dependency": false, "lines": [ 3, @@ -444,16 +444,16 @@ "ending_column": 2 } }, - "signature": "sumAsm(uint256[])" + "signature": "sumPureAsm(uint256[])" } } } } ], - "description": "VectorSum.sumAsm(uint256[]) (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#14-20) uses assembly\n\t- INLINE ASM (tests/detectors/assembly/0.7.6/inline_assembly_library.sol#16-18)\n", - "markdown": "[VectorSum.sumAsm(uint256[])](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L14-L20) uses assembly\n\t- [INLINE ASM](tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L16-L18)\n", - "first_markdown_element": "tests/detectors/assembly/0.7.6/inline_assembly_library.sol#L14-L20", - "id": "a83582beb2c0460617fa82fbdfc38a050004e285749b17141b63e8051062248b", + "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" diff --git a/tests/detectors/assert-state-change/0.4.25/assert_state_change.sol b/tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol similarity index 100% rename from tests/detectors/assert-state-change/0.4.25/assert_state_change.sol rename to tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json rename to tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol.0.4.25.AssertStateChange.json index 17c63551c2..6ae5f7d92d 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 398, "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ 19, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -85,9 +85,9 @@ "source_mapping": { "start": 427, "length": 21, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ 20 @@ -102,9 +102,9 @@ "source_mapping": { "start": 398, "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ 19, @@ -121,9 +121,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -176,10 +176,10 @@ } } ], - "description": "A.bad2() (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.4.25/assert_state_change.sol#L19-L21", - "id": "47c8c39b084f8d339822d44f892cb049c1a3834f52fd48d2dcef80bac56996a3", + "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" @@ -188,18 +188,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "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/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ - 11, - 12, - 13 + 6, + 7, + 8 ], "starting_column": 3, "ending_column": 4 @@ -211,9 +211,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -260,21 +260,21 @@ "ending_column": 2 } }, - "signature": "bad1(uint256)" + "signature": "bad0()" } }, { "type": "node", - "name": "assert(bool)((s_a += a) > 10)", + "name": "assert(bool)((s_a += 1) > 10)", "source_mapping": { - "start": 224, + "start": 106, "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ - 12 + 7 ], "starting_column": 5, "ending_column": 28 @@ -282,18 +282,18 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "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/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ - 11, - 12, - 13 + 6, + 7, + 8 ], "starting_column": 3, "ending_column": 4 @@ -305,9 +305,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -354,16 +354,16 @@ "ending_column": 2 } }, - "signature": "bad1(uint256)" + "signature": "bad0()" } } } } ], - "description": "A.bad1(uint256) (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.4.25/assert_state_change.sol#L11-L13", - "id": "849934acf882563bb79caed681f16909f03795bbbbe8338455d104d66a52314c", + "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" @@ -372,18 +372,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "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/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ - 6, - 7, - 8 + 11, + 12, + 13 ], "starting_column": 3, "ending_column": 4 @@ -395,9 +395,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -444,21 +444,21 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1(uint256)" } }, { "type": "node", - "name": "assert(bool)((s_a += 1) > 10)", + "name": "assert(bool)((s_a += a) > 10)", "source_mapping": { - "start": 106, + "start": 224, "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ - 7 + 12 ], "starting_column": 5, "ending_column": 28 @@ -466,18 +466,18 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "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/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ - 6, - 7, - 8 + 11, + 12, + 13 ], "starting_column": 3, "ending_column": 4 @@ -489,9 +489,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.4.25/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -538,16 +538,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1(uint256)" } } } } ], - "description": "A.bad0() (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.4.25/assert_state_change.sol#L6-L8", - "id": "a01104ede08ddc5107a2d63d851930d477642029aeef70d6cb44eb2a640b282a", + "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" diff --git a/tests/detectors/assert-state-change/0.5.16/assert_state_change.sol b/tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol similarity index 100% rename from tests/detectors/assert-state-change/0.5.16/assert_state_change.sol rename to tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json rename to tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol.0.5.16.AssertStateChange.json index 8b36fabfe4..9abeed7f28 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 186, "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ 11, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -85,9 +85,9 @@ "source_mapping": { "start": 224, "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ 12 @@ -102,9 +102,9 @@ "source_mapping": { "start": 186, "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ 11, @@ -121,9 +121,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -176,10 +176,10 @@ } } ], - "description": "A.bad1(uint256) (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.5.16/assert_state_change.sol#L11-L13", - "id": "ea912d34e8adabfd2ce93ecd5723df8d2e7ebec7e66de5fc56f3304c780488b3", + "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" @@ -188,18 +188,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "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/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ - 6, - 7, - 8 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -211,9 +211,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -260,40 +260,40 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2()" } }, { "type": "node", - "name": "assert(bool)((s_a += 1) > 10)", + "name": "assert(bool)(bad2_callee())", "source_mapping": { - "start": 106, - "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "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/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ - 7 + 20 ], "starting_column": 5, - "ending_column": 28 + "ending_column": 26 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 77, - "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "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/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ - 6, - 7, - 8 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -305,9 +305,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -354,16 +354,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2()" } } } } ], - "description": "A.bad0() (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.5.16/assert_state_change.sol#L6-L8", - "id": "ed7344e23d057576887c7e524b215bd0b52464ce035f686bab51b271460e43a0", + "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" @@ -372,18 +372,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "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/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 6, + 7, + 8 ], "starting_column": 3, "ending_column": 4 @@ -395,9 +395,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -444,40 +444,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad0()" } }, { "type": "node", - "name": "assert(bool)(bad2_callee())", + "name": "assert(bool)((s_a += 1) > 10)", "source_mapping": { - "start": 427, - "length": 21, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "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/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ - 20 + 7 ], "starting_column": 5, - "ending_column": 26 + "ending_column": 28 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "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/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 6, + 7, + 8 ], "starting_column": 3, "ending_column": 4 @@ -489,9 +489,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.5.16/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -538,16 +538,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad0()" } } } } ], - "description": "A.bad2() (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.5.16/assert_state_change.sol#L19-L21", - "id": "feb1fef411c094fe2d2dac33e4932217dd550b8a89548417ef8a4da2fe99eea2", + "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" diff --git a/tests/detectors/assert-state-change/0.6.11/assert_state_change.sol b/tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol similarity index 100% rename from tests/detectors/assert-state-change/0.6.11/assert_state_change.sol rename to tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json rename to tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol.0.6.11.AssertStateChange.json index 7cca66562c..35fb8b6873 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 77, "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ 6, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -85,9 +85,9 @@ "source_mapping": { "start": 106, "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ 7 @@ -102,9 +102,9 @@ "source_mapping": { "start": 77, "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ 6, @@ -121,9 +121,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -176,10 +176,10 @@ } } ], - "description": "A.bad0() (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.6.11/assert_state_change.sol#L6-L8", - "id": "5b8574d24925d841b9f041ba70166cc219ea6bcdd06c27d2f570740722b38380", + "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" @@ -188,18 +188,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "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/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 11, + 12, + 13 ], "starting_column": 3, "ending_column": 4 @@ -211,9 +211,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -260,40 +260,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad1(uint256)" } }, { "type": "node", - "name": "assert(bool)(bad2_callee())", + "name": "assert(bool)((s_a += a) > 10)", "source_mapping": { - "start": 427, - "length": 21, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "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/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ - 20 + 12 ], "starting_column": 5, - "ending_column": 26 + "ending_column": 28 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 398, - "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "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/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 11, + 12, + 13 ], "starting_column": 3, "ending_column": 4 @@ -305,9 +305,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -354,16 +354,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad1(uint256)" } } } } ], - "description": "A.bad2() (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.6.11/assert_state_change.sol#L19-L21", - "id": "6f4b2360043bf3035cc152b583d3462d8cc98e91de8577091fe3a0af569d5285", + "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" @@ -372,18 +372,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "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/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ - 11, - 12, - 13 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -395,9 +395,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -444,40 +444,40 @@ "ending_column": 2 } }, - "signature": "bad1(uint256)" + "signature": "bad2()" } }, { "type": "node", - "name": "assert(bool)((s_a += a) > 10)", + "name": "assert(bool)(bad2_callee())", "source_mapping": { - "start": 224, - "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "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/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ - 12 + 20 ], "starting_column": 5, - "ending_column": 28 + "ending_column": 26 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 186, - "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "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/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ - 11, - 12, - 13 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -489,9 +489,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.6.11/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -538,16 +538,16 @@ "ending_column": 2 } }, - "signature": "bad1(uint256)" + "signature": "bad2()" } } } } ], - "description": "A.bad1(uint256) (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.6.11/assert_state_change.sol#L11-L13", - "id": "c27ede68d9d7c6159032f3aef6bf9fa491390317da33307fa783a93c1b675bd7", + "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" diff --git a/tests/detectors/assert-state-change/0.7.6/assert_state_change.sol b/tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol similarity index 100% rename from tests/detectors/assert-state-change/0.7.6/assert_state_change.sol rename to tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json rename to tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol.0.7.6.AssertStateChange.json index a77ef95d51..f42a95cfae 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 398, "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 19, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -85,9 +85,9 @@ "source_mapping": { "start": 427, "length": 21, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 20 @@ -102,9 +102,9 @@ "source_mapping": { "start": 398, "length": 55, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 19, @@ -121,9 +121,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -176,10 +176,10 @@ } } ], - "description": "A.bad2() (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.7.6/assert_state_change.sol#L19-L21", - "id": "4b31923b05dec7d68f1bf133b986b4ec06fcc82ff3b8f0414d3ee3d623b69265", + "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" @@ -192,9 +192,9 @@ "source_mapping": { "start": 186, "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 11, @@ -211,9 +211,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -269,9 +269,9 @@ "source_mapping": { "start": 224, "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 12 @@ -286,9 +286,9 @@ "source_mapping": { "start": 186, "length": 66, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 11, @@ -305,9 +305,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -360,10 +360,10 @@ } } ], - "description": "A.bad1(uint256) (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.7.6/assert_state_change.sol#L11-L13", - "id": "60ad080e2f9647b400851918171383a9aac2900cc0828121e441db4240911fba", + "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" @@ -376,9 +376,9 @@ "source_mapping": { "start": 77, "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 6, @@ -395,9 +395,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -453,9 +453,9 @@ "source_mapping": { "start": 106, "length": 23, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 7 @@ -470,9 +470,9 @@ "source_mapping": { "start": 77, "length": 57, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 6, @@ -489,9 +489,9 @@ "source_mapping": { "start": 0, "length": 759, - "filename_relative": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_relative": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/assert-state-change/0.7.6/assert_state_change.sol", + "filename_short": "tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol", "is_dependency": false, "lines": [ 1, @@ -544,10 +544,10 @@ } } ], - "description": "A.bad0() (tests/detectors/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/detectors/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/detectors/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/detectors/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/detectors/assert-state-change/0.7.6/assert_state_change.sol#L6-L8", - "id": "a710d11e5510f0eb3acb2c1ec524779253f25bf2931bce4cb9c5c048ec586b80", + "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" diff --git a/tests/detectors/backdoor/0.4.25/backdoor.sol b/tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol similarity index 100% rename from tests/detectors/backdoor/0.4.25/backdoor.sol rename to tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json rename to tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol.0.4.25.Backdoor.json index ff6fcc3e75..2cff131a2a 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 18, "length": 74, - "filename_relative": "tests/detectors/backdoor/0.4.25/backdoor.sol", + "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.4.25/backdoor.sol", + "filename_short": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol", "is_dependency": false, "lines": [ 4, @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 94, - "filename_relative": "tests/detectors/backdoor/0.4.25/backdoor.sol", + "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.4.25/backdoor.sol", + "filename_short": "tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol", "is_dependency": false, "lines": [ 2, @@ -48,9 +48,9 @@ } } ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.4.25/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.4.25/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/detectors/backdoor/0.4.25/backdoor.sol#L4-L6", + "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", diff --git a/tests/detectors/backdoor/0.5.16/backdoor.sol b/tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol similarity index 100% rename from tests/detectors/backdoor/0.5.16/backdoor.sol rename to tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json rename to tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol.0.5.16.Backdoor.json index a21e527487..cb901fd319 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 18, "length": 74, - "filename_relative": "tests/detectors/backdoor/0.5.16/backdoor.sol", + "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.5.16/backdoor.sol", + "filename_short": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol", "is_dependency": false, "lines": [ 4, @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 94, - "filename_relative": "tests/detectors/backdoor/0.5.16/backdoor.sol", + "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.5.16/backdoor.sol", + "filename_short": "tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol", "is_dependency": false, "lines": [ 2, @@ -48,9 +48,9 @@ } } ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.5.16/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.5.16/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/detectors/backdoor/0.5.16/backdoor.sol#L4-L6", + "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", diff --git a/tests/detectors/backdoor/0.6.11/backdoor.sol b/tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol similarity index 100% rename from tests/detectors/backdoor/0.6.11/backdoor.sol rename to tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json rename to tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol.0.6.11.Backdoor.json index 2e254f0133..1b2ed33059 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 18, "length": 74, - "filename_relative": "tests/detectors/backdoor/0.6.11/backdoor.sol", + "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.6.11/backdoor.sol", + "filename_short": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol", "is_dependency": false, "lines": [ 4, @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 94, - "filename_relative": "tests/detectors/backdoor/0.6.11/backdoor.sol", + "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.6.11/backdoor.sol", + "filename_short": "tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol", "is_dependency": false, "lines": [ 2, @@ -48,9 +48,9 @@ } } ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.6.11/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.6.11/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/detectors/backdoor/0.6.11/backdoor.sol#L4-L6", + "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", diff --git a/tests/detectors/backdoor/0.7.6/backdoor.sol b/tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol similarity index 100% rename from tests/detectors/backdoor/0.7.6/backdoor.sol rename to tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json rename to tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol.0.7.6.Backdoor.json index b09263321e..83a7eaa780 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 18, "length": 74, - "filename_relative": "tests/detectors/backdoor/0.7.6/backdoor.sol", + "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.7.6/backdoor.sol", + "filename_short": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol", "is_dependency": false, "lines": [ 4, @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 94, - "filename_relative": "tests/detectors/backdoor/0.7.6/backdoor.sol", + "filename_relative": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/backdoor/0.7.6/backdoor.sol", + "filename_short": "tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol", "is_dependency": false, "lines": [ 2, @@ -48,9 +48,9 @@ } } ], - "description": "Backdoor function found in C.i_am_a_backdoor() (tests/detectors/backdoor/0.7.6/backdoor.sol#4-6)\n", - "markdown": "Backdoor function found in [C.i_am_a_backdoor()](tests/detectors/backdoor/0.7.6/backdoor.sol#L4-L6)\n", - "first_markdown_element": "tests/detectors/backdoor/0.7.6/backdoor.sol#L4-L6", + "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", diff --git a/tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol b/tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol similarity index 100% rename from tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol rename to tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json rename to tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol.0.4.25.BooleanConstantMisuse.json index 00a4712dfe..0eb9f8d924 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 162, "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 9, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 1, @@ -93,9 +93,9 @@ "source_mapping": { "start": 221, "length": 18, - "filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 10 @@ -110,9 +110,9 @@ "source_mapping": { "start": 162, "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 9, @@ -129,9 +129,9 @@ "source_mapping": { "start": 0, "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 1, @@ -192,10 +192,10 @@ } } ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/detectors/boolean-cst/0.4.25/boolean-constant-misuse.sol#L9-L11", - "id": "4b8abd9aa6870f3044de67a84b3139e4a79c9ac13b4c0ed4f0772713f12c709b", + "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" diff --git a/tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol b/tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol similarity index 100% rename from tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol rename to tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json rename to tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol.0.5.16.BooleanConstantMisuse.json index 8c66dccf69..686621446f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 162, "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 9, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 1, @@ -93,9 +93,9 @@ "source_mapping": { "start": 221, "length": 18, - "filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 10 @@ -110,9 +110,9 @@ "source_mapping": { "start": 162, "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 9, @@ -129,9 +129,9 @@ "source_mapping": { "start": 0, "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 1, @@ -192,10 +192,10 @@ } } ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/detectors/boolean-cst/0.5.16/boolean-constant-misuse.sol#L9-L11", - "id": "bd4514763d71bc7fcb2a681b1fe98928e9d1dd92882c5fe0480e52cba9130cfe", + "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" diff --git a/tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol b/tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol similarity index 100% rename from tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol rename to tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json rename to tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol.0.6.11.BooleanConstantMisuse.json index 54f6ad089b..9dc7626602 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 162, "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 9, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 1, @@ -93,9 +93,9 @@ "source_mapping": { "start": 221, "length": 18, - "filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 10 @@ -110,9 +110,9 @@ "source_mapping": { "start": 162, "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 9, @@ -129,9 +129,9 @@ "source_mapping": { "start": 0, "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 1, @@ -192,10 +192,10 @@ } } ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/detectors/boolean-cst/0.6.11/boolean-constant-misuse.sol#L9-L11", - "id": "81067a443028f22790f44718bff947b7ec6de12b929bd89147d3b34044b3890d", + "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" diff --git a/tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol b/tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol similarity index 100% rename from tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol rename to tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json rename to tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol.0.7.6.BooleanConstantMisuse.json index 66487e917d..347b13f6eb 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 162, "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 9, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 1, @@ -93,9 +93,9 @@ "source_mapping": { "start": 221, "length": 18, - "filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 10 @@ -110,9 +110,9 @@ "source_mapping": { "start": 162, "length": 84, - "filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 9, @@ -129,9 +129,9 @@ "source_mapping": { "start": 0, "length": 923, - "filename_relative": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol", "is_dependency": false, "lines": [ 1, @@ -192,10 +192,10 @@ } } ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#9-11) uses a Boolean constant improperly:\n\t-(b || true) (tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#10)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11) uses a Boolean constant improperly:\n\t-[(b || true)](tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L10)\n", - "first_markdown_element": "tests/detectors/boolean-cst/0.7.6/boolean-constant-misuse.sol#L9-L11", - "id": "d96572f8601700902d157c2b4ad0b66254eba7a6d9c83710f26ea8cbdf2085fa", + "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" diff --git a/tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol b/tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol similarity index 100% rename from tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol rename to tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json rename to tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol.0.4.25.BooleanEquality.json index e97707d56e..300e856342 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 139, "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 7, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 1, @@ -74,9 +74,9 @@ "source_mapping": { "start": 198, "length": 18, - "filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 8 @@ -91,9 +91,9 @@ "source_mapping": { "start": 139, "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 7, @@ -110,9 +110,9 @@ "source_mapping": { "start": 0, "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 1, @@ -154,10 +154,10 @@ } } ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/detectors/boolean-equal/0.4.25/boolean-constant-equality.sol#L7-L9", - "id": "55ba7d7edfd3cc9012d1fbd9d2ba12a488d950a885c3664fe080b90288a2c715", + "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" diff --git a/tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol b/tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol similarity index 100% rename from tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol rename to tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json rename to tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol.0.5.16.BooleanEquality.json index ff61bd74e9..6d479deddb 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 139, "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 7, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 1, @@ -74,9 +74,9 @@ "source_mapping": { "start": 198, "length": 18, - "filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 8 @@ -91,9 +91,9 @@ "source_mapping": { "start": 139, "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 7, @@ -110,9 +110,9 @@ "source_mapping": { "start": 0, "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 1, @@ -154,10 +154,10 @@ } } ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/detectors/boolean-equal/0.5.16/boolean-constant-equality.sol#L7-L9", - "id": "be01fe651d102dc47ca3eb623ba9078138896f662948665b8d4e03780305c085", + "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" diff --git a/tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol b/tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol similarity index 100% rename from tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol rename to tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json rename to tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol.0.6.11.BooleanEquality.json index 9d09a172b4..c9a808c64d 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 139, "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 7, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 1, @@ -74,9 +74,9 @@ "source_mapping": { "start": 198, "length": 18, - "filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 8 @@ -91,9 +91,9 @@ "source_mapping": { "start": 139, "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 7, @@ -110,9 +110,9 @@ "source_mapping": { "start": 0, "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 1, @@ -154,10 +154,10 @@ } } ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/detectors/boolean-equal/0.6.11/boolean-constant-equality.sol#L7-L9", - "id": "0f863694c7b456673256b0f8002c9ac9f050b89b9ec3c86936c6399b3eb4b2e1", + "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" diff --git a/tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol b/tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol similarity index 100% rename from tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol rename to tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json rename to tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol.0.7.6.BooleanEquality.json index 47518ce838..43ba5ff8b0 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 139, "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 7, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 1, @@ -74,9 +74,9 @@ "source_mapping": { "start": 198, "length": 18, - "filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 8 @@ -91,9 +91,9 @@ "source_mapping": { "start": 139, "length": 84, - "filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 7, @@ -110,9 +110,9 @@ "source_mapping": { "start": 0, "length": 578, - "filename_relative": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol", + "filename_short": "tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol", "is_dependency": false, "lines": [ 1, @@ -154,10 +154,10 @@ } } ], - "description": "MyConc.bad1(bool) (tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#7-9) compares to a boolean constant:\n\t-(b == true) (tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#8)\n", - "markdown": "[MyConc.bad1(bool)](tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9) compares to a boolean constant:\n\t-[(b == true)](tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L8)\n", - "first_markdown_element": "tests/detectors/boolean-equal/0.7.6/boolean-constant-equality.sol#L7-L9", - "id": "7c89c8f828e73eb875b8f06bb1404ed2271cc5806f167d621604c23f62705f60", + "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" diff --git a/tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol b/tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol similarity index 100% rename from tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol rename to tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json rename to tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol.0.4.25.MultipleCallsInLoop.json index 866fd948e0..d25176dee5 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 530, "length": 135, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 24, @@ -29,9 +29,9 @@ "source_mapping": { "start": 327, "length": 831, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -82,9 +82,9 @@ "source_mapping": { "start": 621, "length": 27, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 26 @@ -99,9 +99,9 @@ "source_mapping": { "start": 530, "length": 135, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 24, @@ -120,9 +120,9 @@ "source_mapping": { "start": 327, "length": 831, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -170,10 +170,194 @@ } } ], - "description": "CallInLoop.bad() (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#24-28) has external calls inside a loop: destinations[i].transfer(i) (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L24-L28) has external calls inside a loop: [destinations[i].transfer(i)](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L24-L28", - "id": "257715445371826f92add7e2202ff42cb445394069844c805c9bd7c46d0e0c78", + "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" @@ -186,9 +370,9 @@ "source_mapping": { "start": 1074, "length": 81, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 45, @@ -205,9 +389,9 @@ "source_mapping": { "start": 327, "length": 831, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -258,9 +442,9 @@ "source_mapping": { "start": 1135, "length": 13, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 46 @@ -275,9 +459,9 @@ "source_mapping": { "start": 1074, "length": 81, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 45, @@ -294,9 +478,9 @@ "source_mapping": { "start": 327, "length": 831, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -344,10 +528,10 @@ } } ], - "description": "CallInLoop.bad3_internal(address,uint256) (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: a.transfer(i) (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [a.transfer(i)](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L45-L47", - "id": "29874ab93647beebd98e69e6e02bfb9e8d07d22d82990b77e1e33ea9d64caddc", + "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" @@ -360,9 +544,9 @@ "source_mapping": { "start": 173, "length": 150, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 9, @@ -381,9 +565,9 @@ "source_mapping": { "start": 0, "length": 325, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 1, @@ -414,9 +598,9 @@ "source_mapping": { "start": 274, "length": 32, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 11 @@ -431,9 +615,9 @@ "source_mapping": { "start": 173, "length": 150, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 9, @@ -452,9 +636,9 @@ "source_mapping": { "start": 0, "length": 325, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 1, @@ -482,194 +666,10 @@ } } ], - "description": "CallInLoopBase.bad_base() (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#9-13) has external calls inside a loop: destinations_base[i].transfer(i) (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L9-L13) has external calls inside a loop: [destinations_base[i].transfer(i)](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L9-L13", - "id": "66e6cb3d36ce6385ebe80eb42e75cfcc0be03eee32eb49b287c75258de7433f6", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 671, - "length": 245, - "filename_relative": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#30-37) has external calls inside a loop: destinations[i].transfer(i) (tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L30-L37) has external calls inside a loop: [destinations[i].transfer(i)](tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.4.25/multiple_calls_in_loop.sol#L30-L37", - "id": "bcf4888be2bdca9c6e3794ed50d3a0c4cbffe97f6cafdd8c9f6b2a940f92330d", + "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" diff --git a/tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol b/tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol similarity index 100% rename from tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol rename to tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json rename to tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol.0.5.16.MultipleCallsInLoop.json index 7044ba0c09..cba104d4c6 100644 --- a/tests/detectors/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 @@ -4,23 +4,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad3_internal", "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "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 + 45, + 46, + 47 ], "starting_column": 5, "ending_column": 6 @@ -32,9 +27,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -76,45 +71,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad3_internal(address,uint256)" } }, { "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", + "name": "address(uint160(a)).transfer(i)", "source_mapping": { - "start": 922, - "length": 45, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ - 35 + 46 ], - "starting_column": 13, - "ending_column": 58 + "starting_column": 9, + "ending_column": 40 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad3_internal", "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "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 + 45, + 46, + 47 ], "starting_column": 5, "ending_column": 6 @@ -126,9 +116,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -170,154 +160,16 @@ "ending_column": 2 } }, - "signature": "bad2()" - } - } - } - } - ], - "description": "CallInLoop.bad2() (tests/detectors/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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/detectors/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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L30-L37", - "id": "25c86080b32e786ebc200a68d29ce99aac3f426760b120f9bd359930a78e1e31", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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()" + "signature": "bad3_internal(address,uint256)" } } } } ], - "description": "CallInLoopBase.bad_base() (tests/detectors/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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/detectors/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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L9-L13", - "id": "5d659f8e891bf51f3542d3726e0d26bd7e5c23a48baba9356b6204fda561eb77", + "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" @@ -330,9 +182,9 @@ "source_mapping": { "start": 562, "length": 153, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 24, @@ -351,9 +203,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -404,9 +256,9 @@ "source_mapping": { "start": 653, "length": 45, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 26 @@ -421,9 +273,9 @@ "source_mapping": { "start": 562, "length": 153, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 24, @@ -442,9 +294,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -492,10 +344,10 @@ } } ], - "description": "CallInLoop.bad() (tests/detectors/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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/detectors/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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L24-L28", - "id": "6cced5074b9c311682f603c75163ced753ba6a4ecca39cf4d565eef3f05b30f8", + "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" @@ -504,18 +356,23 @@ "elements": [ { "type": "function", - "name": "bad3_internal", + "name": "bad2", "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ - 45, - 46, - 47 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -527,9 +384,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -571,40 +428,45 @@ "ending_column": 2 } }, - "signature": "bad3_internal(address,uint256)" + "signature": "bad2()" } }, { "type": "node", - "name": "address(uint160(a)).transfer(i)", + "name": "address(uint160(destinations[i])).transfer(i)", "source_mapping": { - "start": 1203, - "length": 31, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ - 46 + 35 ], - "starting_column": 9, - "ending_column": 40 + "starting_column": 13, + "ending_column": 58 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3_internal", + "name": "bad2", "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ - 45, - 46, - 47 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -616,9 +478,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -660,16 +522,154 @@ "ending_column": 2 } }, - "signature": "bad3_internal(address,uint256)" + "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": "CallInLoop.bad3_internal(address,uint256) (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [address(uint160(a)).transfer(i)](tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.5.16/multiple_calls_in_loop.sol#L45-L47", - "id": "a1df0d2cf47c14477c09214cc502b7706bf41258ef6f47452fa80dc24dea5647", + "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" diff --git a/tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol b/tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol similarity index 100% rename from tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol rename to tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json rename to tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol.0.6.11.MultipleCallsInLoop.json index 5cff7537b4..f4c58469bb 100644 --- a/tests/detectors/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 @@ -4,23 +4,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad3_internal", "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "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 + 45, + 46, + 47 ], "starting_column": 5, "ending_column": 6 @@ -32,9 +27,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -76,45 +71,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad3_internal(address,uint256)" } }, { "type": "node", - "name": "address(uint160(destinations[i])).transfer(i)", + "name": "address(uint160(a)).transfer(i)", "source_mapping": { - "start": 922, - "length": 45, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ - 35 + 46 ], - "starting_column": 13, - "ending_column": 58 + "starting_column": 9, + "ending_column": 40 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad3_internal", "source_mapping": { - "start": 721, - "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "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 + 45, + 46, + 47 ], "starting_column": 5, "ending_column": 6 @@ -126,9 +116,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -170,16 +160,154 @@ "ending_column": 2 } }, - "signature": "bad2()" + "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": "CallInLoop.bad2() (tests/detectors/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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/detectors/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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L30-L37", - "id": "3b1948778e97667e6e749205edf70beeac8b8db364e68da43900136e2e7f4c8b", + "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" @@ -192,9 +320,9 @@ "source_mapping": { "start": 562, "length": 153, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 24, @@ -213,9 +341,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -266,9 +394,9 @@ "source_mapping": { "start": 653, "length": 45, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 26 @@ -283,9 +411,9 @@ "source_mapping": { "start": 562, "length": 153, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 24, @@ -304,9 +432,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -354,10 +482,10 @@ } } ], - "description": "CallInLoop.bad() (tests/detectors/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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/detectors/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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L24-L28", - "id": "5aef9fe610ef0caca726874226906ac1246d969d2d8ed6cde33e09601d0c7117", + "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" @@ -366,156 +494,23 @@ "elements": [ { "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 180, - "length": 168, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/detectors/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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L9-L13", - "id": "676f5509699708442e5b513a2250f8e0e64781b139d2eafd86273c17528a16ce", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3_internal", + "name": "bad2", "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ - 45, - 46, - 47 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -527,9 +522,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -571,40 +566,45 @@ "ending_column": 2 } }, - "signature": "bad3_internal(address,uint256)" + "signature": "bad2()" } }, { "type": "node", - "name": "address(uint160(a)).transfer(i)", + "name": "address(uint160(destinations[i])).transfer(i)", "source_mapping": { - "start": 1203, - "length": 31, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ - 46 + 35 ], - "starting_column": 9, - "ending_column": 40 + "starting_column": 13, + "ending_column": 58 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3_internal", + "name": "bad2", "source_mapping": { - "start": 1142, - "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "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/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ - 45, - 46, - 47 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37 ], "starting_column": 5, "ending_column": 6 @@ -616,9 +616,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -660,16 +660,16 @@ "ending_column": 2 } }, - "signature": "bad3_internal(address,uint256)" + "signature": "bad2()" } } } } ], - "description": "CallInLoop.bad3_internal(address,uint256) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [address(uint160(a)).transfer(i)](tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.6.11/multiple_calls_in_loop.sol#L45-L47", - "id": "cc16e95c30a63cb84d8ed1c59e3cc1fd338d861e8c8a2973764e017df3c2f38f", + "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" diff --git a/tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol b/tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol similarity index 100% rename from tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol rename to tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json rename to tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol.0.7.6.MultipleCallsInLoop.json index dda5cd4924..de318ce9f6 100644 --- a/tests/detectors/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 @@ -1,5 +1,183 @@ [ [ + { + "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": [ { @@ -8,9 +186,9 @@ "source_mapping": { "start": 1142, "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 45, @@ -27,9 +205,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -80,9 +258,9 @@ "source_mapping": { "start": 1203, "length": 31, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 46 @@ -97,9 +275,9 @@ "source_mapping": { "start": 1142, "length": 99, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 45, @@ -116,9 +294,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -166,10 +344,10 @@ } } ], - "description": "CallInLoop.bad3_internal(address,uint256) (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#45-47) has external calls inside a loop: address(uint160(a)).transfer(i) (tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#46)\n", - "markdown": "[CallInLoop.bad3_internal(address,uint256)](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L45-L47) has external calls inside a loop: [address(uint160(a)).transfer(i)](tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L46)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L45-L47", - "id": "2834a80b6dbcd04a8c58bd803038e5f03936c886067d1ee39d0a31d0bb9e88ae", + "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" @@ -182,9 +360,9 @@ "source_mapping": { "start": 180, "length": 168, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 9, @@ -203,9 +381,9 @@ "source_mapping": { "start": 0, "length": 350, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 1, @@ -236,9 +414,9 @@ "source_mapping": { "start": 281, "length": 50, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 11 @@ -253,9 +431,9 @@ "source_mapping": { "start": 180, "length": 168, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 9, @@ -274,9 +452,9 @@ "source_mapping": { "start": 0, "length": 350, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 1, @@ -304,10 +482,10 @@ } } ], - "description": "CallInLoopBase.bad_base() (tests/detectors/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/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#11)\n", - "markdown": "[CallInLoopBase.bad_base()](tests/detectors/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/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L11)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L9-L13", - "id": "2cb70798cc39fa47453799bd93bf9275930f21bcbfb2746e57cf2b77700b8cd8", + "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" @@ -320,9 +498,9 @@ "source_mapping": { "start": 721, "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 30, @@ -344,9 +522,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -397,9 +575,9 @@ "source_mapping": { "start": 922, "length": 45, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 35 @@ -414,9 +592,9 @@ "source_mapping": { "start": 721, "length": 263, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 30, @@ -438,9 +616,9 @@ "source_mapping": { "start": 352, "length": 892, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol", "is_dependency": false, "lines": [ 16, @@ -488,188 +666,10 @@ } } ], - "description": "CallInLoop.bad2() (tests/detectors/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/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#35)\n", - "markdown": "[CallInLoop.bad2()](tests/detectors/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/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L35)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L30-L37", - "id": "3a39574e82d2f7f3b099bb034e0ff24b44e59a22109608d09a9ff3316409b1d2", - "check": "calls-loop", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad", - "source_mapping": { - "start": 562, - "length": 153, - "filename_relative": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/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/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#26)\n", - "markdown": "[CallInLoop.bad()](tests/detectors/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/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L26)\n", - "first_markdown_element": "tests/detectors/calls-loop/0.7.6/multiple_calls_in_loop.sol#L24-L28", - "id": "f11a3c532d51a71adce3b5df738ce354d0a70ea3be928459582028cb72b5fdbd", + "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" diff --git a/tests/detectors/constable-states/0.4.25/const_state_variables.sol b/tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol similarity index 100% rename from tests/detectors/constable-states/0.4.25/const_state_variables.sol rename to tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol diff --git a/tests/detectors/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 similarity index 69% rename from tests/detectors/constable-states/0.4.25/const_state_variables.sol.0.4.25.CouldBeConstant.json rename to tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol.0.4.25.CouldBeConstant.json index 51a485f5b7..fed1ecaf8e 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 333, "length": 20, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 14 @@ -25,9 +25,9 @@ "source_mapping": { "start": 29, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 4, @@ -56,9 +56,9 @@ } } ], - "description": "A.text2 (tests/detectors/constable-states/0.4.25/const_state_variables.sol#14) should be constant \n", - "markdown": "[A.text2](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L14) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L14", + "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", @@ -72,9 +72,9 @@ "source_mapping": { "start": 496, "length": 76, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 26 @@ -89,9 +89,9 @@ "source_mapping": { "start": 473, "length": 271, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 24, @@ -116,9 +116,9 @@ } } ], - "description": "B.mySistersAddress (tests/detectors/constable-states/0.4.25/const_state_variables.sol#26) should be constant \n", - "markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L26) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L26", + "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", @@ -132,9 +132,9 @@ "source_mapping": { "start": 132, "length": 76, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 7 @@ -149,9 +149,9 @@ "source_mapping": { "start": 29, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 4, @@ -180,9 +180,9 @@ } } ], - "description": "A.myFriendsAddress (tests/detectors/constable-states/0.4.25/const_state_variables.sol#7) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L7) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L7", + "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", @@ -196,9 +196,9 @@ "source_mapping": { "start": 793, "length": 42, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 42 @@ -213,9 +213,9 @@ "source_mapping": { "start": 746, "length": 423, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 39, @@ -245,9 +245,9 @@ } } ], - "description": "MyConc.should_be_constant (tests/detectors/constable-states/0.4.25/const_state_variables.sol#42) should be constant \n", - "markdown": "[MyConc.should_be_constant](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L42", + "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", @@ -261,9 +261,9 @@ "source_mapping": { "start": 841, "length": 33, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 43 @@ -278,9 +278,9 @@ "source_mapping": { "start": 746, "length": 423, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 39, @@ -310,9 +310,9 @@ } } ], - "description": "MyConc.should_be_constant_2 (tests/detectors/constable-states/0.4.25/const_state_variables.sol#43) should be constant \n", - "markdown": "[MyConc.should_be_constant_2](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L43) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L43", + "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", @@ -326,9 +326,9 @@ "source_mapping": { "start": 237, "length": 20, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 10 @@ -343,9 +343,9 @@ "source_mapping": { "start": 29, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.4.25/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol", "is_dependency": false, "lines": [ 4, @@ -374,9 +374,9 @@ } } ], - "description": "A.test (tests/detectors/constable-states/0.4.25/const_state_variables.sol#10) should be constant \n", - "markdown": "[A.test](tests/detectors/constable-states/0.4.25/const_state_variables.sol#L10) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.4.25/const_state_variables.sol#L10", + "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", diff --git a/tests/detectors/constable-states/0.5.16/const_state_variables.sol b/tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol similarity index 100% rename from tests/detectors/constable-states/0.5.16/const_state_variables.sol rename to tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/constable-states/0.5.16/const_state_variables.sol.0.5.16.CouldBeConstant.json rename to tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol.0.5.16.CouldBeConstant.json index f9ed17eb1b..f760111fca 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 880, "length": 38, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 44 @@ -25,9 +25,9 @@ "source_mapping": { "start": 746, "length": 467, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 39, @@ -58,9 +58,9 @@ } } ], - "description": "MyConc.should_be_constant_3 (tests/detectors/constable-states/0.5.16/const_state_variables.sol#44) should be constant \n", - "markdown": "[MyConc.should_be_constant_3](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L44) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L44", + "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", @@ -74,9 +74,9 @@ "source_mapping": { "start": 333, "length": 20, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 14 @@ -91,9 +91,9 @@ "source_mapping": { "start": 29, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 4, @@ -122,9 +122,9 @@ } } ], - "description": "A.text2 (tests/detectors/constable-states/0.5.16/const_state_variables.sol#14) should be constant \n", - "markdown": "[A.text2](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L14) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L14", + "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", @@ -138,9 +138,9 @@ "source_mapping": { "start": 496, "length": 76, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 26 @@ -155,9 +155,9 @@ "source_mapping": { "start": 473, "length": 271, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 24, @@ -182,9 +182,9 @@ } } ], - "description": "B.mySistersAddress (tests/detectors/constable-states/0.5.16/const_state_variables.sol#26) should be constant \n", - "markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L26) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L26", + "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", @@ -198,9 +198,9 @@ "source_mapping": { "start": 132, "length": 76, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 7 @@ -215,9 +215,9 @@ "source_mapping": { "start": 29, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 4, @@ -246,9 +246,9 @@ } } ], - "description": "A.myFriendsAddress (tests/detectors/constable-states/0.5.16/const_state_variables.sol#7) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L7) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L7", + "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", @@ -262,9 +262,9 @@ "source_mapping": { "start": 793, "length": 42, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 42 @@ -279,9 +279,9 @@ "source_mapping": { "start": 746, "length": 467, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 39, @@ -312,9 +312,9 @@ } } ], - "description": "MyConc.should_be_constant (tests/detectors/constable-states/0.5.16/const_state_variables.sol#42) should be constant \n", - "markdown": "[MyConc.should_be_constant](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L42", + "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", @@ -328,9 +328,9 @@ "source_mapping": { "start": 841, "length": 33, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 43 @@ -345,9 +345,9 @@ "source_mapping": { "start": 746, "length": 467, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 39, @@ -378,9 +378,9 @@ } } ], - "description": "MyConc.should_be_constant_2 (tests/detectors/constable-states/0.5.16/const_state_variables.sol#43) should be constant \n", - "markdown": "[MyConc.should_be_constant_2](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L43) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L43", + "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", @@ -394,9 +394,9 @@ "source_mapping": { "start": 237, "length": 20, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 10 @@ -411,9 +411,9 @@ "source_mapping": { "start": 29, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.5.16/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol", "is_dependency": false, "lines": [ 4, @@ -442,9 +442,9 @@ } } ], - "description": "A.test (tests/detectors/constable-states/0.5.16/const_state_variables.sol#10) should be constant \n", - "markdown": "[A.test](tests/detectors/constable-states/0.5.16/const_state_variables.sol#L10) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.5.16/const_state_variables.sol#L10", + "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", diff --git a/tests/detectors/constable-states/0.6.11/const_state_variables.sol b/tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol similarity index 100% rename from tests/detectors/constable-states/0.6.11/const_state_variables.sol rename to tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/constable-states/0.6.11/const_state_variables.sol.0.6.11.CouldBeConstant.json rename to tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol.0.6.11.CouldBeConstant.json index ac3608f816..702bda7b9b 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 305, "length": 20, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 12 @@ -25,9 +25,9 @@ "source_mapping": { "start": 1, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 2, @@ -56,9 +56,9 @@ } } ], - "description": "A.text2 (tests/detectors/constable-states/0.6.11/const_state_variables.sol#12) should be constant \n", - "markdown": "[A.text2](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L12) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L12", + "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", @@ -72,9 +72,9 @@ "source_mapping": { "start": 811, "length": 33, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 41 @@ -89,9 +89,9 @@ "source_mapping": { "start": 718, "length": 539, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -123,9 +123,9 @@ } } ], - "description": "Bad.should_be_constant_2 (tests/detectors/constable-states/0.6.11/const_state_variables.sol#41) should be constant \n", - "markdown": "[Bad.should_be_constant_2](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L41) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L41", + "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", @@ -139,9 +139,9 @@ "source_mapping": { "start": 468, "length": 76, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 24 @@ -156,9 +156,9 @@ "source_mapping": { "start": 445, "length": 271, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 22, @@ -183,9 +183,9 @@ } } ], - "description": "B.mySistersAddress (tests/detectors/constable-states/0.6.11/const_state_variables.sol#24) should be constant \n", - "markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L24) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L24", + "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", @@ -199,9 +199,9 @@ "source_mapping": { "start": 104, "length": 76, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 5 @@ -216,9 +216,9 @@ "source_mapping": { "start": 1, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 2, @@ -247,9 +247,9 @@ } } ], - "description": "A.myFriendsAddress (tests/detectors/constable-states/0.6.11/const_state_variables.sol#5) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L5) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L5", + "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", @@ -263,9 +263,9 @@ "source_mapping": { "start": 763, "length": 42, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 40 @@ -280,9 +280,9 @@ "source_mapping": { "start": 718, "length": 539, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -314,9 +314,9 @@ } } ], - "description": "Bad.should_be_constant (tests/detectors/constable-states/0.6.11/const_state_variables.sol#40) should be constant \n", - "markdown": "[Bad.should_be_constant](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L40) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L40", + "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", @@ -330,9 +330,9 @@ "source_mapping": { "start": 850, "length": 38, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 42 @@ -347,9 +347,9 @@ "source_mapping": { "start": 718, "length": 539, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -381,9 +381,9 @@ } } ], - "description": "Bad.should_be_constant_3 (tests/detectors/constable-states/0.6.11/const_state_variables.sol#42) should be constant \n", - "markdown": "[Bad.should_be_constant_3](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L42", + "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", @@ -397,9 +397,9 @@ "source_mapping": { "start": 209, "length": 20, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 8 @@ -414,9 +414,9 @@ "source_mapping": { "start": 1, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.6.11/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol", "is_dependency": false, "lines": [ 2, @@ -445,9 +445,9 @@ } } ], - "description": "A.test (tests/detectors/constable-states/0.6.11/const_state_variables.sol#8) should be constant \n", - "markdown": "[A.test](tests/detectors/constable-states/0.6.11/const_state_variables.sol#L8) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.6.11/const_state_variables.sol#L8", + "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", diff --git a/tests/detectors/constable-states/0.7.6/const_state_variables.sol b/tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol similarity index 100% rename from tests/detectors/constable-states/0.7.6/const_state_variables.sol rename to tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/constable-states/0.7.6/const_state_variables.sol.0.7.6.CouldBeConstant.json rename to tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol.0.7.6.CouldBeConstant.json index d54beb405e..4b8e888640 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 305, "length": 20, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 12 @@ -25,9 +25,9 @@ "source_mapping": { "start": 1, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 2, @@ -56,9 +56,9 @@ } } ], - "description": "A.text2 (tests/detectors/constable-states/0.7.6/const_state_variables.sol#12) should be constant \n", - "markdown": "[A.text2](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L12) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L12", + "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", @@ -72,9 +72,9 @@ "source_mapping": { "start": 811, "length": 33, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 41 @@ -89,9 +89,9 @@ "source_mapping": { "start": 718, "length": 531, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -122,9 +122,9 @@ } } ], - "description": "Bad.should_be_constant_2 (tests/detectors/constable-states/0.7.6/const_state_variables.sol#41) should be constant \n", - "markdown": "[Bad.should_be_constant_2](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L41) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L41", + "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", @@ -138,9 +138,9 @@ "source_mapping": { "start": 468, "length": 76, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 24 @@ -155,9 +155,9 @@ "source_mapping": { "start": 445, "length": 271, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 22, @@ -182,9 +182,9 @@ } } ], - "description": "B.mySistersAddress (tests/detectors/constable-states/0.7.6/const_state_variables.sol#24) should be constant \n", - "markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L24) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L24", + "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", @@ -198,9 +198,9 @@ "source_mapping": { "start": 104, "length": 76, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 5 @@ -215,9 +215,9 @@ "source_mapping": { "start": 1, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 2, @@ -246,9 +246,9 @@ } } ], - "description": "A.myFriendsAddress (tests/detectors/constable-states/0.7.6/const_state_variables.sol#5) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L5) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L5", + "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", @@ -262,9 +262,9 @@ "source_mapping": { "start": 763, "length": 42, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 40 @@ -279,9 +279,9 @@ "source_mapping": { "start": 718, "length": 531, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -312,9 +312,9 @@ } } ], - "description": "Bad.should_be_constant (tests/detectors/constable-states/0.7.6/const_state_variables.sol#40) should be constant \n", - "markdown": "[Bad.should_be_constant](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L40) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L40", + "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", @@ -328,9 +328,9 @@ "source_mapping": { "start": 850, "length": 38, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 42 @@ -345,9 +345,9 @@ "source_mapping": { "start": 718, "length": 531, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -378,9 +378,9 @@ } } ], - "description": "Bad.should_be_constant_3 (tests/detectors/constable-states/0.7.6/const_state_variables.sol#42) should be constant \n", - "markdown": "[Bad.should_be_constant_3](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L42", + "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", @@ -394,9 +394,9 @@ "source_mapping": { "start": 209, "length": 20, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 8 @@ -411,9 +411,9 @@ "source_mapping": { "start": 1, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.7.6/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol", "is_dependency": false, "lines": [ 2, @@ -442,9 +442,9 @@ } } ], - "description": "A.test (tests/detectors/constable-states/0.7.6/const_state_variables.sol#8) should be constant \n", - "markdown": "[A.test](tests/detectors/constable-states/0.7.6/const_state_variables.sol#L8) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.7.6/const_state_variables.sol#L8", + "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", diff --git a/tests/detectors/constable-states/0.8.0/const_state_variables.sol b/tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol similarity index 100% rename from tests/detectors/constable-states/0.8.0/const_state_variables.sol rename to tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/constable-states/0.8.0/const_state_variables.sol.0.8.0.CouldBeConstant.json rename to tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol.0.8.0.CouldBeConstant.json index 7febfd6377..6cc26123a4 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 305, "length": 20, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 12 @@ -25,9 +25,9 @@ "source_mapping": { "start": 1, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 2, @@ -56,9 +56,9 @@ } } ], - "description": "A.text2 (tests/detectors/constable-states/0.8.0/const_state_variables.sol#12) should be constant \n", - "markdown": "[A.text2](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L12) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L12", + "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", @@ -72,9 +72,9 @@ "source_mapping": { "start": 811, "length": 33, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 41 @@ -89,9 +89,9 @@ "source_mapping": { "start": 718, "length": 493, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -122,9 +122,9 @@ } } ], - "description": "Bad.should_be_constant_2 (tests/detectors/constable-states/0.8.0/const_state_variables.sol#41) should be constant \n", - "markdown": "[Bad.should_be_constant_2](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L41) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L41", + "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", @@ -138,9 +138,9 @@ "source_mapping": { "start": 468, "length": 76, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 24 @@ -155,9 +155,9 @@ "source_mapping": { "start": 445, "length": 271, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 22, @@ -182,9 +182,9 @@ } } ], - "description": "B.mySistersAddress (tests/detectors/constable-states/0.8.0/const_state_variables.sol#24) should be constant \n", - "markdown": "[B.mySistersAddress](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L24) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L24", + "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", @@ -198,9 +198,9 @@ "source_mapping": { "start": 104, "length": 76, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 5 @@ -215,9 +215,9 @@ "source_mapping": { "start": 1, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 2, @@ -246,9 +246,9 @@ } } ], - "description": "A.myFriendsAddress (tests/detectors/constable-states/0.8.0/const_state_variables.sol#5) should be constant \n", - "markdown": "[A.myFriendsAddress](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L5) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L5", + "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", @@ -262,9 +262,9 @@ "source_mapping": { "start": 763, "length": 42, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 40 @@ -279,9 +279,9 @@ "source_mapping": { "start": 718, "length": 493, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -312,9 +312,9 @@ } } ], - "description": "Bad.should_be_constant (tests/detectors/constable-states/0.8.0/const_state_variables.sol#40) should be constant \n", - "markdown": "[Bad.should_be_constant](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L40) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L40", + "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", @@ -328,9 +328,9 @@ "source_mapping": { "start": 850, "length": 38, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 42 @@ -345,9 +345,9 @@ "source_mapping": { "start": 718, "length": 493, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -378,9 +378,9 @@ } } ], - "description": "Bad.should_be_constant_3 (tests/detectors/constable-states/0.8.0/const_state_variables.sol#42) should be constant \n", - "markdown": "[Bad.should_be_constant_3](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L42) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L42", + "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", @@ -394,9 +394,9 @@ "source_mapping": { "start": 209, "length": 20, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 8 @@ -411,9 +411,9 @@ "source_mapping": { "start": 1, "length": 441, - "filename_relative": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constable-states/0.8.0/const_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol", "is_dependency": false, "lines": [ 2, @@ -442,9 +442,9 @@ } } ], - "description": "A.test (tests/detectors/constable-states/0.8.0/const_state_variables.sol#8) should be constant \n", - "markdown": "[A.test](tests/detectors/constable-states/0.8.0/const_state_variables.sol#L8) should be constant \n", - "first_markdown_element": "tests/detectors/constable-states/0.8.0/const_state_variables.sol#L8", + "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", diff --git a/tests/detectors/constant-function-asm/0.4.25/constant.sol b/tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol similarity index 100% rename from tests/detectors/constant-function-asm/0.4.25/constant.sol rename to tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json rename to tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol.0.4.25.ConstantFunctionsAsm.json index 0287cd134a..92f3c6d28c 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 324, "length": 66, - "filename_relative": "tests/detectors/constant-function-asm/0.4.25/constant.sol", + "filename_relative": "tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-asm/0.4.25/constant.sol", + "filename_short": "tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol", "is_dependency": false, "lines": [ 22, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 392, - "filename_relative": "tests/detectors/constant-function-asm/0.4.25/constant.sol", + "filename_relative": "tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-asm/0.4.25/constant.sol", + "filename_short": "tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol", "is_dependency": false, "lines": [ 1, @@ -66,9 +66,9 @@ } } ], - "description": "Constant.test_assembly_bug() (tests/detectors/constant-function-asm/0.4.25/constant.sol#22-24) is declared view but contains assembly code\n", - "markdown": "[Constant.test_assembly_bug()](tests/detectors/constant-function-asm/0.4.25/constant.sol#L22-L24) is declared view but contains assembly code\n", - "first_markdown_element": "tests/detectors/constant-function-asm/0.4.25/constant.sol#L22-L24", + "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 diff --git a/tests/detectors/constant-function-asm/0.5.16/constant.sol b/tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol similarity index 100% rename from tests/detectors/constant-function-asm/0.5.16/constant.sol rename to tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/constant-function-asm/0.5.16/constant.sol.0.5.16.ConstantFunctionsAsm.json rename to tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol.0.5.16.ConstantFunctionsAsm.json diff --git a/tests/detectors/constant-function-asm/0.6.11/constant.sol b/tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol similarity index 100% rename from tests/detectors/constant-function-asm/0.6.11/constant.sol rename to tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/constant-function-asm/0.6.11/constant.sol.0.6.11.ConstantFunctionsAsm.json rename to tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol.0.6.11.ConstantFunctionsAsm.json diff --git a/tests/detectors/constant-function-asm/0.7.6/constant.sol b/tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol similarity index 100% rename from tests/detectors/constant-function-asm/0.7.6/constant.sol rename to tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/constant-function-asm/0.7.6/constant.sol.0.7.6.ConstantFunctionsAsm.json rename to tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol.0.7.6.ConstantFunctionsAsm.json diff --git a/tests/detectors/constant-function-state/0.4.25/constant.sol b/tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol similarity index 100% rename from tests/detectors/constant-function-state/0.4.25/constant.sol rename to tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json rename to tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol.0.4.25.ConstantFunctionsState.json index dc2dbc5912..60d55ca83d 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 113, "length": 66, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "is_dependency": false, "lines": [ 9, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 392, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "is_dependency": false, "lines": [ 1, @@ -71,9 +71,9 @@ "source_mapping": { "start": 28, "length": 6, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "is_dependency": false, "lines": [ 3 @@ -88,9 +88,9 @@ "source_mapping": { "start": 0, "length": 392, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "is_dependency": false, "lines": [ 1, @@ -126,9 +126,9 @@ } } ], - "description": "Constant.test_constant_bug() (tests/detectors/constant-function-state/0.4.25/constant.sol#9-11) is declared view but changes state variables:\n\t- Constant.a (tests/detectors/constant-function-state/0.4.25/constant.sol#3)\n", - "markdown": "[Constant.test_constant_bug()](tests/detectors/constant-function-state/0.4.25/constant.sol#L9-L11) is declared view but changes state variables:\n\t- [Constant.a](tests/detectors/constant-function-state/0.4.25/constant.sol#L3)\n", - "first_markdown_element": "tests/detectors/constant-function-state/0.4.25/constant.sol#L9-L11", + "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 @@ -145,9 +145,9 @@ "source_mapping": { "start": 45, "length": 58, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "is_dependency": false, "lines": [ 5, @@ -164,9 +164,9 @@ "source_mapping": { "start": 0, "length": 392, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "is_dependency": false, "lines": [ 1, @@ -208,9 +208,9 @@ "source_mapping": { "start": 28, "length": 6, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "is_dependency": false, "lines": [ 3 @@ -225,9 +225,9 @@ "source_mapping": { "start": 0, "length": 392, - "filename_relative": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_relative": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/constant-function-state/0.4.25/constant.sol", + "filename_short": "tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol", "is_dependency": false, "lines": [ 1, @@ -263,9 +263,9 @@ } } ], - "description": "Constant.test_view_bug() (tests/detectors/constant-function-state/0.4.25/constant.sol#5-7) is declared view but changes state variables:\n\t- Constant.a (tests/detectors/constant-function-state/0.4.25/constant.sol#3)\n", - "markdown": "[Constant.test_view_bug()](tests/detectors/constant-function-state/0.4.25/constant.sol#L5-L7) is declared view but changes state variables:\n\t- [Constant.a](tests/detectors/constant-function-state/0.4.25/constant.sol#L3)\n", - "first_markdown_element": "tests/detectors/constant-function-state/0.4.25/constant.sol#L5-L7", + "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 diff --git a/tests/detectors/constant-function-state/0.5.16/constant.sol b/tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol similarity index 100% rename from tests/detectors/constant-function-state/0.5.16/constant.sol rename to tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/constant-function-state/0.5.16/constant.sol.0.5.16.ConstantFunctionsState.json rename to tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol.0.5.16.ConstantFunctionsState.json diff --git a/tests/detectors/constant-function-state/0.6.11/constant.sol b/tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol similarity index 100% rename from tests/detectors/constant-function-state/0.6.11/constant.sol rename to tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/constant-function-state/0.6.11/constant.sol.0.6.11.ConstantFunctionsState.json rename to tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol.0.6.11.ConstantFunctionsState.json diff --git a/tests/detectors/constant-function-state/0.7.6/constant.sol b/tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol similarity index 100% rename from tests/detectors/constant-function-state/0.7.6/constant.sol rename to tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/constant-function-state/0.7.6/constant.sol.0.7.6.ConstantFunctionsState.json rename to tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol.0.7.6.ConstantFunctionsState.json diff --git a/tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol b/tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol similarity index 100% rename from tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol rename to tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json rename to tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol.0.4.25.ArrayLengthAssignment.json index 12a6822972..1937a8561a 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -66,19 +66,19 @@ }, { "type": "node", - "name": "arr.length = param", + "name": "b.subStruct.x.length = param + 1", "source_mapping": { - "start": 527, - "length": 18, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "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/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ - 26 + 41 ], - "starting_column": 13, - "ending_column": 31 + "starting_column": 9, + "ending_column": 41 }, "type_specific_fields": { "parent": { @@ -87,9 +87,9 @@ "source_mapping": { "start": 406, "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ 22, @@ -127,9 +127,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -189,10 +189,10 @@ } } ], - "description": "ArrayLengthAssignment (tests/detectors/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/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#26)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/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/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L26)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46", - "id": "13e0633277a811f9416912f4404d805c1aaaaaacbc94989215c41de964718b0b", + "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" @@ -205,9 +205,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -263,19 +263,19 @@ }, { "type": "node", - "name": "b.subStruct.x.length = param + 1", + "name": "a.x.length = param", "source_mapping": { - "start": 964, - "length": 32, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "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/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ - 41 + 36 ], "starting_column": 9, - "ending_column": 41 + "ending_column": 27 }, "type_specific_fields": { "parent": { @@ -284,9 +284,9 @@ "source_mapping": { "start": 406, "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ 22, @@ -324,9 +324,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -386,10 +386,10 @@ } } ], - "description": "ArrayLengthAssignment (tests/detectors/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/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#41)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/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/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L41)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46", - "id": "82175a5c24c40a1afe4c59f4271a2c12e577ad25e89e6e319e47b4f8f2a76943", + "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" @@ -402,9 +402,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -460,19 +460,19 @@ }, { "type": "node", - "name": "a.x.length = param", + "name": "arr.length = param", "source_mapping": { - "start": 818, + "start": 527, "length": 18, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ - 36 + 26 ], - "starting_column": 9, - "ending_column": 27 + "starting_column": 13, + "ending_column": 31 }, "type_specific_fields": { "parent": { @@ -481,9 +481,9 @@ "source_mapping": { "start": 406, "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ 22, @@ -521,9 +521,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -583,10 +583,10 @@ } } ], - "description": "ArrayLengthAssignment (tests/detectors/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/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#36)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/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/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L36)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.4.25/array_length_assignment.sol#L1-L46", - "id": "f455c672028771f21282b59fb58b5eac51185eae4ac44e65a2e1f4df6db0c6e4", + "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" diff --git a/tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol b/tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol similarity index 100% rename from tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol rename to tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json rename to tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol.0.5.16.ArrayLengthAssignment.json index bc644569cc..e038f3ee0f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -66,19 +66,19 @@ }, { "type": "node", - "name": "a.x.length = param", + "name": "b.subStruct.x.length = param + 1", "source_mapping": { - "start": 818, - "length": 18, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "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/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ - 36 + 41 ], "starting_column": 9, - "ending_column": 27 + "ending_column": 41 }, "type_specific_fields": { "parent": { @@ -87,9 +87,9 @@ "source_mapping": { "start": 406, "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ 22, @@ -127,9 +127,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -189,10 +189,10 @@ } } ], - "description": "ArrayLengthAssignment (tests/detectors/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/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#36)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/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/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L36)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46", - "id": "3ee7c4c1f07506f88bcd3b42a86641b32b24a3978768cbcb99301bd8a1fcb975", + "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" @@ -205,9 +205,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -263,19 +263,19 @@ }, { "type": "node", - "name": "arr.length = param", + "name": "a.x.length = param", "source_mapping": { - "start": 527, + "start": 818, "length": 18, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ - 26 + 36 ], - "starting_column": 13, - "ending_column": 31 + "starting_column": 9, + "ending_column": 27 }, "type_specific_fields": { "parent": { @@ -284,9 +284,9 @@ "source_mapping": { "start": 406, "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ 22, @@ -324,9 +324,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -386,10 +386,10 @@ } } ], - "description": "ArrayLengthAssignment (tests/detectors/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/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#26)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/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/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L26)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46", - "id": "5120add82e5b674971638ddcd430301e4fd0ff0abc12b425d78bb09baa519dd0", + "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" @@ -402,9 +402,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -460,19 +460,19 @@ }, { "type": "node", - "name": "b.subStruct.x.length = param + 1", + "name": "arr.length = param", "source_mapping": { - "start": 964, - "length": 32, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "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/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ - 41 + 26 ], - "starting_column": 9, - "ending_column": 41 + "starting_column": 13, + "ending_column": 31 }, "type_specific_fields": { "parent": { @@ -481,9 +481,9 @@ "source_mapping": { "start": 406, "length": 647, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ 22, @@ -521,9 +521,9 @@ "source_mapping": { "start": 0, "length": 1055, - "filename_relative": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol", "is_dependency": false, "lines": [ 1, @@ -583,10 +583,10 @@ } } ], - "description": "ArrayLengthAssignment (tests/detectors/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/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#41)\n", - "markdown": "[ArrayLengthAssignment](tests/detectors/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/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L41)\n", - "first_markdown_element": "tests/detectors/controlled-array-length/0.5.16/array_length_assignment.sol#L1-L46", - "id": "ba005d0d2665bc40c7c33b2a6a32bf426b4a5ccea38e75a6265976a20c9b7ae3", + "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" diff --git a/tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol b/tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol similarity index 100% rename from tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol diff --git a/tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json b/tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json similarity index 73% rename from tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json index b7d1946cf3..362afc13b7 100644 --- a/tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json +++ b/tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json @@ -8,9 +8,9 @@ "source_mapping": { "start": 337, "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 18, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -71,9 +71,9 @@ "source_mapping": { "start": 400, "length": 48, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 19 @@ -88,9 +88,9 @@ "source_mapping": { "start": 337, "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 18, @@ -107,9 +107,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -148,10 +148,10 @@ } } ], - "description": "C.bad_delegate_call2(bytes) (tests/detectors/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/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/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/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L18-L20", - "id": "04a4aed45b4c803d9fa03d70198a8f6d7f4228d2fd5e06bd61c4c68431be2c90", + "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" @@ -164,9 +164,9 @@ "source_mapping": { "start": 101, "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 8, @@ -184,9 +184,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -228,9 +228,9 @@ "source_mapping": { "start": 201, "length": 27, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 10 @@ -245,9 +245,9 @@ "source_mapping": { "start": 101, "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 8, @@ -265,9 +265,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -306,10 +306,10 @@ } } ], - "description": "C.bad_delegate_call(bytes) (tests/detectors/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/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/detectors/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/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol#L8-L11", - "id": "59a70e53c14de214629ffde4abab9700cbb3bc66a99e281954e3b9f285a28c2d", + "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" diff --git a/tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol b/tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol similarity index 100% rename from tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol.0.5.16.ControlledDelegateCall.json index 669002ce08..7d31e4a321 100644 --- a/tests/detectors/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 @@ -4,19 +4,18 @@ "elements": [ { "type": "function", - "name": "bad_delegate_call", + "name": "bad_delegate_call2", "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "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/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10, - 11 + 18, + 19, + 20 ], "starting_column": 5, "ending_column": 6 @@ -28,9 +27,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -63,41 +62,40 @@ "ending_column": 2 } }, - "signature": "bad_delegate_call(bytes)" + "signature": "bad_delegate_call2(bytes)" } }, { "type": "node", - "name": "addr_bad.delegatecall(data)", + "name": "addr_bad.delegatecall(abi.encode(func_id,data))", "source_mapping": { - "start": 201, - "length": 27, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "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/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "is_dependency": false, "lines": [ - 10 + 19 ], "starting_column": 9, - "ending_column": 36 + "ending_column": 57 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad_delegate_call", + "name": "bad_delegate_call2", "source_mapping": { - "start": 101, - "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "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/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10, - 11 + 18, + 19, + 20 ], "starting_column": 5, "ending_column": 6 @@ -109,9 +107,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -144,16 +142,16 @@ "ending_column": 2 } }, - "signature": "bad_delegate_call(bytes)" + "signature": "bad_delegate_call2(bytes)" } } } } ], - "description": "C.bad_delegate_call(bytes) (tests/detectors/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/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/detectors/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/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L8-L11", - "id": "5ffc12fd6e122f0e70986a5d7f8d14c087f538145910100ea15192a63391a2b7", + "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" @@ -162,18 +160,19 @@ "elements": [ { "type": "function", - "name": "bad_delegate_call2", + "name": "bad_delegate_call", "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "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/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "is_dependency": false, "lines": [ - 18, - 19, - 20 + 8, + 9, + 10, + 11 ], "starting_column": 5, "ending_column": 6 @@ -185,9 +184,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -220,40 +219,41 @@ "ending_column": 2 } }, - "signature": "bad_delegate_call2(bytes)" + "signature": "bad_delegate_call(bytes)" } }, { "type": "node", - "name": "addr_bad.delegatecall(abi.encode(func_id,data))", + "name": "addr_bad.delegatecall(data)", "source_mapping": { - "start": 400, - "length": 48, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "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/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "is_dependency": false, "lines": [ - 19 + 10 ], "starting_column": 9, - "ending_column": 57 + "ending_column": 36 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad_delegate_call2", + "name": "bad_delegate_call", "source_mapping": { - "start": 337, - "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "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/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "is_dependency": false, "lines": [ - 18, - 19, - 20 + 8, + 9, + 10, + 11 ], "starting_column": 5, "ending_column": 6 @@ -265,9 +265,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -300,16 +300,16 @@ "ending_column": 2 } }, - "signature": "bad_delegate_call2(bytes)" + "signature": "bad_delegate_call(bytes)" } } } } ], - "description": "C.bad_delegate_call2(bytes) (tests/detectors/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/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/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/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.5.16/controlled_delegatecall.sol#L18-L20", - "id": "a8749733eb415695ac990f9045813c8c1aadfb54f6de912cff1927db64a6d8d6", + "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" diff --git a/tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol b/tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol similarity index 100% rename from tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol.0.6.11.ControlledDelegateCall.json index baebee91b1..7325d9e535 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 337, "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 18, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -71,9 +71,9 @@ "source_mapping": { "start": 400, "length": 48, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 19 @@ -88,9 +88,9 @@ "source_mapping": { "start": 337, "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 18, @@ -107,9 +107,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -148,10 +148,10 @@ } } ], - "description": "C.bad_delegate_call2(bytes) (tests/detectors/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/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/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/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L18-L20", - "id": "82fc8a33f6b16eff457087ec9961f2bce3c61289628dac8284009c8275cea790", + "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" @@ -164,9 +164,9 @@ "source_mapping": { "start": 101, "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 8, @@ -184,9 +184,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -228,9 +228,9 @@ "source_mapping": { "start": 201, "length": 27, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 10 @@ -245,9 +245,9 @@ "source_mapping": { "start": 101, "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 8, @@ -265,9 +265,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -306,10 +306,10 @@ } } ], - "description": "C.bad_delegate_call(bytes) (tests/detectors/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/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/detectors/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/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.6.11/controlled_delegatecall.sol#L8-L11", - "id": "bed67f615a2f3a872e24eedf23fdedbdfbe5a540dc3f3ea4ca1430581997a8f6", + "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" diff --git a/tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol b/tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol similarity index 100% rename from tests/detectors/controlled-delegatecall/0.7.6/controlled_delegatecall.sol rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol diff --git a/tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json b/tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json similarity index 74% rename from tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json rename to tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json index 330fd4386e..5ed46e0f81 100644 --- a/tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol.0.4.25.ControlledDelegateCall.json +++ b/tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol.0.7.6.ControlledDelegateCall.json @@ -8,9 +8,9 @@ "source_mapping": { "start": 337, "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 18, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -71,9 +71,9 @@ "source_mapping": { "start": 400, "length": 48, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 19 @@ -88,9 +88,9 @@ "source_mapping": { "start": 337, "length": 118, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 18, @@ -107,9 +107,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -148,10 +148,10 @@ } } ], - "description": "C.bad_delegate_call2(bytes) (tests/detectors/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/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#19)\n", - "markdown": "[C.bad_delegate_call2(bytes)](tests/detectors/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/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L19)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L18-L20", - "id": "12d6ba2d0139326b442352b37028ff77dfbdc625870a5ae858e6107cfa89cfbb", + "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" @@ -164,9 +164,9 @@ "source_mapping": { "start": 101, "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 8, @@ -184,9 +184,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -228,9 +228,9 @@ "source_mapping": { "start": 201, "length": 27, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 10 @@ -245,9 +245,9 @@ "source_mapping": { "start": 101, "length": 134, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 8, @@ -265,9 +265,9 @@ "source_mapping": { "start": 0, "length": 585, - "filename_relative": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_relative": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol", + "filename_short": "tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol", "is_dependency": false, "lines": [ 1, @@ -306,10 +306,10 @@ } } ], - "description": "C.bad_delegate_call(bytes) (tests/detectors/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/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#10)\n", - "markdown": "[C.bad_delegate_call(bytes)](tests/detectors/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/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L10)\n", - "first_markdown_element": "tests/detectors/controlled-delegatecall/0.4.25/controlled_delegatecall.sol#L8-L11", - "id": "90d4f387ca3c669975a3ed4d7a5b09665b786a1078e16ced61adf1c3f9f6efb8", + "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" diff --git a/tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol b/tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol similarity index 100% rename from tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol rename to tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json rename to tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol.0.4.25.CostlyOperationsInLoop.json index 94d44141c1..31ce64c795 100644 --- a/tests/detectors/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 @@ -4,23 +4,150 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad_base", "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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 + 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 @@ -32,9 +159,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -94,45 +221,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad3_internal()" } }, { "type": "node", "name": "state_variable ++", "source_mapping": { - "start": 1363, + "start": 1894, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ - 31 + 42 ], - "starting_column": 7, - "ending_column": 23 + "starting_column": 5, + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad3_internal", "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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 + 41, + 42, + 43 ], "starting_column": 3, "ending_column": 4 @@ -144,9 +266,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -206,16 +328,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad3_internal()" } } } } ], - "description": "CostlyOperationsInLoop.bad2() (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "0cde1ae7c1410e0eb0d07ff2c21adc20b1c7f7a654780c8d41069ad3a34e73b4", + "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" @@ -224,20 +346,23 @@ "elements": [ { "type": "function", - "name": "bad", + "name": "bad2", "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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 + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 ], "starting_column": 3, "ending_column": 4 @@ -249,9 +374,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -311,21 +436,21 @@ "ending_column": 2 } }, - "signature": "bad()" + "signature": "bad2()" } }, { "type": "node", "name": "state_variable ++", "source_mapping": { - "start": 912, + "start": 1363, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ - 22 + 31 ], "starting_column": 7, "ending_column": 23 @@ -333,20 +458,23 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad", + "name": "bad2", "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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 + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 ], "starting_column": 3, "ending_column": 4 @@ -358,9 +486,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -420,148 +548,16 @@ "ending_column": 2 } }, - "signature": "bad()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "92dbac16da1c357bad3a24661de0e92213ac3a701d80655fadb64359ff98d21d", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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()" + "signature": "bad2()" } } } } ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/detectors/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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/detectors/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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "a5134568bf722ac31d7c4d41595c23e1a5ff9b79902e9502f78ccfe9a430b87a", + "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" @@ -570,18 +566,20 @@ "elements": [ { "type": "function", - "name": "bad3_internal", + "name": "bad", "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -593,9 +591,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -655,40 +653,42 @@ "ending_column": 2 } }, - "signature": "bad3_internal()" + "signature": "bad()" } }, { "type": "node", "name": "state_variable ++", "source_mapping": { - "start": 1894, + "start": 912, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ - 42 + 22 ], - "starting_column": 5, - "ending_column": 21 + "starting_column": 7, + "ending_column": 23 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3_internal", + "name": "bad", "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -700,9 +700,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -762,16 +762,16 @@ "ending_column": 2 } }, - "signature": "bad3_internal()" + "signature": "bad()" } } } } ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "d92f330b3f0aafe1dd0a8c4d79935664297b8d73741df8970e132423d20a1c08", + "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" diff --git a/tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol b/tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol similarity index 100% rename from tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol rename to tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json rename to tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol.0.5.16.CostlyOperationsInLoop.json index 1780300b10..d3aa09a683 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 102, "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 5, @@ -29,9 +29,9 @@ "source_mapping": { "start": 0, "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 1, @@ -59,9 +59,9 @@ "source_mapping": { "start": 271, "length": 21, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 7 @@ -76,9 +76,9 @@ "source_mapping": { "start": 102, "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 5, @@ -97,9 +97,9 @@ "source_mapping": { "start": 0, "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 1, @@ -124,10 +124,10 @@ } } ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/detectors/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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/detectors/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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "37bb0ca67ffcfb1625ffbea095bba93ea031ed6f483bb80a976c7c68309872dd", + "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" @@ -136,18 +136,23 @@ "elements": [ { "type": "function", - "name": "bad3_internal", + "name": "bad2", "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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 + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 ], "starting_column": 3, "ending_column": 4 @@ -159,9 +164,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -221,40 +226,45 @@ "ending_column": 2 } }, - "signature": "bad3_internal()" + "signature": "bad2()" } }, { "type": "node", "name": "state_variable ++", "source_mapping": { - "start": 1894, + "start": 1363, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ - 42 + 31 ], - "starting_column": 5, - "ending_column": 21 + "starting_column": 7, + "ending_column": 23 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3_internal", + "name": "bad2", "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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 + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 ], "starting_column": 3, "ending_column": 4 @@ -266,9 +276,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -328,16 +338,16 @@ "ending_column": 2 } }, - "signature": "bad3_internal()" + "signature": "bad2()" } } } } ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "6ebf2ecedb330a477079a9b72f1ba6ffc5717e08017f700538ec42d3eeab355b", + "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" @@ -346,20 +356,18 @@ "elements": [ { "type": "function", - "name": "bad", + "name": "bad3_internal", "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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 + 41, + 42, + 43 ], "starting_column": 3, "ending_column": 4 @@ -371,9 +379,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -433,42 +441,40 @@ "ending_column": 2 } }, - "signature": "bad()" + "signature": "bad3_internal()" } }, { "type": "node", "name": "state_variable ++", "source_mapping": { - "start": 912, + "start": 1894, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ - 22 + 42 ], - "starting_column": 7, - "ending_column": 23 + "starting_column": 5, + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad", + "name": "bad3_internal", "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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 + 41, + 42, + 43 ], "starting_column": 3, "ending_column": 4 @@ -480,9 +486,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -542,16 +548,16 @@ "ending_column": 2 } }, - "signature": "bad()" + "signature": "bad3_internal()" } } } } ], - "description": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "94a7ffd0d3ada78ae8ace1304b276d677415a08dcdff51fc05889122e14633da", + "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" @@ -560,23 +566,20 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad", "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -588,9 +591,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -650,21 +653,21 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad()" } }, { "type": "node", "name": "state_variable ++", "source_mapping": { - "start": 1363, + "start": 912, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ - 31 + 22 ], "starting_column": 7, "ending_column": 23 @@ -672,23 +675,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad", "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -700,9 +700,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -762,16 +762,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad()" } } } } ], - "description": "CostlyOperationsInLoop.bad2() (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "c0c91898e5b5af12af49b6aefdc4790190101774bffad8e446ba9c857ff86525", + "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" diff --git a/tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol b/tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol similarity index 100% rename from tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol rename to tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json rename to tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol.0.6.11.CostlyOperationsInLoop.json index 0a4fd2c890..a86e7f8795 100644 --- a/tests/detectors/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 @@ -4,23 +4,20 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad", "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -32,9 +29,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -94,21 +91,21 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad()" } }, { "type": "node", "name": "state_variable ++", "source_mapping": { - "start": 1363, + "start": 912, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ - 31 + 22 ], "starting_column": 7, "ending_column": 23 @@ -116,23 +113,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad", "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -144,9 +138,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -206,16 +200,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad()" } } } } ], - "description": "CostlyOperationsInLoop.bad2() (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "3a1b0ff0bee83dfad403a074eb81c6d845c5da8e99e98433004ba72c1b2c624c", + "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" @@ -224,18 +218,23 @@ "elements": [ { "type": "function", - "name": "bad3_internal", + "name": "bad2", "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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 + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 ], "starting_column": 3, "ending_column": 4 @@ -247,9 +246,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -309,40 +308,45 @@ "ending_column": 2 } }, - "signature": "bad3_internal()" + "signature": "bad2()" } }, { "type": "node", "name": "state_variable ++", "source_mapping": { - "start": 1894, + "start": 1363, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ - 42 + 31 ], - "starting_column": 5, - "ending_column": 21 + "starting_column": 7, + "ending_column": 23 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3_internal", + "name": "bad2", "source_mapping": { - "start": 1855, - "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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 + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 ], "starting_column": 3, "ending_column": 4 @@ -354,9 +358,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -416,148 +420,16 @@ "ending_column": 2 } }, - "signature": "bad3_internal()" - } - } - } - } - ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "4bb89ccd252e2233f67cccaf8b40354da7edcb7c5b36df1edfeab0cafed05b74", - "check": "costly-loop", - "impact": "Informational", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad_base", - "source_mapping": { - "start": 102, - "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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()" + "signature": "bad2()" } } } } ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/detectors/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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/detectors/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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "53602b905c8ae68d5325f0c11263f1c9b905406799ec70ca13638f4b1094c37f", + "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" @@ -566,20 +438,18 @@ "elements": [ { "type": "function", - "name": "bad", + "name": "bad3_internal", "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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 + 41, + 42, + 43 ], "starting_column": 3, "ending_column": 4 @@ -591,9 +461,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -653,42 +523,40 @@ "ending_column": 2 } }, - "signature": "bad()" + "signature": "bad3_internal()" } }, { "type": "node", "name": "state_variable ++", "source_mapping": { - "start": 912, + "start": 1894, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ - 22 + 42 ], - "starting_column": 7, - "ending_column": 23 + "starting_column": 5, + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad", + "name": "bad3_internal", "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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 + 41, + 42, + 43 ], "starting_column": 3, "ending_column": 4 @@ -700,9 +568,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -762,16 +630,148 @@ "ending_column": 2 } }, - "signature": "bad()" + "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": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "a4f559a14007167a13506a3c865345fb2c050b8d2c660804cc5e301db553822a", + "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" diff --git a/tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol b/tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol similarity index 100% rename from tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol rename to tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json rename to tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol.0.7.6.CostlyOperationsInLoop.json index 5658e59faf..7bb08cbb8b 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1855, "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 41, @@ -27,9 +27,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -98,9 +98,9 @@ "source_mapping": { "start": 1894, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 42 @@ -115,9 +115,9 @@ "source_mapping": { "start": 1855, "length": 60, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 41, @@ -134,9 +134,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -202,10 +202,10 @@ } } ], - "description": "CostlyOperationsInLoop.bad3_internal() (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#41-43) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#42)\n", - "markdown": "[CostlyOperationsInLoop.bad3_internal()](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L41-L43) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L42)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L41-L43", - "id": "77bb0a1e0308312bb9696553d6384270c433fcbebd6311e053c6979d4bdc2128", + "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" @@ -218,9 +218,9 @@ "source_mapping": { "start": 102, "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 5, @@ -239,9 +239,9 @@ "source_mapping": { "start": 0, "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 1, @@ -269,9 +269,9 @@ "source_mapping": { "start": 271, "length": 21, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 7 @@ -286,9 +286,9 @@ "source_mapping": { "start": 102, "length": 389, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 5, @@ -307,9 +307,9 @@ "source_mapping": { "start": 0, "length": 494, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 1, @@ -334,10 +334,10 @@ } } ], - "description": "CostlyOperationsInLoopBase.bad_base() (tests/detectors/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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#7)\n", - "markdown": "[CostlyOperationsInLoopBase.bad_base()](tests/detectors/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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L5-L9", - "id": "a150cde3056e29877ab4fc8d64ce48a08db143bcb5dc2bcccae8f7848e666940", + "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" @@ -346,20 +346,23 @@ "elements": [ { "type": "function", - "name": "bad", + "name": "bad2", "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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 + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 ], "starting_column": 3, "ending_column": 4 @@ -371,9 +374,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -433,21 +436,21 @@ "ending_column": 2 } }, - "signature": "bad()" + "signature": "bad2()" } }, { "type": "node", "name": "state_variable ++", "source_mapping": { - "start": 912, + "start": 1363, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ - 22 + 31 ], "starting_column": 7, "ending_column": 23 @@ -455,20 +458,23 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad", + "name": "bad2", "source_mapping": { - "start": 754, - "length": 373, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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 + 26, + 27, + 28, + 29, + 30, + 31, + 32, + 33 ], "starting_column": 3, "ending_column": 4 @@ -480,9 +486,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -542,16 +548,16 @@ "ending_column": 2 } }, - "signature": "bad()" + "signature": "bad2()" } } } } ], - "description": "CostlyOperationsInLoop.bad() (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#20-24) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#22)\n", - "markdown": "[CostlyOperationsInLoop.bad()](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L20-L24) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L22)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L20-L24", - "id": "c92490750428b640ff46202b5fe9d0eb62ab98a70419cef5ca80530c15b14180", + "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" @@ -560,23 +566,20 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad", "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -588,9 +591,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -650,21 +653,21 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad()" } }, { "type": "node", "name": "state_variable ++", "source_mapping": { - "start": 1363, + "start": 912, "length": 16, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ - 31 + 22 ], "starting_column": 7, "ending_column": 23 @@ -672,23 +675,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad", "source_mapping": { - "start": 1131, - "length": 343, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -700,9 +700,9 @@ "source_mapping": { "start": 496, "length": 1899, - "filename_relative": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "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/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol", "is_dependency": false, "lines": [ 13, @@ -762,16 +762,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad()" } } } } ], - "description": "CostlyOperationsInLoop.bad2() (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#26-33) has costly operations inside a loop:\n\t- state_variable ++ (tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#31)\n", - "markdown": "[CostlyOperationsInLoop.bad2()](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L26-L33) has costly operations inside a loop:\n\t- [state_variable ++](tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L31)\n", - "first_markdown_element": "tests/detectors/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol#L26-L33", - "id": "f7ebc0c37f31c1a68b8fbfe7530fd66f3c590e5631478cc88d03eeaa8c09f6a6", + "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" diff --git a/tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol b/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol similarity index 100% rename from tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol rename to tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json rename to tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json index e6e370ac36..472f9a0ba6 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 244, "length": 536, - "filename_relative": "tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", + "filename_relative": "tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", + "filename_short": "tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", "is_dependency": false, "lines": [ 17, @@ -39,9 +39,9 @@ "source_mapping": { "start": 25, "length": 757, - "filename_relative": "tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", + "filename_relative": "tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", + "filename_short": "tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol", "is_dependency": false, "lines": [ 3, @@ -84,9 +84,9 @@ } } ], - "description": "HighCyclomaticComplexity.highCC() (tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol#17-31) has a high cyclomatic complexity (12).\n", - "markdown": "[HighCyclomaticComplexity.highCC()](tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol#L17-L31) has a high cyclomatic complexity (12).\n", - "first_markdown_element": "tests/detectors/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol#L17-L31", + "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", diff --git a/tests/detectors/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol b/tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol similarity index 100% rename from tests/detectors/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol rename to tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json rename to tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol.0.8.16.CyclomaticComplexity.json diff --git a/tests/detectors/dead-code/0.8.0/dead-code.sol b/tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol similarity index 100% rename from tests/detectors/dead-code/0.8.0/dead-code.sol rename to tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol diff --git a/tests/detectors/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 similarity index 68% rename from tests/detectors/dead-code/0.8.0/dead-code.sol.0.8.0.DeadCode.json rename to tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol.0.8.0.DeadCode.json index 43ae37d662..32481128a1 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 319, "length": 56, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "is_dependency": false, "lines": [ 26, @@ -27,9 +27,9 @@ "source_mapping": { "start": 290, "length": 87, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "is_dependency": false, "lines": [ 25, @@ -46,9 +46,9 @@ } } ], - "description": "Test4.unused_but_shadowed() (tests/detectors/dead-code/0.8.0/dead-code.sol#26-28) is never used and should be removed\n", - "markdown": "[Test4.unused_but_shadowed()](tests/detectors/dead-code/0.8.0/dead-code.sol#L26-L28) is never used and should be removed\n", - "first_markdown_element": "tests/detectors/dead-code/0.8.0/dead-code.sol#L26-L28", + "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", @@ -62,9 +62,9 @@ "source_mapping": { "start": 19, "length": 34, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "is_dependency": false, "lines": [ 2, @@ -81,9 +81,9 @@ "source_mapping": { "start": 0, "length": 55, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "is_dependency": false, "lines": [ 1, @@ -100,9 +100,9 @@ } } ], - "description": "Test.unused() (tests/detectors/dead-code/0.8.0/dead-code.sol#2-4) is never used and should be removed\n", - "markdown": "[Test.unused()](tests/detectors/dead-code/0.8.0/dead-code.sol#L2-L4) is never used and should be removed\n", - "first_markdown_element": "tests/detectors/dead-code/0.8.0/dead-code.sol#L2-L4", + "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", @@ -116,9 +116,9 @@ "source_mapping": { "start": 79, "length": 55, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "is_dependency": false, "lines": [ 10, @@ -135,9 +135,9 @@ "source_mapping": { "start": 58, "length": 78, - "filename_relative": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_relative": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/dead-code/0.8.0/dead-code.sol", + "filename_short": "tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol", "is_dependency": false, "lines": [ 8, @@ -155,9 +155,9 @@ } } ], - "description": "Test2.unused_but_shadowed() (tests/detectors/dead-code/0.8.0/dead-code.sol#10-12) is never used and should be removed\n", - "markdown": "[Test2.unused_but_shadowed()](tests/detectors/dead-code/0.8.0/dead-code.sol#L10-L12) is never used and should be removed\n", - "first_markdown_element": "tests/detectors/dead-code/0.8.0/dead-code.sol#L10-L12", + "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", diff --git a/tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol b/tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol similarity index 100% rename from tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol rename to tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol.0.4.25.DelegatecallInLoop.json rename to tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol.0.4.25.DelegatecallInLoop.json index 4a5c9a7b29..4fae8a432e 100644 --- a/tests/detectors/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 @@ -4,22 +4,20 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad", "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -31,9 +29,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -75,44 +73,42 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad(address[])" } }, { "type": "node", "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", "source_mapping": { - "start": 931, + "start": 188, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 28 + 7 ], - "starting_column": 17, - "ending_column": 105 + "starting_column": 13, + "ending_column": 101 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad", "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -124,9 +120,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -168,16 +164,16 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad(address[])" } } } } ], - "description": "C.bad3(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/detectors/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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L25-L31", - "id": "77dda07eb6e2fe62ccfc45730422fa556ee775c1f6686148258f1ccc76c86491", + "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" @@ -186,20 +182,22 @@ "elements": [ { "type": "function", - "name": "bad2_internal", + "name": "bad3", "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21, - 22, - 23 + 25, + 26, + 27, + 28, + 29, + 30, + 31 ], "starting_column": 5, "ending_column": 6 @@ -211,9 +209,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -255,42 +253,44 @@ "ending_column": 0 } }, - "signature": "bad2_internal(address[])" + "signature": "bad3(address[])" } }, { "type": "node", "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", "source_mapping": { - "start": 627, + "start": 931, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 21 + 28 ], - "starting_column": 13, - "ending_column": 101 + "starting_column": 17, + "ending_column": 105 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_internal", + "name": "bad3", "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21, - 22, - 23 + 25, + 26, + 27, + 28, + 29, + 30, + 31 ], "starting_column": 5, "ending_column": 6 @@ -302,9 +302,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -346,16 +346,16 @@ "ending_column": 0 } }, - "signature": "bad2_internal(address[])" + "signature": "bad3(address[])" } } } } ], - "description": "C.bad2_internal(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/detectors/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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L19-L23", - "id": "95c9b72aff8332665e8e4f528a844ef21bc09ec277d5d27d97c2f0f1d69e8ba3", + "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" @@ -364,20 +364,20 @@ "elements": [ { "type": "function", - "name": "bad", + "name": "bad2_internal", "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 5, - 6, - 7, - 8, - 9 + 19, + 20, + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -389,9 +389,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -433,21 +433,21 @@ "ending_column": 0 } }, - "signature": "bad(address[])" + "signature": "bad2_internal(address[])" } }, { "type": "node", "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", "source_mapping": { - "start": 188, + "start": 627, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 7 + 21 ], "starting_column": 13, "ending_column": 101 @@ -455,20 +455,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad", + "name": "bad2_internal", "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 5, - 6, - 7, - 8, - 9 + 19, + 20, + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -480,9 +480,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -524,16 +524,16 @@ "ending_column": 0 } }, - "signature": "bad(address[])" + "signature": "bad2_internal(address[])" } } } } ], - "description": "C.bad(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/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/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.4.25/delegatecall_loop.sol#L5-L9", - "id": "e057dff3814f9be2d5eca53fe80f41323b8ed90d20bb1e33600bb4e043c40b66", + "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" diff --git a/tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol b/tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol similarity index 100% rename from tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol rename to tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol.0.5.16.DelegatecallInLoop.json rename to tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol.0.5.16.DelegatecallInLoop.json index c9300b9674..d94587fcb0 100644 --- a/tests/detectors/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 @@ -4,20 +4,22 @@ "elements": [ { "type": "function", - "name": "bad", + "name": "bad3", "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 5, - 6, - 7, - 8, - 9 + 25, + 26, + 27, + 28, + 29, + 30, + 31 ], "starting_column": 5, "ending_column": 6 @@ -29,9 +31,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -73,42 +75,44 @@ "ending_column": 0 } }, - "signature": "bad(address[])" + "signature": "bad3(address[])" } }, { "type": "node", "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", "source_mapping": { - "start": 188, + "start": 931, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 7 + 28 ], - "starting_column": 13, - "ending_column": 101 + "starting_column": 17, + "ending_column": 105 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad", + "name": "bad3", "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 5, - 6, - 7, - 8, - 9 + 25, + 26, + 27, + 28, + 29, + 30, + 31 ], "starting_column": 5, "ending_column": 6 @@ -120,9 +124,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -164,16 +168,16 @@ "ending_column": 0 } }, - "signature": "bad(address[])" + "signature": "bad3(address[])" } } } } ], - "description": "C.bad(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/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/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L5-L9", - "id": "71bad0e6228b341671dd1cc38d74fb727f9bbc5764104298596986d8f4967c02", + "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" @@ -186,9 +190,9 @@ "source_mapping": { "start": 496, "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ 19, @@ -207,9 +211,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -260,9 +264,9 @@ "source_mapping": { "start": 627, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ 21 @@ -277,9 +281,9 @@ "source_mapping": { "start": 496, "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ 19, @@ -298,9 +302,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -348,10 +352,10 @@ } } ], - "description": "C.bad2_internal(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/detectors/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/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L19-L23", - "id": "7edbf79d9613bc9338f4956841c0fbece80b489971f8c05ae818babc7e27931a", + "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" @@ -360,22 +364,20 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad", "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -387,9 +389,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -431,44 +433,42 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad(address[])" } }, { "type": "node", "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", "source_mapping": { - "start": 931, + "start": 188, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 28 + 7 ], - "starting_column": 17, - "ending_column": 105 + "starting_column": 13, + "ending_column": 101 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad", "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -480,9 +480,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -524,16 +524,16 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad(address[])" } } } } ], - "description": "C.bad3(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/detectors/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/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.5.16/delegatecall_loop.sol#L25-L31", - "id": "e4ea7a031f3f945111f70123e85c9f92b52ac8fd7c04a8c2443393592982e39a", + "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" diff --git a/tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol b/tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol similarity index 100% rename from tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol rename to tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol.0.6.11.DelegatecallInLoop.json rename to tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol.0.6.11.DelegatecallInLoop.json index 0696b4687e..0cc3b55b1f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 496, "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 19, @@ -29,9 +29,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -82,9 +82,9 @@ "source_mapping": { "start": 627, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 21 @@ -99,9 +99,9 @@ "source_mapping": { "start": 496, "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 19, @@ -120,9 +120,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -170,10 +170,10 @@ } } ], - "description": "C.bad2_internal(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/detectors/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/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L19-L23", - "id": "50e1b9196dcf1e1d7678184956c7a9d3ba470ab23d7be04163d366b092e2df41", + "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" @@ -186,9 +186,9 @@ "source_mapping": { "start": 61, "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 5, @@ -207,9 +207,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -260,9 +260,9 @@ "source_mapping": { "start": 188, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 7 @@ -277,9 +277,9 @@ "source_mapping": { "start": 61, "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 5, @@ -298,9 +298,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -348,10 +348,10 @@ } } ], - "description": "C.bad(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/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/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L5-L9", - "id": "dfa0a166dfe43235e3fbeab4eadd8b0c7c612cd2fefe3cf281d909129b3b824e", + "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" @@ -364,9 +364,9 @@ "source_mapping": { "start": 738, "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 25, @@ -387,9 +387,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -440,9 +440,9 @@ "source_mapping": { "start": 931, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 28 @@ -457,9 +457,9 @@ "source_mapping": { "start": 738, "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 25, @@ -480,9 +480,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -530,10 +530,10 @@ } } ], - "description": "C.bad3(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/detectors/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/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.6.11/delegatecall_loop.sol#L25-L31", - "id": "f42b54838c6756ddd38ad98fb9243413bbbd169a6d513737c1b85bd6dc263107", + "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" diff --git a/tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol b/tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol similarity index 100% rename from tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol rename to tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol.0.7.6.DelegatecallInLoop.json rename to tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol.0.7.6.DelegatecallInLoop.json index f9aea91551..87c8bb520a 100644 --- a/tests/detectors/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 @@ -4,20 +4,22 @@ "elements": [ { "type": "function", - "name": "bad", + "name": "bad3", "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 5, - 6, - 7, - 8, - 9 + 25, + 26, + 27, + 28, + 29, + 30, + 31 ], "starting_column": 5, "ending_column": 6 @@ -29,9 +31,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -73,42 +75,44 @@ "ending_column": 0 } }, - "signature": "bad(address[])" + "signature": "bad3(address[])" } }, { "type": "node", "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", "source_mapping": { - "start": 188, + "start": 931, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 7 + 28 ], - "starting_column": 13, - "ending_column": 101 + "starting_column": 17, + "ending_column": 105 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad", + "name": "bad3", "source_mapping": { - "start": 61, - "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 5, - 6, - 7, - 8, - 9 + 25, + 26, + 27, + 28, + 29, + 30, + 31 ], "starting_column": 5, "ending_column": 6 @@ -120,9 +124,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -164,16 +168,16 @@ "ending_column": 0 } }, - "signature": "bad(address[])" + "signature": "bad3(address[])" } } } } ], - "description": "C.bad(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/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/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L5-L9", - "id": "33dd934c565095b28b362765c0c885287aaf87741cf31dae44457268f831b7a4", + "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" @@ -182,22 +186,20 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad", "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -209,9 +211,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -253,44 +255,42 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad(address[])" } }, { "type": "node", "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", "source_mapping": { - "start": 931, + "start": 188, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 28 + 7 ], - "starting_column": 17, - "ending_column": 105 + "starting_column": 13, + "ending_column": 101 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad", "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -302,9 +302,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -346,16 +346,16 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad(address[])" } } } } ], - "description": "C.bad3(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/detectors/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/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L25-L31", - "id": "40cecf9f87caeb930a800e6eb9c668fd6ca5077af3176e48af13c4892bcaf419", + "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" @@ -368,9 +368,9 @@ "source_mapping": { "start": 496, "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ 19, @@ -389,9 +389,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -442,9 +442,9 @@ "source_mapping": { "start": 627, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ 21 @@ -459,9 +459,9 @@ "source_mapping": { "start": 496, "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ 19, @@ -480,9 +480,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -530,10 +530,10 @@ } } ], - "description": "C.bad2_internal(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/detectors/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/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.7.6/delegatecall_loop.sol#L19-L23", - "id": "a7f58e5431f4817c8f3e39d7efdb1b1633316d9be3fd73669e509ec33b6bd2d3", + "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" diff --git a/tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol b/tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol similarity index 100% rename from tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol rename to tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol.0.8.0.DelegatecallInLoop.json rename to tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol.0.8.0.DelegatecallInLoop.json index 3d25d55910..5b9c798a86 100644 --- a/tests/detectors/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 @@ -4,22 +4,20 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad2_internal", "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "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 + 19, + 20, + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -31,9 +29,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -75,44 +73,42 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad2_internal(address[])" } }, { "type": "node", "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", "source_mapping": { - "start": 931, + "start": 627, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 28 + 21 ], - "starting_column": 17, - "ending_column": 105 + "starting_column": 13, + "ending_column": 101 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad2_internal", "source_mapping": { - "start": 738, - "length": 312, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "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 + 19, + 20, + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -124,9 +120,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -168,16 +164,16 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad2_internal(address[])" } } } } ], - "description": "C.bad3(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#28)\n", - "markdown": "[C.bad3(address[])](tests/detectors/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/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L28)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L25-L31", - "id": "0bacdb8b28979c680bd97f07b6a7e17d687dde34b125b23d9d71514d37d5e863", + "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" @@ -190,9 +186,9 @@ "source_mapping": { "start": 61, "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ 5, @@ -211,9 +207,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -264,9 +260,9 @@ "source_mapping": { "start": 188, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ 7 @@ -281,9 +277,9 @@ "source_mapping": { "start": 61, "length": 232, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ 5, @@ -302,9 +298,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -352,10 +348,10 @@ } } ], - "description": "C.bad(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/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/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L5-L9", - "id": "b810117268c82cb0e2ba1fce4549cef820197f59c877fd5f0701661a0f7bbf47", + "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" @@ -364,20 +360,22 @@ "elements": [ { "type": "function", - "name": "bad2_internal", + "name": "bad3", "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21, - 22, - 23 + 25, + 26, + 27, + 28, + 29, + 30, + 31 ], "starting_column": 5, "ending_column": 6 @@ -389,9 +387,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -433,42 +431,44 @@ "ending_column": 0 } }, - "signature": "bad2_internal(address[])" + "signature": "bad3(address[])" } }, { "type": "node", "name": "address(this).delegatecall(abi.encodeWithSignature(addBalance(address),receivers[i]))", "source_mapping": { - "start": 627, + "start": 931, "length": 88, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 21 + 28 ], - "starting_column": 13, - "ending_column": 101 + "starting_column": 17, + "ending_column": 105 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_internal", + "name": "bad3", "source_mapping": { - "start": 496, - "length": 236, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "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/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21, - 22, - 23 + 25, + 26, + 27, + 28, + 29, + 30, + 31 ], "starting_column": 5, "ending_column": 6 @@ -480,9 +480,9 @@ "source_mapping": { "start": 0, "length": 1053, - "filename_relative": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol", "is_dependency": false, "lines": [ 1, @@ -524,16 +524,16 @@ "ending_column": 0 } }, - "signature": "bad2_internal(address[])" + "signature": "bad3(address[])" } } } } ], - "description": "C.bad2_internal(address[]) (tests/detectors/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/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#21)\n", - "markdown": "[C.bad2_internal(address[])](tests/detectors/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/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L21)\n", - "first_markdown_element": "tests/detectors/delegatecall-loop/0.8.0/delegatecall_loop.sol#L19-L23", - "id": "c09bee70334dcac1e61b8295e12f2928ec522c8a0682f6068e6c283361ab1e59", + "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" diff --git a/tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol b/tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol similarity index 100% rename from tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol rename to tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol.0.4.25.DeprecatedStandards.json rename to tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol.0.4.25.DeprecatedStandards.json index 841e683287..c52e237697 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 228, "length": 5, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "is_dependency": false, "lines": [ 7 @@ -25,9 +25,9 @@ "source_mapping": { "start": 21, "length": 229, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "is_dependency": false, "lines": [ 3, @@ -48,9 +48,9 @@ "source_mapping": { "start": 0, "length": 252, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "is_dependency": false, "lines": [ 1, @@ -75,10 +75,10 @@ } } ], - "description": "Deprecated standard detected THROW (tests/detectors/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/detectors/deprecated-standards/0.4.25/deprecated_calls.sol#L7):\n\t- Usage of \"throw\" should be replaced with \"revert()\"\n", - "first_markdown_element": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol#L7", - "id": "5fbf4a42467953d0fd8d0661cbb4eeb81d4b40f69ae3820196bf10c4be53044e", + "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" @@ -91,9 +91,9 @@ "source_mapping": { "start": 140, "length": 20, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "is_dependency": false, "lines": [ 5 @@ -108,9 +108,9 @@ "source_mapping": { "start": 21, "length": 229, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "is_dependency": false, "lines": [ 3, @@ -131,9 +131,9 @@ "source_mapping": { "start": 0, "length": 252, - "filename_relative": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/deprecated-standards/0.4.25/deprecated_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol", "is_dependency": false, "lines": [ 1, @@ -158,10 +158,10 @@ } } ], - "description": "Deprecated standard detected msg.gas == msg.value (tests/detectors/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/detectors/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/detectors/deprecated-standards/0.4.25/deprecated_calls.sol#L5", - "id": "e779713eabc28919356310f06b9413a8a3b7e9e713026d6cfae2d9f6839c1e57", + "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" diff --git a/tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol b/tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol similarity index 100% rename from tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol rename to tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol diff --git a/tests/detectors/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 similarity index 68% rename from tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol.0.4.25.DivideBeforeMultiply.json rename to tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol.0.4.25.DivideBeforeMultiply.json index 9c2064da9c..152635d831 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 14, "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", "is_dependency": false, "lines": [ 1, @@ -52,9 +52,9 @@ "source_mapping": { "start": 81, "length": 18, - "filename_relative": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", "is_dependency": false, "lines": [ 3 @@ -69,9 +69,9 @@ "source_mapping": { "start": 14, "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", "is_dependency": false, "lines": [ 2, @@ -88,9 +88,9 @@ "source_mapping": { "start": 0, "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol", "is_dependency": false, "lines": [ 1, @@ -110,10 +110,10 @@ } } ], - "description": "A.f(uint256,uint256,uint256) (tests/detectors/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/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/detectors/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/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/detectors/divide-before-multiply/0.4.25/divide_before_multiply.sol#L2-L4", - "id": "e0d9e5f7d421dadadf4b22750bde5233357fa2a413478117848de6e44ba9c314", + "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" diff --git a/tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol b/tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol similarity index 100% rename from tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol rename to tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol diff --git a/tests/detectors/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.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json similarity index 68% rename from tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json rename to tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json index 7c68d8531d..30936c73c0 100644 --- a/tests/detectors/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.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json @@ -8,9 +8,9 @@ "source_mapping": { "start": 14, "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", "is_dependency": false, "lines": [ 1, @@ -52,9 +52,9 @@ "source_mapping": { "start": 81, "length": 18, - "filename_relative": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", "is_dependency": false, "lines": [ 3 @@ -69,9 +69,9 @@ "source_mapping": { "start": 14, "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", "is_dependency": false, "lines": [ 2, @@ -88,9 +88,9 @@ "source_mapping": { "start": 0, "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol", "is_dependency": false, "lines": [ 1, @@ -110,10 +110,10 @@ } } ], - "description": "A.f(uint256,uint256,uint256) (tests/detectors/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/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/detectors/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/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol#L2-L4", - "id": "1978edf9df9f9dc18d8c90bb008cca4bb4b0e811fd840a337ce006fcf38c7e82", + "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" diff --git a/tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol b/tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol similarity index 100% rename from tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol rename to tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol diff --git a/tests/detectors/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 similarity index 68% rename from tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol.0.6.11.DivideBeforeMultiply.json rename to tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol.0.6.11.DivideBeforeMultiply.json index c250c523c4..e6fc7d0501 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 14, "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", "is_dependency": false, "lines": [ 1, @@ -52,9 +52,9 @@ "source_mapping": { "start": 81, "length": 18, - "filename_relative": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", "is_dependency": false, "lines": [ 3 @@ -69,9 +69,9 @@ "source_mapping": { "start": 14, "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", "is_dependency": false, "lines": [ 2, @@ -88,9 +88,9 @@ "source_mapping": { "start": 0, "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol", "is_dependency": false, "lines": [ 1, @@ -110,10 +110,10 @@ } } ], - "description": "A.f(uint256,uint256,uint256) (tests/detectors/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/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/detectors/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/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/detectors/divide-before-multiply/0.6.11/divide_before_multiply.sol#L2-L4", - "id": "c84a7841250790acbb447d31715ca8f7818170927909d599cbc08f49ce8a665d", + "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" diff --git a/tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol b/tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol similarity index 100% rename from tests/detectors/divide-before-multiply/0.7.6/divide_before_multiply.sol rename to tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol diff --git a/tests/detectors/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.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json similarity index 68% rename from tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol.0.5.16.DivideBeforeMultiply.json rename to tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json index 895721fd4a..00a4d18426 100644 --- a/tests/detectors/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.7.6/divide_before_multiply.sol.0.7.6.DivideBeforeMultiply.json @@ -8,9 +8,9 @@ "source_mapping": { "start": 14, "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", "is_dependency": false, "lines": [ 1, @@ -52,9 +52,9 @@ "source_mapping": { "start": 81, "length": 18, - "filename_relative": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", "is_dependency": false, "lines": [ 3 @@ -69,9 +69,9 @@ "source_mapping": { "start": 14, "length": 92, - "filename_relative": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", "is_dependency": false, "lines": [ 2, @@ -88,9 +88,9 @@ "source_mapping": { "start": 0, "length": 108, - "filename_relative": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", + "filename_relative": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol", + "filename_short": "tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol", "is_dependency": false, "lines": [ 1, @@ -110,10 +110,10 @@ } } ], - "description": "A.f(uint256,uint256,uint256) (tests/detectors/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/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol#3)\n", - "markdown": "[A.f(uint256,uint256,uint256)](tests/detectors/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/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol#L3)\n", - "first_markdown_element": "tests/detectors/divide-before-multiply/0.5.16/divide_before_multiply.sol#L2-L4", - "id": "201417019df7d5dedc2b65c695ccdce8dbd171768bb64e4bae44c2b6e81bb96b", + "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" diff --git a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol diff --git a/tests/detectors/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 similarity index 90% rename from tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol.0.4.25.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol.0.4.25.DomainSeparatorCollision.json index 7b89af4a86..88a1c3192d 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 5241, "length": 150, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol", + "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol", "is_dependency": false, "lines": [ 161, @@ -27,9 +27,9 @@ "source_mapping": { "start": 449, "length": 6181, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol", + "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol", "is_dependency": false, "lines": [ 7, @@ -240,9 +240,9 @@ } } ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.4.25/permit_domain_collision.sol#L161-L163", + "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", diff --git a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol diff --git a/tests/detectors/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 similarity index 89% rename from tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol.0.4.25.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol.0.4.25.DomainSeparatorCollision.json index 5d4c008170..b528a22369 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1735, "length": 24, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", + "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/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", "is_dependency": false, "lines": [ 46 @@ -25,9 +25,9 @@ "source_mapping": { "start": 449, "length": 6054, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", + "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/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol", "is_dependency": false, "lines": [ 7, @@ -235,9 +235,9 @@ } } ], - "description": "The function signature of ERC20.fopwCDKKK (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol#L46", + "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", diff --git a/tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol diff --git a/tests/detectors/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 similarity index 89% rename from tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol.0.4.25.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol.0.4.25.DomainSeparatorCollision.json index f5a4604290..ff446517fa 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 5248, "length": 90, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", + "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/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", "is_dependency": false, "lines": [ 161, @@ -27,9 +27,9 @@ "source_mapping": { "start": 449, "length": 6128, - "filename_relative": "tests/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", + "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/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol", "is_dependency": false, "lines": [ 7, @@ -240,9 +240,9 @@ } } ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol#L161-L163", + "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", diff --git a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol diff --git a/tests/detectors/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 similarity index 90% rename from tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol.0.5.16.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol.0.5.16.DomainSeparatorCollision.json index 23f93fd7e1..4fc8f3b48a 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 5248, "length": 150, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol", + "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol", "is_dependency": false, "lines": [ 161, @@ -27,9 +27,9 @@ "source_mapping": { "start": 449, "length": 6188, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol", + "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol", "is_dependency": false, "lines": [ 7, @@ -240,9 +240,9 @@ } } ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.5.16/permit_domain_collision.sol#L161-L163", + "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", diff --git a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol diff --git a/tests/detectors/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 similarity index 89% rename from tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol.0.5.16.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol.0.5.16.DomainSeparatorCollision.json index 5cc2627aee..d69104adb5 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1735, "length": 24, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", + "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/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", "is_dependency": false, "lines": [ 46 @@ -25,9 +25,9 @@ "source_mapping": { "start": 449, "length": 6061, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", + "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/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol", "is_dependency": false, "lines": [ 7, @@ -235,9 +235,9 @@ } } ], - "description": "The function signature of ERC20.fopwCDKKK (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol#L46", + "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", diff --git a/tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol diff --git a/tests/detectors/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 similarity index 89% rename from tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol.0.5.16.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol.0.5.16.DomainSeparatorCollision.json index 20ab9665d3..36077b76f2 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 5255, "length": 90, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", + "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/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", "is_dependency": false, "lines": [ 161, @@ -27,9 +27,9 @@ "source_mapping": { "start": 449, "length": 6135, - "filename_relative": "tests/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", + "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/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol", "is_dependency": false, "lines": [ 7, @@ -240,9 +240,9 @@ } } ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol#L161-L163", + "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", diff --git a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol diff --git a/tests/detectors/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 similarity index 90% rename from tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol.0.6.11.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol.0.6.11.DomainSeparatorCollision.json index 8bbb29bb9e..2442f6191d 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 5248, "length": 150, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol", + "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol", "is_dependency": false, "lines": [ 161, @@ -27,9 +27,9 @@ "source_mapping": { "start": 449, "length": 6188, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol", + "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol", "is_dependency": false, "lines": [ 7, @@ -240,9 +240,9 @@ } } ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.6.11/permit_domain_collision.sol#L161-L163", + "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", diff --git a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol diff --git a/tests/detectors/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 similarity index 89% rename from tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol.0.6.11.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol.0.6.11.DomainSeparatorCollision.json index ace6f711aa..c875e2aea1 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1735, "length": 24, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", + "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/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", "is_dependency": false, "lines": [ 46 @@ -25,9 +25,9 @@ "source_mapping": { "start": 449, "length": 6061, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", + "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/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol", "is_dependency": false, "lines": [ 7, @@ -235,9 +235,9 @@ } } ], - "description": "The function signature of ERC20.fopwCDKKK (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol#L46", + "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", diff --git a/tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol diff --git a/tests/detectors/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 similarity index 89% rename from tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol.0.6.11.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol.0.6.11.DomainSeparatorCollision.json index 7da702ba42..691c07d652 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 5255, "length": 90, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", + "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/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", "is_dependency": false, "lines": [ 161, @@ -27,9 +27,9 @@ "source_mapping": { "start": 449, "length": 6135, - "filename_relative": "tests/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", + "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/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol", "is_dependency": false, "lines": [ 7, @@ -240,9 +240,9 @@ } } ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol#L161-L163", + "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", diff --git a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol diff --git a/tests/detectors/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 similarity index 90% rename from tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol.0.7.6.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol.0.7.6.DomainSeparatorCollision.json index 6f42fc7a66..5d594c2a40 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 5248, "length": 150, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol", + "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol", "is_dependency": false, "lines": [ 161, @@ -27,9 +27,9 @@ "source_mapping": { "start": 449, "length": 6188, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol", + "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol", "is_dependency": false, "lines": [ 7, @@ -240,9 +240,9 @@ } } ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.7.6/permit_domain_collision.sol#L161-L163", + "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", diff --git a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol diff --git a/tests/detectors/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 similarity index 89% rename from tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol.0.7.6.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol.0.7.6.DomainSeparatorCollision.json index 9c246aca11..8574e46192 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1735, "length": 24, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", + "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/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", "is_dependency": false, "lines": [ 46 @@ -25,9 +25,9 @@ "source_mapping": { "start": 449, "length": 6061, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", + "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/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol", "is_dependency": false, "lines": [ 7, @@ -235,9 +235,9 @@ } } ], - "description": "The function signature of ERC20.fopwCDKKK (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol#L46", + "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", diff --git a/tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol diff --git a/tests/detectors/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 similarity index 89% rename from tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol.0.7.6.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol.0.7.6.DomainSeparatorCollision.json index 957ae19209..5d9a120c9a 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 5248, "length": 90, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", + "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/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", "is_dependency": false, "lines": [ 161, @@ -27,9 +27,9 @@ "source_mapping": { "start": 449, "length": 6128, - "filename_relative": "tests/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", + "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/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol", "is_dependency": false, "lines": [ 7, @@ -240,9 +240,9 @@ } } ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol#L161-L163", + "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", diff --git a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol diff --git a/tests/detectors/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 similarity index 90% rename from tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol.0.8.0.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol.0.8.0.DomainSeparatorCollision.json index 5d6f68aa9a..14fe7a3fcd 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 5295, "length": 170, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol", + "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol", "is_dependency": false, "lines": [ 161, @@ -27,9 +27,9 @@ "source_mapping": { "start": 449, "length": 6323, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol", + "filename_relative": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol", "is_dependency": false, "lines": [ 7, @@ -240,9 +240,9 @@ } } ], - "description": "The function signature of ERC20.fopwCDKKK() (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.8.0/permit_domain_collision.sol#L161-L163", + "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", diff --git a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol diff --git a/tests/detectors/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 similarity index 89% rename from tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol.0.8.0.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol.0.8.0.DomainSeparatorCollision.json index dc39ccea96..8842da5b0f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1735, "length": 24, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", + "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/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", "is_dependency": false, "lines": [ 46 @@ -25,9 +25,9 @@ "source_mapping": { "start": 449, "length": 6061, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", + "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/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol", "is_dependency": false, "lines": [ 7, @@ -235,9 +235,9 @@ } } ], - "description": "The function signature of ERC20.fopwCDKKK (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol#L46", + "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", diff --git a/tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol b/tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol similarity index 100% rename from tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol rename to tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol diff --git a/tests/detectors/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 similarity index 89% rename from tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol.0.8.0.DomainSeparatorCollision.json rename to tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol.0.8.0.DomainSeparatorCollision.json index c224777b62..6a6f7623c1 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 5248, "length": 90, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", + "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/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", "is_dependency": false, "lines": [ 161, @@ -27,9 +27,9 @@ "source_mapping": { "start": 449, "length": 6128, - "filename_relative": "tests/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", + "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/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", + "filename_short": "tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol", "is_dependency": false, "lines": [ 7, @@ -240,9 +240,9 @@ } } ], - "description": "The function signature of ERC20.DOMAIN_SEPARATOR() (tests/detectors/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/detectors/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/detectors/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol#L161-L163", + "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", diff --git a/tests/detectors/enum-conversion/0.4.2/enum_conversion.sol b/tests/e2e/detectors/test_data/enum-conversion/0.4.2/enum_conversion.sol similarity index 100% rename from tests/detectors/enum-conversion/0.4.2/enum_conversion.sol rename to tests/e2e/detectors/test_data/enum-conversion/0.4.2/enum_conversion.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/enum-conversion/0.4.2/enum_conversion.sol.0.4.2.EnumConversion.json rename to tests/e2e/detectors/test_data/enum-conversion/0.4.2/enum_conversion.sol.0.4.2.EnumConversion.json diff --git a/tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol b/tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol similarity index 100% rename from tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol rename to tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol diff --git a/tests/detectors/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 similarity index 72% rename from tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json rename to tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol.0.4.25.UnindexedERC20EventParameters.json index ab87426184..d53fd0cb2d 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1090, "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "is_dependency": false, "lines": [ 19 @@ -25,9 +25,9 @@ "source_mapping": { "start": 622, "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -52,9 +52,9 @@ } } ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19", + "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", @@ -68,9 +68,9 @@ "source_mapping": { "start": 1148, "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "is_dependency": false, "lines": [ 20 @@ -85,9 +85,9 @@ "source_mapping": { "start": 622, "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -112,9 +112,9 @@ } } ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20", + "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", @@ -128,9 +128,9 @@ "source_mapping": { "start": 1090, "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "is_dependency": false, "lines": [ 19 @@ -145,9 +145,9 @@ "source_mapping": { "start": 622, "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -172,9 +172,9 @@ } } ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L19", + "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", @@ -188,9 +188,9 @@ "source_mapping": { "start": 1148, "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "is_dependency": false, "lines": [ 20 @@ -205,9 +205,9 @@ "source_mapping": { "start": 622, "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -232,9 +232,9 @@ } } ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.4.25/erc20_indexed.sol#L20", + "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", diff --git a/tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol b/tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol similarity index 100% rename from tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol rename to tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol diff --git a/tests/detectors/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 similarity index 72% rename from tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json rename to tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol.0.5.16.UnindexedERC20EventParameters.json index 184c71ba93..00426cbf49 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1090, "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "is_dependency": false, "lines": [ 19 @@ -25,9 +25,9 @@ "source_mapping": { "start": 622, "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -52,9 +52,9 @@ } } ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19", + "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", @@ -68,9 +68,9 @@ "source_mapping": { "start": 1148, "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "is_dependency": false, "lines": [ 20 @@ -85,9 +85,9 @@ "source_mapping": { "start": 622, "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -112,9 +112,9 @@ } } ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20", + "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", @@ -128,9 +128,9 @@ "source_mapping": { "start": 1090, "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "is_dependency": false, "lines": [ 19 @@ -145,9 +145,9 @@ "source_mapping": { "start": 622, "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -172,9 +172,9 @@ } } ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L19", + "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", @@ -188,9 +188,9 @@ "source_mapping": { "start": 1148, "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "is_dependency": false, "lines": [ 20 @@ -205,9 +205,9 @@ "source_mapping": { "start": 622, "length": 587, - "filename_relative": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -232,9 +232,9 @@ } } ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.5.16/erc20_indexed.sol#L20", + "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", diff --git a/tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol b/tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol similarity index 100% rename from tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol rename to tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol diff --git a/tests/detectors/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 similarity index 72% rename from tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json rename to tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol.0.6.11.UnindexedERC20EventParameters.json index 9be5839018..c1a9800af2 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1204, "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "is_dependency": false, "lines": [ 19 @@ -25,9 +25,9 @@ "source_mapping": { "start": 679, "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -52,9 +52,9 @@ } } ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19", + "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", @@ -68,9 +68,9 @@ "source_mapping": { "start": 1262, "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "is_dependency": false, "lines": [ 20 @@ -85,9 +85,9 @@ "source_mapping": { "start": 679, "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -112,9 +112,9 @@ } } ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20", + "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", @@ -128,9 +128,9 @@ "source_mapping": { "start": 1204, "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "is_dependency": false, "lines": [ 19 @@ -145,9 +145,9 @@ "source_mapping": { "start": 679, "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -172,9 +172,9 @@ } } ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L19", + "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", @@ -188,9 +188,9 @@ "source_mapping": { "start": 1262, "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "is_dependency": false, "lines": [ 20 @@ -205,9 +205,9 @@ "source_mapping": { "start": 679, "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -232,9 +232,9 @@ } } ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.6.11/erc20_indexed.sol#L20", + "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", diff --git a/tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol b/tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol similarity index 100% rename from tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol rename to tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol diff --git a/tests/detectors/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 similarity index 72% rename from tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json rename to tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol.0.7.6.UnindexedERC20EventParameters.json index 61cc141726..8b9bcb4a47 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1204, "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "is_dependency": false, "lines": [ 19 @@ -25,9 +25,9 @@ "source_mapping": { "start": 679, "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -52,9 +52,9 @@ } } ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter to\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19)does not index parameter to\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19", + "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", @@ -68,9 +68,9 @@ "source_mapping": { "start": 1262, "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "is_dependency": false, "lines": [ 20 @@ -85,9 +85,9 @@ "source_mapping": { "start": 679, "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -112,9 +112,9 @@ } } ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter owner\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20)does not index parameter owner\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20", + "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", @@ -128,9 +128,9 @@ "source_mapping": { "start": 1204, "length": 53, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "is_dependency": false, "lines": [ 19 @@ -145,9 +145,9 @@ "source_mapping": { "start": 679, "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -172,9 +172,9 @@ } } ], - "description": "ERC20 event IERC20BadTransfer(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#19)does not index parameter from\n", - "markdown": "ERC20 event [IERC20BadTransfer(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19)does not index parameter from\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L19", + "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", @@ -188,9 +188,9 @@ "source_mapping": { "start": 1262, "length": 59, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "is_dependency": false, "lines": [ 20 @@ -205,9 +205,9 @@ "source_mapping": { "start": 679, "length": 644, - "filename_relative": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol", "is_dependency": false, "lines": [ 12, @@ -232,9 +232,9 @@ } } ], - "description": "ERC20 event IERC20BadApproval(address,address,uint256) (tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#20)does not index parameter spender\n", - "markdown": "ERC20 event [IERC20BadApproval(address,address,uint256)](tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20)does not index parameter spender\n", - "first_markdown_element": "tests/detectors/erc20-indexed/0.7.6/erc20_indexed.sol#L20", + "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", diff --git a/tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol b/tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol similarity index 100% rename from tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol rename to tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol diff --git a/tests/detectors/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 similarity index 63% rename from tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json rename to tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol.0.4.25.IncorrectERC20InterfaceDetection.json index 8984310839..273a00557e 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -32,9 +32,9 @@ "source_mapping": { "start": 102, "length": 55, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 5 @@ -49,9 +49,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -71,9 +71,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -87,9 +87,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -111,9 +111,9 @@ "source_mapping": { "start": 319, "length": 60, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 9 @@ -128,9 +128,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -150,9 +150,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -166,9 +166,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -190,9 +190,9 @@ "source_mapping": { "start": 273, "length": 41, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 8 @@ -207,9 +207,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -229,9 +229,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -245,9 +245,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -269,9 +269,9 @@ "source_mapping": { "start": 162, "length": 69, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 6 @@ -286,9 +286,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -308,9 +308,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -324,9 +324,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -348,9 +348,9 @@ "source_mapping": { "start": 236, "length": 32, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 7 @@ -365,9 +365,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -387,9 +387,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -403,9 +403,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -427,9 +427,9 @@ "source_mapping": { "start": 46, "length": 51, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 4 @@ -444,9 +444,9 @@ "source_mapping": { "start": 26, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -466,9 +466,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.4.25/incorrect_erc20_interface.sol#L3-L10", + "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", diff --git a/tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol b/tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol similarity index 100% rename from tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol rename to tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol diff --git a/tests/detectors/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 similarity index 63% rename from tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json rename to tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol.0.5.16.IncorrectERC20InterfaceDetection.json index d5cfab1195..5a0d705e1f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -32,9 +32,9 @@ "source_mapping": { "start": 105, "length": 55, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 5 @@ -49,9 +49,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -71,9 +71,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -87,9 +87,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -111,9 +111,9 @@ "source_mapping": { "start": 322, "length": 60, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 9 @@ -128,9 +128,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -150,9 +150,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -166,9 +166,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -190,9 +190,9 @@ "source_mapping": { "start": 276, "length": 41, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 8 @@ -207,9 +207,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -229,9 +229,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -245,9 +245,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -269,9 +269,9 @@ "source_mapping": { "start": 165, "length": 69, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 6 @@ -286,9 +286,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -308,9 +308,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -324,9 +324,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -348,9 +348,9 @@ "source_mapping": { "start": 239, "length": 32, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 7 @@ -365,9 +365,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -387,9 +387,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -403,9 +403,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -427,9 +427,9 @@ "source_mapping": { "start": 49, "length": 51, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 4 @@ -444,9 +444,9 @@ "source_mapping": { "start": 29, "length": 355, - "filename_relative": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -466,9 +466,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.5.16/incorrect_erc20_interface.sol#L3-L10", + "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", diff --git a/tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol b/tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol similarity index 100% rename from tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol rename to tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol diff --git a/tests/detectors/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 similarity index 63% rename from tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json rename to tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol.0.6.11.IncorrectERC20InterfaceDetection.json index 0c944d7c17..d72d672405 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -32,9 +32,9 @@ "source_mapping": { "start": 122, "length": 63, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 5 @@ -49,9 +49,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -71,9 +71,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -87,9 +87,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -111,9 +111,9 @@ "source_mapping": { "start": 371, "length": 68, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 9 @@ -128,9 +128,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -150,9 +150,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -166,9 +166,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -190,9 +190,9 @@ "source_mapping": { "start": 317, "length": 49, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 8 @@ -207,9 +207,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -229,9 +229,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -245,9 +245,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -269,9 +269,9 @@ "source_mapping": { "start": 190, "length": 77, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 6 @@ -286,9 +286,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -308,9 +308,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -324,9 +324,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -348,9 +348,9 @@ "source_mapping": { "start": 272, "length": 40, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 7 @@ -365,9 +365,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -387,9 +387,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -403,9 +403,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -427,9 +427,9 @@ "source_mapping": { "start": 58, "length": 59, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 4 @@ -444,9 +444,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -466,9 +466,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.6.11/incorrect_erc20_interface.sol#L3-L10", + "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", diff --git a/tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol b/tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol similarity index 100% rename from tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol rename to tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol diff --git a/tests/detectors/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 similarity index 64% rename from tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json rename to tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol.0.7.6.IncorrectERC20InterfaceDetection.json index d00cedbdfc..667be6e4d3 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -32,9 +32,9 @@ "source_mapping": { "start": 122, "length": 63, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 5 @@ -49,9 +49,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -71,9 +71,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.approve(address,uint256) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#5)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.approve(address,uint256)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L5)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -87,9 +87,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -111,9 +111,9 @@ "source_mapping": { "start": 371, "length": 68, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 9 @@ -128,9 +128,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -150,9 +150,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.allowance(address,address) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.allowance(address,address)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -166,9 +166,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -190,9 +190,9 @@ "source_mapping": { "start": 317, "length": 49, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 8 @@ -207,9 +207,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -229,9 +229,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.balanceOf(address) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.balanceOf(address)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -245,9 +245,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -269,9 +269,9 @@ "source_mapping": { "start": 190, "length": 77, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 6 @@ -286,9 +286,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -308,9 +308,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#6)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L6)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -324,9 +324,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -348,9 +348,9 @@ "source_mapping": { "start": 272, "length": 40, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 7 @@ -365,9 +365,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -387,9 +387,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.totalSupply() (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.totalSupply()](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", + "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", @@ -403,9 +403,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -427,9 +427,9 @@ "source_mapping": { "start": 58, "length": 59, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 4 @@ -444,9 +444,9 @@ "source_mapping": { "start": 29, "length": 412, - "filename_relative": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol", "is_dependency": false, "lines": [ 3, @@ -466,9 +466,9 @@ } } ], - "description": "Token (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#3-10) has incorrect ERC20 function interface:Token.transfer(address,uint256) (tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10) has incorrect ERC20 function interface:[Token.transfer(address,uint256)](tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc20-interface/0.7.6/incorrect_erc20_interface.sol#L3-L10", + "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", diff --git a/tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol b/tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol similarity index 100% rename from tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol rename to tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol diff --git a/tests/detectors/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 similarity index 65% rename from tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json rename to tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol.0.4.25.IncorrectERC721InterfaceDetection.json index e4f9c45c3a..46f8c4e16d 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -35,9 +35,9 @@ "source_mapping": { "start": 723, "length": 48, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 14 @@ -52,9 +52,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -77,9 +77,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -93,9 +93,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -120,9 +120,9 @@ "source_mapping": { "start": 549, "length": 78, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 12 @@ -137,9 +137,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -162,9 +162,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -178,9 +178,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -205,9 +205,9 @@ "source_mapping": { "start": 351, "length": 96, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 10 @@ -222,9 +222,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -247,9 +247,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -263,9 +263,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -290,9 +290,9 @@ "source_mapping": { "start": 140, "length": 44, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 7 @@ -307,9 +307,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -332,9 +332,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -348,9 +348,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -375,9 +375,9 @@ "source_mapping": { "start": 189, "length": 44, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 8 @@ -392,9 +392,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -417,9 +417,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -433,9 +433,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -460,9 +460,9 @@ "source_mapping": { "start": 452, "length": 92, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 11 @@ -477,9 +477,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -502,9 +502,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -518,9 +518,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -545,9 +545,9 @@ "source_mapping": { "start": 50, "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 4 @@ -562,9 +562,9 @@ "source_mapping": { "start": 26, "length": 82, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 3, @@ -579,9 +579,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -595,9 +595,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -622,9 +622,9 @@ "source_mapping": { "start": 632, "length": 86, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 13 @@ -639,9 +639,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -664,9 +664,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -680,9 +680,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -707,9 +707,9 @@ "source_mapping": { "start": 238, "length": 108, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 9 @@ -724,9 +724,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -749,9 +749,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -765,9 +765,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -792,9 +792,9 @@ "source_mapping": { "start": 776, "length": 70, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 15 @@ -809,9 +809,9 @@ "source_mapping": { "start": 109, "length": 739, - "filename_relative": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -834,9 +834,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.4.25/incorrect_erc721_interface.sol#L6-L16", + "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", diff --git a/tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol b/tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol similarity index 100% rename from tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol rename to tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol diff --git a/tests/detectors/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 similarity index 65% rename from tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json rename to tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol.0.5.16.IncorrectERC721InterfaceDetection.json index 2398134828..d8c39db5b3 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -35,9 +35,9 @@ "source_mapping": { "start": 735, "length": 48, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 14 @@ -52,9 +52,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -77,9 +77,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -93,9 +93,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -120,9 +120,9 @@ "source_mapping": { "start": 561, "length": 78, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 12 @@ -137,9 +137,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -162,9 +162,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -178,9 +178,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -205,9 +205,9 @@ "source_mapping": { "start": 363, "length": 96, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 10 @@ -222,9 +222,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -247,9 +247,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -263,9 +263,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -290,9 +290,9 @@ "source_mapping": { "start": 143, "length": 44, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 7 @@ -307,9 +307,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -332,9 +332,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -348,9 +348,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -375,9 +375,9 @@ "source_mapping": { "start": 192, "length": 44, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 8 @@ -392,9 +392,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -417,9 +417,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -433,9 +433,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -460,9 +460,9 @@ "source_mapping": { "start": 464, "length": 92, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 11 @@ -477,9 +477,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -502,9 +502,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -518,9 +518,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -545,9 +545,9 @@ "source_mapping": { "start": 53, "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 4 @@ -562,9 +562,9 @@ "source_mapping": { "start": 29, "length": 82, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 3, @@ -579,9 +579,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -595,9 +595,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -622,9 +622,9 @@ "source_mapping": { "start": 644, "length": 86, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 13 @@ -639,9 +639,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -664,9 +664,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -680,9 +680,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -707,9 +707,9 @@ "source_mapping": { "start": 241, "length": 117, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 9 @@ -724,9 +724,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -749,9 +749,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -765,9 +765,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -792,9 +792,9 @@ "source_mapping": { "start": 788, "length": 70, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 15 @@ -809,9 +809,9 @@ "source_mapping": { "start": 112, "length": 748, - "filename_relative": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -834,9 +834,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.5.16/incorrect_erc721_interface.sol#L6-L16", + "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", diff --git a/tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol b/tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol similarity index 100% rename from tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol rename to tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol diff --git a/tests/detectors/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 similarity index 65% rename from tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json rename to tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol.0.6.11.IncorrectERC721InterfaceDetection.json index 1a35ecaec5..d4c53c8214 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -35,9 +35,9 @@ "source_mapping": { "start": 800, "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 14 @@ -52,9 +52,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -77,9 +77,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -93,9 +93,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -120,9 +120,9 @@ "source_mapping": { "start": 610, "length": 86, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 12 @@ -137,9 +137,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -162,9 +162,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -178,9 +178,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -205,9 +205,9 @@ "source_mapping": { "start": 396, "length": 104, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 10 @@ -222,9 +222,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -247,9 +247,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -263,9 +263,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -290,9 +290,9 @@ "source_mapping": { "start": 152, "length": 52, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 7 @@ -307,9 +307,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -332,9 +332,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -348,9 +348,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -375,9 +375,9 @@ "source_mapping": { "start": 209, "length": 52, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 8 @@ -392,9 +392,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -417,9 +417,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -433,9 +433,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -460,9 +460,9 @@ "source_mapping": { "start": 505, "length": 100, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 11 @@ -477,9 +477,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -502,9 +502,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -518,9 +518,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -545,9 +545,9 @@ "source_mapping": { "start": 53, "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 4 @@ -562,9 +562,9 @@ "source_mapping": { "start": 29, "length": 82, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 3, @@ -579,9 +579,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -595,9 +595,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -622,9 +622,9 @@ "source_mapping": { "start": 701, "length": 94, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 13 @@ -639,9 +639,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -664,9 +664,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -680,9 +680,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -707,9 +707,9 @@ "source_mapping": { "start": 266, "length": 125, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 9 @@ -724,9 +724,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -749,9 +749,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -765,9 +765,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -792,9 +792,9 @@ "source_mapping": { "start": 861, "length": 78, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 15 @@ -809,9 +809,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -834,9 +834,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.6.11/incorrect_erc721_interface.sol#L6-L16", + "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", diff --git a/tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol b/tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol similarity index 100% rename from tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol rename to tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol diff --git a/tests/detectors/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 similarity index 65% rename from tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json rename to tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol.0.7.6.IncorrectERC721InterfaceDetection.json index 56ed12359e..4e4e562abc 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -35,9 +35,9 @@ "source_mapping": { "start": 800, "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 14 @@ -52,9 +52,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -77,9 +77,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.getApproved(uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#14)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.getApproved(uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L14)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -93,9 +93,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -120,9 +120,9 @@ "source_mapping": { "start": 610, "length": 86, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 12 @@ -137,9 +137,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -162,9 +162,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.approve(address,uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#12)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.approve(address,uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L12)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -178,9 +178,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -205,9 +205,9 @@ "source_mapping": { "start": 396, "length": 104, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 10 @@ -222,9 +222,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -247,9 +247,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#10)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L10)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -263,9 +263,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -290,9 +290,9 @@ "source_mapping": { "start": 152, "length": 52, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 7 @@ -307,9 +307,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -332,9 +332,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.balanceOf(address) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#7)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.balanceOf(address)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L7)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -348,9 +348,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -375,9 +375,9 @@ "source_mapping": { "start": 209, "length": 52, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 8 @@ -392,9 +392,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -417,9 +417,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.ownerOf(uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#8)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.ownerOf(uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L8)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -433,9 +433,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -460,9 +460,9 @@ "source_mapping": { "start": 505, "length": 100, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 11 @@ -477,9 +477,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -502,9 +502,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.transferFrom(address,address,uint256) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#11)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.transferFrom(address,address,uint256)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L11)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -518,9 +518,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -545,9 +545,9 @@ "source_mapping": { "start": 53, "length": 56, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 4 @@ -562,9 +562,9 @@ "source_mapping": { "start": 29, "length": 82, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 3, @@ -579,9 +579,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:IERC165.supportsInterface(bytes4) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#4)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[IERC165.supportsInterface(bytes4)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L4)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -595,9 +595,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -622,9 +622,9 @@ "source_mapping": { "start": 701, "length": 94, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 13 @@ -639,9 +639,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -664,9 +664,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.setApprovalForAll(address,bool) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#13)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.setApprovalForAll(address,bool)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L13)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -680,9 +680,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -707,9 +707,9 @@ "source_mapping": { "start": 266, "length": 125, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 9 @@ -724,9 +724,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -749,9 +749,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.safeTransferFrom(address,address,uint256,bytes) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#9)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.safeTransferFrom(address,address,uint256,bytes)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L9)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", + "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", @@ -765,9 +765,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -792,9 +792,9 @@ "source_mapping": { "start": 861, "length": 78, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 15 @@ -809,9 +809,9 @@ "source_mapping": { "start": 112, "length": 829, - "filename_relative": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol", "is_dependency": false, "lines": [ 6, @@ -834,9 +834,9 @@ } } ], - "description": "Token (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#6-16) has incorrect ERC721 function interface:Token.isApprovedForAll(address,address) (tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#15)\n", - "markdown": "[Token](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16) has incorrect ERC721 function interface:[Token.isApprovedForAll(address,address)](tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L15)\n", - "first_markdown_element": "tests/detectors/erc721-interface/0.7.6/incorrect_erc721_interface.sol#L6-L16", + "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", diff --git a/tests/detectors/events-access/0.4.25/missing_events_access_control.sol b/tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol similarity index 100% rename from tests/detectors/events-access/0.4.25/missing_events_access_control.sol rename to tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json rename to tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol.0.4.25.MissingEventsAccessControl.json index e5ca217aa2..7e29266484 100644 --- a/tests/detectors/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 @@ -4,18 +4,19 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "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/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 15, - 16, - 17 + 23, + 24, + 25, + 26 ], "starting_column": 3, "ending_column": 4 @@ -27,9 +28,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -89,40 +90,41 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2(address)" } }, { "type": "node", - "name": "owner = msg.sender", + "name": "owner = newOwner", "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "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/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 16 + 25 ], "starting_column": 5, - "ending_column": 23 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "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/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 15, - 16, - 17 + 23, + 24, + 25, + 26 ], "starting_column": 3, "ending_column": 4 @@ -134,9 +136,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -196,16 +198,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2(address)" } } } } ], - "description": "Bug.bad0() (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L15-L17", - "id": "4d3c0f7336bc2f5248fb9488caa06bf496a1076398fca7a730a4e18ef9eedb23", + "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" @@ -214,19 +216,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "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/detectors/events-access/0.4.25/missing_events_access_control.sol", + "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 + 15, + 16, + 17 ], "starting_column": 3, "ending_column": 4 @@ -238,9 +239,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -300,41 +301,40 @@ "ending_column": 2 } }, - "signature": "bad2(address)" + "signature": "bad0()" } }, { "type": "node", - "name": "owner = newOwner", + "name": "owner = msg.sender", "source_mapping": { - "start": 552, - "length": 16, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "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/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 25 + 16 ], "starting_column": 5, - "ending_column": 21 + "ending_column": 23 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "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/detectors/events-access/0.4.25/missing_events_access_control.sol", + "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 + 15, + 16, + 17 ], "starting_column": 3, "ending_column": 4 @@ -346,9 +346,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -408,16 +408,16 @@ "ending_column": 2 } }, - "signature": "bad2(address)" + "signature": "bad0()" } } } } ], - "description": "Bug.bad2(address) (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L23-L26", - "id": "9411f6b4b3e6f3833a72789f341adf88796bcb58b4a12a47a6f7117746d09c53", + "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" @@ -430,9 +430,9 @@ "source_mapping": { "start": 364, "length": 90, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ 19, @@ -449,9 +449,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -520,9 +520,9 @@ "source_mapping": { "start": 421, "length": 16, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ 20 @@ -537,9 +537,9 @@ "source_mapping": { "start": 364, "length": 90, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ 19, @@ -556,9 +556,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -624,10 +624,10 @@ } } ], - "description": "Bug.bad1(address) (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.4.25/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/detectors/events-access/0.4.25/missing_events_access_control.sol#L19-L21", - "id": "b2bf34ab3d02054c5f803cd517689d1e3d055b46ca612b2457d845d8d4b94731", + "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" diff --git a/tests/detectors/events-access/0.5.16/missing_events_access_control.sol b/tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol similarity index 100% rename from tests/detectors/events-access/0.5.16/missing_events_access_control.sol rename to tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json rename to tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol.0.5.16.MissingEventsAccessControl.json index bb88b927a2..3341d0ab91 100644 --- a/tests/detectors/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 @@ -4,19 +4,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "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/detectors/events-access/0.5.16/missing_events_access_control.sol", + "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 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -28,9 +27,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -90,21 +89,21 @@ "ending_column": 2 } }, - "signature": "bad2(address)" + "signature": "bad1(address)" } }, { "type": "node", "name": "owner = newOwner", "source_mapping": { - "start": 552, + "start": 421, "length": 16, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 25 + 20 ], "starting_column": 5, "ending_column": 21 @@ -112,19 +111,18 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "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/detectors/events-access/0.5.16/missing_events_access_control.sol", + "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 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -136,9 +134,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -198,16 +196,16 @@ "ending_column": 2 } }, - "signature": "bad2(address)" + "signature": "bad1(address)" } } } } ], - "description": "Bug.bad2(address) (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L23-L26", - "id": "1562e590ef85efee605bdbf837a010ad06cdb04cec40ac4a7ca7c8cc25cf4161", + "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" @@ -220,9 +218,9 @@ "source_mapping": { "start": 284, "length": 76, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ 15, @@ -239,9 +237,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -310,9 +308,9 @@ "source_mapping": { "start": 325, "length": 18, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ 16 @@ -327,9 +325,9 @@ "source_mapping": { "start": 284, "length": 76, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ 15, @@ -346,9 +344,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -414,10 +412,10 @@ } } ], - "description": "Bug.bad0() (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L15-L17", - "id": "99e09713b41d4b164cc0f4a88f48e6d0bd94128636c57b1bee357ac1fda130d7", + "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" @@ -426,18 +424,19 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "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/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 23, + 24, + 25, + 26 ], "starting_column": 3, "ending_column": 4 @@ -449,9 +448,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -511,21 +510,21 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad2(address)" } }, { "type": "node", "name": "owner = newOwner", "source_mapping": { - "start": 421, + "start": 552, "length": 16, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 20 + 25 ], "starting_column": 5, "ending_column": 21 @@ -533,18 +532,19 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "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/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 23, + 24, + 25, + 26 ], "starting_column": 3, "ending_column": 4 @@ -556,9 +556,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -618,16 +618,16 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad2(address)" } } } } ], - "description": "Bug.bad1(address) (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.5.16/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/detectors/events-access/0.5.16/missing_events_access_control.sol#L19-L21", - "id": "a8b5423d1085668a105afd674978791ad0b57f1c9ab15b7db682c3dfac7a49b2", + "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" diff --git a/tests/detectors/events-access/0.6.11/missing_events_access_control.sol b/tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol similarity index 100% rename from tests/detectors/events-access/0.6.11/missing_events_access_control.sol rename to tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json rename to tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol.0.6.11.MissingEventsAccessControl.json index 120d1febf2..a06c7fbbed 100644 --- a/tests/detectors/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 @@ -4,18 +4,19 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "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/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 23, + 24, + 25, + 26 ], "starting_column": 3, "ending_column": 4 @@ -27,9 +28,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -89,21 +90,21 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad2(address)" } }, { "type": "node", "name": "owner = newOwner", "source_mapping": { - "start": 421, + "start": 552, "length": 16, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 20 + 25 ], "starting_column": 5, "ending_column": 21 @@ -111,18 +112,19 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "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/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 23, + 24, + 25, + 26 ], "starting_column": 3, "ending_column": 4 @@ -134,9 +136,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -196,16 +198,16 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad2(address)" } } } } ], - "description": "Bug.bad1(address) (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L19-L21", - "id": "7dd824ee9b2f6100abf2b1e95d84c1b1393a4ab27a06676b2a5d7da164788a00", + "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" @@ -214,18 +216,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "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/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 15, - 16, - 17 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -237,9 +239,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -299,40 +301,40 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1(address)" } }, { "type": "node", - "name": "owner = msg.sender", + "name": "owner = newOwner", "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "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/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 16 + 20 ], "starting_column": 5, - "ending_column": 23 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "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/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 15, - 16, - 17 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -344,9 +346,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -406,16 +408,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1(address)" } } } } ], - "description": "Bug.bad0() (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L15-L17", - "id": "81ef3707d2eed91cd30ba6e7368fa40206ec32eec757bb0af632c4b7885bd92c", + "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" @@ -424,19 +426,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "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/detectors/events-access/0.6.11/missing_events_access_control.sol", + "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 + 15, + 16, + 17 ], "starting_column": 3, "ending_column": 4 @@ -448,9 +449,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -510,41 +511,40 @@ "ending_column": 2 } }, - "signature": "bad2(address)" + "signature": "bad0()" } }, { "type": "node", - "name": "owner = newOwner", + "name": "owner = msg.sender", "source_mapping": { - "start": 552, - "length": 16, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "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/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 25 + 16 ], "starting_column": 5, - "ending_column": 21 + "ending_column": 23 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "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/detectors/events-access/0.6.11/missing_events_access_control.sol", + "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 + 15, + 16, + 17 ], "starting_column": 3, "ending_column": 4 @@ -556,9 +556,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -618,16 +618,16 @@ "ending_column": 2 } }, - "signature": "bad2(address)" + "signature": "bad0()" } } } } ], - "description": "Bug.bad2(address) (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.6.11/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/detectors/events-access/0.6.11/missing_events_access_control.sol#L23-L26", - "id": "a1b2818a2d7f222d9f8e8d8f7730fe9e8b24c9863637b9ecd2f395eb68fa3511", + "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" diff --git a/tests/detectors/events-access/0.7.6/missing_events_access_control.sol b/tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol similarity index 100% rename from tests/detectors/events-access/0.7.6/missing_events_access_control.sol rename to tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json rename to tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol.0.7.6.MissingEventsAccessControl.json index de5943bc7c..1d2ff91e48 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "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/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 15, - 16, - 17 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -89,40 +89,40 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1(address)" } }, { "type": "node", - "name": "owner = msg.sender", + "name": "owner = newOwner", "source_mapping": { - "start": 325, - "length": 18, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "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/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 16 + 20 ], "starting_column": 5, - "ending_column": 23 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 284, - "length": 76, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "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/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 15, - 16, - 17 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -134,9 +134,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -196,16 +196,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1(address)" } } } } ], - "description": "Bug.bad0() (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#15-17) should emit an event for: \n\t- owner = msg.sender (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#16) \n", - "markdown": "[Bug.bad0()](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L15-L17) should emit an event for: \n\t- [owner = msg.sender](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L16) \n", - "first_markdown_element": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L15-L17", - "id": "2fb533ae76197f4d08ef6a97b9f0ee983db552644ae44807c761889fc5a86c22", + "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" @@ -214,19 +214,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "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/detectors/events-access/0.7.6/missing_events_access_control.sol", + "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 + 15, + 16, + 17 ], "starting_column": 3, "ending_column": 4 @@ -238,9 +237,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -300,41 +299,40 @@ "ending_column": 2 } }, - "signature": "bad2(address)" + "signature": "bad0()" } }, { "type": "node", - "name": "owner = newOwner", + "name": "owner = msg.sender", "source_mapping": { - "start": 552, - "length": 16, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "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/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 25 + 16 ], "starting_column": 5, - "ending_column": 21 + "ending_column": 23 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 458, - "length": 127, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "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/detectors/events-access/0.7.6/missing_events_access_control.sol", + "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 + 15, + 16, + 17 ], "starting_column": 3, "ending_column": 4 @@ -346,9 +344,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -408,16 +406,16 @@ "ending_column": 2 } }, - "signature": "bad2(address)" + "signature": "bad0()" } } } } ], - "description": "Bug.bad2(address) (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#23-26) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#25) \n", - "markdown": "[Bug.bad2(address)](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L23-L26) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L25) \n", - "first_markdown_element": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L23-L26", - "id": "3b63f24bd57a54fab8af7d3292bd8444c3dc834bf43dfd96be0e06ca0027299c", + "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" @@ -426,18 +424,19 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "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/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 23, + 24, + 25, + 26 ], "starting_column": 3, "ending_column": 4 @@ -449,9 +448,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -511,21 +510,21 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad2(address)" } }, { "type": "node", "name": "owner = newOwner", "source_mapping": { - "start": 421, + "start": 552, "length": 16, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 20 + 25 ], "starting_column": 5, "ending_column": 21 @@ -533,18 +532,19 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 364, - "length": 90, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "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/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ - 19, - 20, - 21 + 23, + 24, + 25, + 26 ], "starting_column": 3, "ending_column": 4 @@ -556,9 +556,9 @@ "source_mapping": { "start": 0, "length": 1309, - "filename_relative": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol", + "filename_short": "tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol", "is_dependency": false, "lines": [ 1, @@ -618,16 +618,16 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad2(address)" } } } } ], - "description": "Bug.bad1(address) (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#19-21) should emit an event for: \n\t- owner = newOwner (tests/detectors/events-access/0.7.6/missing_events_access_control.sol#20) \n", - "markdown": "[Bug.bad1(address)](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L19-L21) should emit an event for: \n\t- [owner = newOwner](tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L20) \n", - "first_markdown_element": "tests/detectors/events-access/0.7.6/missing_events_access_control.sol#L19-L21", - "id": "d319284c1ad2023a792ace9e7b2371966f789c5acf5ab90b1cc5935060f855f0", + "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" diff --git a/tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol b/tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol similarity index 100% rename from tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol rename to tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol diff --git a/tests/detectors/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 similarity index 83% rename from tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json rename to tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol.0.4.25.MissingEventsArithmetic.json index bd4d36b89e..e0cb12afeb 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 22, - 23, - 24 + 30, + 31, + 32 ], "starting_column": 3, "ending_column": 4 @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -109,40 +109,40 @@ "ending_column": 2 } }, - "signature": "bad0(uint8)" + "signature": "bad1(int16)" } }, { "type": "node", - "name": "uprice8 = _price", + "name": "iprice16 = _price", "source_mapping": { - "start": 442, - "length": 16, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 23 + 31 ], "starting_column": 5, - "ending_column": 21 + "ending_column": 22 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 22, - 23, - 24 + 30, + 31, + 32 ], "starting_column": 3, "ending_column": 4 @@ -154,9 +154,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -236,16 +236,16 @@ "ending_column": 2 } }, - "signature": "bad0(uint8)" + "signature": "bad1(int16)" } } } } ], - "description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L22-L24", - "id": "5bdc3116ab3855778ce4857872000648491e61af71273e503cc9439c5e8740c1", + "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" @@ -254,18 +254,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 30, - 31, - 32 + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -277,9 +277,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -359,40 +359,40 @@ "ending_column": 2 } }, - "signature": "bad1(int16)" + "signature": "bad0(uint8)" } }, { "type": "node", - "name": "iprice16 = _price", + "name": "uprice8 = _price", "source_mapping": { - "start": 585, - "length": 17, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 31 + 23 ], "starting_column": 5, - "ending_column": 22 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 30, - 31, - 32 + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -404,9 +404,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -486,16 +486,16 @@ "ending_column": 2 } }, - "signature": "bad1(int16)" + "signature": "bad0(uint8)" } } } } ], - "description": "Bug.bad1(int16) (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/detectors/events-maths/0.4.25/missing_events_arithmetic.sol#L30-L32", - "id": "a8bc1236abe35dd73049b7e452352ea609772a11ca5cc92e0ee958ac94e5a577", + "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" diff --git a/tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol b/tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol similarity index 100% rename from tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol rename to tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol diff --git a/tests/detectors/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 similarity index 83% rename from tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json rename to tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol.0.5.16.MissingEventsArithmetic.json index 3f505d4281..1f7a2d8a77 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 22, - 23, - 24 + 30, + 31, + 32 ], "starting_column": 3, "ending_column": 4 @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -109,40 +109,40 @@ "ending_column": 2 } }, - "signature": "bad0(uint8)" + "signature": "bad1(int16)" } }, { "type": "node", - "name": "uprice8 = _price", + "name": "iprice16 = _price", "source_mapping": { - "start": 442, - "length": 16, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 23 + 31 ], "starting_column": 5, - "ending_column": 21 + "ending_column": 22 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 392, - "length": 71, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 22, - 23, - 24 + 30, + 31, + 32 ], "starting_column": 3, "ending_column": 4 @@ -154,9 +154,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -236,16 +236,16 @@ "ending_column": 2 } }, - "signature": "bad0(uint8)" + "signature": "bad1(int16)" } } } } ], - "description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L22-L24", - "id": "07662c5e48ff5320e1a777c6014a5c08a4afe75e11a9c5219acab83b345345d0", + "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" @@ -254,18 +254,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 30, - 31, - 32 + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -277,9 +277,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -359,40 +359,40 @@ "ending_column": 2 } }, - "signature": "bad1(int16)" + "signature": "bad0(uint8)" } }, { "type": "node", - "name": "iprice16 = _price", + "name": "uprice8 = _price", "source_mapping": { - "start": 585, - "length": 17, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 31 + 23 ], "starting_column": 5, - "ending_column": 22 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 535, - "length": 72, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "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/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ - 30, - 31, - 32 + 22, + 23, + 24 ], "starting_column": 3, "ending_column": 4 @@ -404,9 +404,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -486,16 +486,16 @@ "ending_column": 2 } }, - "signature": "bad1(int16)" + "signature": "bad0(uint8)" } } } } ], - "description": "Bug.bad1(int16) (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/detectors/events-maths/0.5.16/missing_events_arithmetic.sol#L30-L32", - "id": "57f7648cceb76092e0e6102aa9787e808eb435435277dbde46ef016eb1047aa6", + "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" diff --git a/tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol b/tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol similarity index 100% rename from tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol rename to tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol diff --git a/tests/detectors/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 similarity index 83% rename from tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json rename to tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol.0.6.11.MissingEventsArithmetic.json index 4a69b2ded4..8413238474 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 392, "length": 71, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 22, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -118,9 +118,9 @@ "source_mapping": { "start": 442, "length": 16, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 23 @@ -135,9 +135,9 @@ "source_mapping": { "start": 392, "length": 71, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 22, @@ -154,9 +154,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -242,10 +242,10 @@ } } ], - "description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L22-L24", - "id": "8939d396ba9831d820e0960a02ce00dcc748cf3c833cb57bec01898a8782ce10", + "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" @@ -258,9 +258,9 @@ "source_mapping": { "start": 535, "length": 72, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 30, @@ -277,9 +277,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -368,9 +368,9 @@ "source_mapping": { "start": 585, "length": 17, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 31 @@ -385,9 +385,9 @@ "source_mapping": { "start": 535, "length": 72, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 30, @@ -404,9 +404,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -492,10 +492,10 @@ } } ], - "description": "Bug.bad1(int16) (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/detectors/events-maths/0.6.11/missing_events_arithmetic.sol#L30-L32", - "id": "8cfd768ccce23b341e194537946d6ae90c8bbfb9ab94658a7044848969769e1a", + "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" diff --git a/tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol b/tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol similarity index 100% rename from tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol rename to tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol diff --git a/tests/detectors/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 similarity index 84% rename from tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json rename to tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol.0.7.6.MissingEventsArithmetic.json index d0a4c25d91..dd299c72ab 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 535, "length": 72, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 30, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -118,9 +118,9 @@ "source_mapping": { "start": 585, "length": 17, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 31 @@ -135,9 +135,9 @@ "source_mapping": { "start": 535, "length": 72, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 30, @@ -154,9 +154,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -242,10 +242,10 @@ } } ], - "description": "Bug.bad1(int16) (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#30-32) should emit an event for: \n\t- iprice16 = _price (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#31) \n", - "markdown": "[Bug.bad1(int16)](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L30-L32) should emit an event for: \n\t- [iprice16 = _price](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L31) \n", - "first_markdown_element": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L30-L32", - "id": "22cd7f2678dfbd4185d6254ad55b620bd3b20a406d88d9f53412ca97d9c3bf03", + "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" @@ -258,9 +258,9 @@ "source_mapping": { "start": 392, "length": 71, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 22, @@ -277,9 +277,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -368,9 +368,9 @@ "source_mapping": { "start": 442, "length": 16, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 23 @@ -385,9 +385,9 @@ "source_mapping": { "start": 392, "length": 71, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 22, @@ -404,9 +404,9 @@ "source_mapping": { "start": 0, "length": 1522, - "filename_relative": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_relative": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol", + "filename_short": "tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol", "is_dependency": false, "lines": [ 1, @@ -492,10 +492,10 @@ } } ], - "description": "Bug.bad0(uint8) (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#22-24) should emit an event for: \n\t- uprice8 = _price (tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#23) \n", - "markdown": "[Bug.bad0(uint8)](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L22-L24) should emit an event for: \n\t- [uprice8 = _price](tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L23) \n", - "first_markdown_element": "tests/detectors/events-maths/0.7.6/missing_events_arithmetic.sol#L22-L24", - "id": "833efa3b1dab85aef7a00a7bf77bfe290cb2933e11eed34150a1e54a9644a093", + "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" diff --git a/tests/detectors/external-function/0.4.25/external_function.sol b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol similarity index 100% rename from tests/detectors/external-function/0.4.25/external_function.sol rename to tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol.0.4.25.ExternalFunction.json diff --git a/tests/detectors/external-function/0.4.25/external_function_2.sol b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol similarity index 100% rename from tests/detectors/external-function/0.4.25/external_function_2.sol rename to tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/external-function/0.4.25/external_function_2.sol.0.4.25.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol.0.4.25.ExternalFunction.json diff --git a/tests/detectors/external-function/0.4.25/external_function_3.sol b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol similarity index 100% rename from tests/detectors/external-function/0.4.25/external_function_3.sol rename to tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/external-function/0.4.25/external_function_3.sol.0.4.25.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol.0.4.25.ExternalFunction.json index 951417beee..5931ffb80f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 239, "length": 43, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "is_dependency": false, "lines": [ 8 @@ -25,9 +25,9 @@ "source_mapping": { "start": 0, "length": 330, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "is_dependency": false, "lines": [ 1, @@ -51,9 +51,9 @@ } } ], - "description": "bad2(uint256[]) should be declared external:\n\t- Test.bad2(uint256[]) (tests/detectors/external-function/0.4.25/external_function_3.sol#8)\n", - "markdown": "bad2(uint256[]) should be declared external:\n\t- [Test.bad2(uint256[])](tests/detectors/external-function/0.4.25/external_function_3.sol#L8)\n", - "first_markdown_element": "tests/detectors/external-function/0.4.25/external_function_3.sol#L8", + "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", @@ -67,9 +67,9 @@ "source_mapping": { "start": 196, "length": 38, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "is_dependency": false, "lines": [ 7 @@ -84,9 +84,9 @@ "source_mapping": { "start": 0, "length": 330, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "is_dependency": false, "lines": [ 1, @@ -110,9 +110,9 @@ } } ], - "description": "bad(bytes) should be declared external:\n\t- Test.bad(bytes) (tests/detectors/external-function/0.4.25/external_function_3.sol#7)\n", - "markdown": "bad(bytes) should be declared external:\n\t- [Test.bad(bytes)](tests/detectors/external-function/0.4.25/external_function_3.sol#L7)\n", - "first_markdown_element": "tests/detectors/external-function/0.4.25/external_function_3.sol#L7", + "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", @@ -126,9 +126,9 @@ "source_mapping": { "start": 287, "length": 40, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "is_dependency": false, "lines": [ 9 @@ -143,9 +143,9 @@ "source_mapping": { "start": 0, "length": 330, - "filename_relative": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.4.25/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol", "is_dependency": false, "lines": [ 1, @@ -169,9 +169,9 @@ } } ], - "description": "bad3(string) should be declared external:\n\t- Test.bad3(string) (tests/detectors/external-function/0.4.25/external_function_3.sol#9)\n", - "markdown": "bad3(string) should be declared external:\n\t- [Test.bad3(string)](tests/detectors/external-function/0.4.25/external_function_3.sol#L9)\n", - "first_markdown_element": "tests/detectors/external-function/0.4.25/external_function_3.sol#L9", + "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", diff --git a/tests/detectors/external-function/0.4.25/external_function_import.sol b/tests/e2e/detectors/test_data/external-function/0.4.25/external_function_import.sol similarity index 100% rename from tests/detectors/external-function/0.4.25/external_function_import.sol rename to tests/e2e/detectors/test_data/external-function/0.4.25/external_function_import.sol diff --git a/tests/detectors/external-function/0.5.16/external_function.sol b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol similarity index 100% rename from tests/detectors/external-function/0.5.16/external_function.sol rename to tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol.0.5.16.ExternalFunction.json diff --git a/tests/detectors/external-function/0.5.16/external_function_2.sol b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol similarity index 100% rename from tests/detectors/external-function/0.5.16/external_function_2.sol rename to tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/external-function/0.5.16/external_function_2.sol.0.5.16.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol.0.5.16.ExternalFunction.json diff --git a/tests/detectors/external-function/0.5.16/external_function_3.sol b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol similarity index 100% rename from tests/detectors/external-function/0.5.16/external_function_3.sol rename to tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol diff --git a/tests/detectors/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 similarity index 68% rename from tests/detectors/external-function/0.5.16/external_function_3.sol.0.5.16.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol.0.5.16.ExternalFunction.json index edc1ad2e74..72a50312d0 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 524, "length": 40, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "is_dependency": false, "lines": [ 18 @@ -25,9 +25,9 @@ "source_mapping": { "start": 35, "length": 532, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "is_dependency": false, "lines": [ 3, @@ -58,9 +58,9 @@ } } ], - "description": "bad4(string) should be declared external:\n\t- Test.bad4(string) (tests/detectors/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/detectors/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/detectors/external-function/0.5.16/external_function_3.sol#L18", + "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", @@ -74,9 +74,9 @@ "source_mapping": { "start": 475, "length": 44, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "is_dependency": false, "lines": [ 17 @@ -91,9 +91,9 @@ "source_mapping": { "start": 35, "length": 532, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "is_dependency": false, "lines": [ 3, @@ -124,9 +124,9 @@ } } ], - "description": "bad3(Test.testStruct) should be declared external:\n\t- Test.bad3(Test.testStruct) (tests/detectors/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/detectors/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/detectors/external-function/0.5.16/external_function_3.sol#L17", + "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", @@ -140,9 +140,9 @@ "source_mapping": { "start": 427, "length": 43, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "is_dependency": false, "lines": [ 16 @@ -157,9 +157,9 @@ "source_mapping": { "start": 35, "length": 532, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "is_dependency": false, "lines": [ 3, @@ -190,9 +190,9 @@ } } ], - "description": "bad2(uint256[]) should be declared external:\n\t- Test.bad2(uint256[]) (tests/detectors/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/detectors/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/detectors/external-function/0.5.16/external_function_3.sol#L16", + "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", @@ -206,9 +206,9 @@ "source_mapping": { "start": 384, "length": 38, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "is_dependency": false, "lines": [ 15 @@ -223,9 +223,9 @@ "source_mapping": { "start": 35, "length": 532, - "filename_relative": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_relative": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/external-function/0.5.16/external_function_3.sol", + "filename_short": "tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol", "is_dependency": false, "lines": [ 3, @@ -256,9 +256,9 @@ } } ], - "description": "bad(bytes) should be declared external:\n\t- Test.bad(bytes) (tests/detectors/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/detectors/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/detectors/external-function/0.5.16/external_function_3.sol#L15", + "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", diff --git a/tests/detectors/external-function/0.5.16/external_function_import.sol b/tests/e2e/detectors/test_data/external-function/0.5.16/external_function_import.sol similarity index 100% rename from tests/detectors/external-function/0.5.16/external_function_import.sol rename to tests/e2e/detectors/test_data/external-function/0.5.16/external_function_import.sol diff --git a/tests/detectors/external-function/0.6.11/external_function.sol b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol similarity index 100% rename from tests/detectors/external-function/0.6.11/external_function.sol rename to tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol.0.6.11.ExternalFunction.json diff --git a/tests/detectors/external-function/0.6.11/external_function_2.sol b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol similarity index 100% rename from tests/detectors/external-function/0.6.11/external_function_2.sol rename to tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/external-function/0.6.11/external_function_2.sol.0.6.11.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol.0.6.11.ExternalFunction.json diff --git a/tests/detectors/external-function/0.6.11/external_function_3.sol b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol similarity index 100% rename from tests/detectors/external-function/0.6.11/external_function_3.sol rename to tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/external-function/0.6.11/external_function_3.sol.0.6.11.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol.0.6.11.ExternalFunction.json diff --git a/tests/detectors/external-function/0.6.11/external_function_import.sol b/tests/e2e/detectors/test_data/external-function/0.6.11/external_function_import.sol similarity index 100% rename from tests/detectors/external-function/0.6.11/external_function_import.sol rename to tests/e2e/detectors/test_data/external-function/0.6.11/external_function_import.sol diff --git a/tests/detectors/external-function/0.7.6/external_function.sol b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol similarity index 100% rename from tests/detectors/external-function/0.7.6/external_function.sol rename to tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol.0.7.6.ExternalFunction.json diff --git a/tests/detectors/external-function/0.7.6/external_function_2.sol b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol similarity index 100% rename from tests/detectors/external-function/0.7.6/external_function_2.sol rename to tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/external-function/0.7.6/external_function_2.sol.0.7.6.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol.0.7.6.ExternalFunction.json diff --git a/tests/detectors/external-function/0.7.6/external_function_3.sol b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol similarity index 100% rename from tests/detectors/external-function/0.7.6/external_function_3.sol rename to tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/external-function/0.7.6/external_function_3.sol.0.7.6.ExternalFunction.json rename to tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol.0.7.6.ExternalFunction.json diff --git a/tests/detectors/external-function/0.7.6/external_function_import.sol b/tests/e2e/detectors/test_data/external-function/0.7.6/external_function_import.sol similarity index 100% rename from tests/detectors/external-function/0.7.6/external_function_import.sol rename to tests/e2e/detectors/test_data/external-function/0.7.6/external_function_import.sol diff --git a/tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol b/tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol similarity index 100% rename from tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol rename to tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json rename to tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol.0.4.25.FunctionInitializedState.json index 88ad6f92d7..4a3e17170d 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 157, "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "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/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", "is_dependency": false, "lines": [ 5 @@ -25,9 +25,9 @@ "source_mapping": { "start": 116, "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "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/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -83,9 +83,9 @@ } } ], - "description": "StateVarInitFromFunction.v (tests/detectors/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/detectors/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/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L5", + "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", @@ -99,9 +99,9 @@ "source_mapping": { "start": 842, "length": 23, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "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/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", "is_dependency": false, "lines": [ 17 @@ -116,9 +116,9 @@ "source_mapping": { "start": 116, "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "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/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -174,9 +174,9 @@ } } ], - "description": "StateVarInitFromFunction.z4 (tests/detectors/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/detectors/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/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L17", + "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", @@ -190,9 +190,9 @@ "source_mapping": { "start": 268, "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "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/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", "is_dependency": false, "lines": [ 7 @@ -207,9 +207,9 @@ "source_mapping": { "start": 116, "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "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/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -265,9 +265,9 @@ } } ], - "description": "StateVarInitFromFunction.x (tests/detectors/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/detectors/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/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L7", + "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", @@ -281,9 +281,9 @@ "source_mapping": { "start": 357, "length": 26, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "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/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", "is_dependency": false, "lines": [ 9 @@ -298,9 +298,9 @@ "source_mapping": { "start": 116, "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "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/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -356,9 +356,9 @@ } } ], - "description": "StateVarInitFromFunction.y1 (tests/detectors/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/detectors/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/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L9", + "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", @@ -372,9 +372,9 @@ "source_mapping": { "start": 453, "length": 35, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "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/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", "is_dependency": false, "lines": [ 10 @@ -389,9 +389,9 @@ "source_mapping": { "start": 116, "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "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/detectors/function-init-state/0.4.25/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -447,9 +447,9 @@ } } ], - "description": "StateVarInitFromFunction.y2 (tests/detectors/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/detectors/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/detectors/function-init-state/0.4.25/function_init_state_variables.sol#L10", + "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", diff --git a/tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol b/tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol similarity index 100% rename from tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol rename to tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json rename to tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol.0.5.16.FunctionInitializedState.json index 382cafdf71..8c104cf5f1 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 157, "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "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/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", "is_dependency": false, "lines": [ 5 @@ -25,9 +25,9 @@ "source_mapping": { "start": 116, "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "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/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -83,9 +83,9 @@ } } ], - "description": "StateVarInitFromFunction.v (tests/detectors/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/detectors/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/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L5", + "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", @@ -99,9 +99,9 @@ "source_mapping": { "start": 842, "length": 23, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "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/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", "is_dependency": false, "lines": [ 17 @@ -116,9 +116,9 @@ "source_mapping": { "start": 116, "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "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/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -174,9 +174,9 @@ } } ], - "description": "StateVarInitFromFunction.z4 (tests/detectors/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/detectors/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/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L17", + "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", @@ -190,9 +190,9 @@ "source_mapping": { "start": 268, "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "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/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", "is_dependency": false, "lines": [ 7 @@ -207,9 +207,9 @@ "source_mapping": { "start": 116, "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "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/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -265,9 +265,9 @@ } } ], - "description": "StateVarInitFromFunction.x (tests/detectors/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/detectors/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/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L7", + "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", @@ -281,9 +281,9 @@ "source_mapping": { "start": 357, "length": 26, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "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/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", "is_dependency": false, "lines": [ 9 @@ -298,9 +298,9 @@ "source_mapping": { "start": 116, "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "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/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -356,9 +356,9 @@ } } ], - "description": "StateVarInitFromFunction.y1 (tests/detectors/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/detectors/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/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L9", + "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", @@ -372,9 +372,9 @@ "source_mapping": { "start": 453, "length": 35, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "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/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", "is_dependency": false, "lines": [ 10 @@ -389,9 +389,9 @@ "source_mapping": { "start": 116, "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "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/detectors/function-init-state/0.5.16/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -447,9 +447,9 @@ } } ], - "description": "StateVarInitFromFunction.y2 (tests/detectors/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/detectors/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/detectors/function-init-state/0.5.16/function_init_state_variables.sol#L10", + "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", diff --git a/tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol b/tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol similarity index 100% rename from tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol rename to tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json rename to tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol.0.6.11.FunctionInitializedState.json index dc689281d7..a974a1f733 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 157, "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "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/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", "is_dependency": false, "lines": [ 5 @@ -25,9 +25,9 @@ "source_mapping": { "start": 116, "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "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/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -83,9 +83,9 @@ } } ], - "description": "StateVarInitFromFunction.v (tests/detectors/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/detectors/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/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L5", + "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", @@ -99,9 +99,9 @@ "source_mapping": { "start": 842, "length": 23, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "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/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", "is_dependency": false, "lines": [ 17 @@ -116,9 +116,9 @@ "source_mapping": { "start": 116, "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "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/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -174,9 +174,9 @@ } } ], - "description": "StateVarInitFromFunction.z4 (tests/detectors/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/detectors/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/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L17", + "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", @@ -190,9 +190,9 @@ "source_mapping": { "start": 268, "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "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/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", "is_dependency": false, "lines": [ 7 @@ -207,9 +207,9 @@ "source_mapping": { "start": 116, "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "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/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -265,9 +265,9 @@ } } ], - "description": "StateVarInitFromFunction.x (tests/detectors/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/detectors/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/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L7", + "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", @@ -281,9 +281,9 @@ "source_mapping": { "start": 357, "length": 26, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "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/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", "is_dependency": false, "lines": [ 9 @@ -298,9 +298,9 @@ "source_mapping": { "start": 116, "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "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/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -356,9 +356,9 @@ } } ], - "description": "StateVarInitFromFunction.y1 (tests/detectors/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/detectors/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/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L9", + "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", @@ -372,9 +372,9 @@ "source_mapping": { "start": 453, "length": 35, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "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/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", "is_dependency": false, "lines": [ 10 @@ -389,9 +389,9 @@ "source_mapping": { "start": 116, "length": 1575, - "filename_relative": "tests/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "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/detectors/function-init-state/0.6.11/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -447,9 +447,9 @@ } } ], - "description": "StateVarInitFromFunction.y2 (tests/detectors/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/detectors/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/detectors/function-init-state/0.6.11/function_init_state_variables.sol#L10", + "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", diff --git a/tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol b/tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol similarity index 100% rename from tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol rename to tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json rename to tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol.0.7.6.FunctionInitializedState.json index abdcc87877..49d2b74ef8 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 157, "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "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/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", "is_dependency": false, "lines": [ 5 @@ -25,9 +25,9 @@ "source_mapping": { "start": 116, "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "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/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -83,9 +83,9 @@ } } ], - "description": "StateVarInitFromFunction.v (tests/detectors/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/detectors/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/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L5", + "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", @@ -99,9 +99,9 @@ "source_mapping": { "start": 842, "length": 23, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "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/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", "is_dependency": false, "lines": [ 17 @@ -116,9 +116,9 @@ "source_mapping": { "start": 116, "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "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/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -174,9 +174,9 @@ } } ], - "description": "StateVarInitFromFunction.z4 (tests/detectors/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/detectors/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/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L17", + "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", @@ -190,9 +190,9 @@ "source_mapping": { "start": 268, "length": 21, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "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/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", "is_dependency": false, "lines": [ 7 @@ -207,9 +207,9 @@ "source_mapping": { "start": 116, "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "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/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -265,9 +265,9 @@ } } ], - "description": "StateVarInitFromFunction.x (tests/detectors/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/detectors/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/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L7", + "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", @@ -281,9 +281,9 @@ "source_mapping": { "start": 357, "length": 26, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "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/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", "is_dependency": false, "lines": [ 9 @@ -298,9 +298,9 @@ "source_mapping": { "start": 116, "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "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/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -356,9 +356,9 @@ } } ], - "description": "StateVarInitFromFunction.y1 (tests/detectors/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/detectors/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/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L9", + "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", @@ -372,9 +372,9 @@ "source_mapping": { "start": 453, "length": 35, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "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/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", "is_dependency": false, "lines": [ 10 @@ -389,9 +389,9 @@ "source_mapping": { "start": 116, "length": 1567, - "filename_relative": "tests/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "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/detectors/function-init-state/0.7.6/function_init_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol", "is_dependency": false, "lines": [ 3, @@ -447,9 +447,9 @@ } } ], - "description": "StateVarInitFromFunction.y2 (tests/detectors/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/detectors/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/detectors/function-init-state/0.7.6/function_init_state_variables.sol#L10", + "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", diff --git a/tests/detectors/immutable-states/0.4.25/immut_state_variables.sol b/tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol similarity index 100% rename from tests/detectors/immutable-states/0.4.25/immut_state_variables.sol rename to tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/immutable-states/0.4.25/immut_state_variables.sol.0.4.25.CouldBeImmutable.json rename to tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol.0.4.25.CouldBeImmutable.json diff --git a/tests/detectors/immutable-states/0.5.16/immut_state_variables.sol b/tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol similarity index 100% rename from tests/detectors/immutable-states/0.5.16/immut_state_variables.sol rename to tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/immutable-states/0.5.16/immut_state_variables.sol.0.5.16.CouldBeImmutable.json rename to tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol.0.5.16.CouldBeImmutable.json diff --git a/tests/detectors/immutable-states/0.6.11/immut_state_variables.sol b/tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol similarity index 100% rename from tests/detectors/immutable-states/0.6.11/immut_state_variables.sol rename to tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/immutable-states/0.6.11/immut_state_variables.sol.0.6.11.CouldBeImmutable.json rename to tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol.0.6.11.CouldBeImmutable.json index 15064ca992..3c2d2fe8a3 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1077, "length": 26, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "is_dependency": false, "lines": [ 47 @@ -25,9 +25,9 @@ "source_mapping": { "start": 718, "length": 539, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -59,9 +59,9 @@ } } ], - "description": "Bad.should_be_immutable_5 (tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#47) should be immutable \n", - "markdown": "[Bad.should_be_immutable_5](tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L47) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L47", + "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", @@ -75,9 +75,9 @@ "source_mapping": { "start": 940, "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "is_dependency": false, "lines": [ 44 @@ -92,9 +92,9 @@ "source_mapping": { "start": 718, "length": 539, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -126,9 +126,9 @@ } } ], - "description": "Bad.should_be_immutable_2 (tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#44) should be immutable \n", - "markdown": "[Bad.should_be_immutable_2](tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L44) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L44", + "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", @@ -142,9 +142,9 @@ "source_mapping": { "start": 1038, "length": 33, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "is_dependency": false, "lines": [ 46 @@ -159,9 +159,9 @@ "source_mapping": { "start": 718, "length": 539, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -193,9 +193,9 @@ } } ], - "description": "Bad.should_be_immutable_4 (tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#46) should be immutable \n", - "markdown": "[Bad.should_be_immutable_4](tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L46) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L46", + "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", @@ -209,9 +209,9 @@ "source_mapping": { "start": 894, "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "is_dependency": false, "lines": [ 43 @@ -226,9 +226,9 @@ "source_mapping": { "start": 718, "length": 539, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -260,9 +260,9 @@ } } ], - "description": "Bad.should_be_immutable (tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#43) should be immutable \n", - "markdown": "[Bad.should_be_immutable](tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L43) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L43", + "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", @@ -276,9 +276,9 @@ "source_mapping": { "start": 986, "length": 46, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "is_dependency": false, "lines": [ 45 @@ -293,9 +293,9 @@ "source_mapping": { "start": 718, "length": 539, - "filename_relative": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -327,9 +327,9 @@ } } ], - "description": "Bad.should_be_immutable_3 (tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#45) should be immutable \n", - "markdown": "[Bad.should_be_immutable_3](tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L45) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.6.11/immut_state_variables.sol#L45", + "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", diff --git a/tests/detectors/immutable-states/0.7.6/immut_state_variables.sol b/tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol similarity index 100% rename from tests/detectors/immutable-states/0.7.6/immut_state_variables.sol rename to tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/immutable-states/0.7.6/immut_state_variables.sol.0.7.6.CouldBeImmutable.json rename to tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol.0.7.6.CouldBeImmutable.json index 40c8b13685..11cfe3e5eb 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1077, "length": 26, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "is_dependency": false, "lines": [ 47 @@ -25,9 +25,9 @@ "source_mapping": { "start": 718, "length": 531, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -58,9 +58,9 @@ } } ], - "description": "Bad.should_be_immutable_5 (tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#47) should be immutable \n", - "markdown": "[Bad.should_be_immutable_5](tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L47) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L47", + "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", @@ -74,9 +74,9 @@ "source_mapping": { "start": 940, "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "is_dependency": false, "lines": [ 44 @@ -91,9 +91,9 @@ "source_mapping": { "start": 718, "length": 531, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -124,9 +124,9 @@ } } ], - "description": "Bad.should_be_immutable_2 (tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#44) should be immutable \n", - "markdown": "[Bad.should_be_immutable_2](tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L44) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L44", + "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", @@ -140,9 +140,9 @@ "source_mapping": { "start": 1038, "length": 33, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "is_dependency": false, "lines": [ 46 @@ -157,9 +157,9 @@ "source_mapping": { "start": 718, "length": 531, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -190,9 +190,9 @@ } } ], - "description": "Bad.should_be_immutable_4 (tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#46) should be immutable \n", - "markdown": "[Bad.should_be_immutable_4](tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L46) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L46", + "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", @@ -206,9 +206,9 @@ "source_mapping": { "start": 894, "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "is_dependency": false, "lines": [ 43 @@ -223,9 +223,9 @@ "source_mapping": { "start": 718, "length": 531, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -256,9 +256,9 @@ } } ], - "description": "Bad.should_be_immutable (tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#43) should be immutable \n", - "markdown": "[Bad.should_be_immutable](tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L43) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L43", + "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", @@ -272,9 +272,9 @@ "source_mapping": { "start": 986, "length": 46, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "is_dependency": false, "lines": [ 45 @@ -289,9 +289,9 @@ "source_mapping": { "start": 718, "length": 531, - "filename_relative": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -322,9 +322,9 @@ } } ], - "description": "Bad.should_be_immutable_3 (tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#45) should be immutable \n", - "markdown": "[Bad.should_be_immutable_3](tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L45) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.7.6/immut_state_variables.sol#L45", + "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", diff --git a/tests/detectors/immutable-states/0.8.0/immut_state_variables.sol b/tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol similarity index 100% rename from tests/detectors/immutable-states/0.8.0/immut_state_variables.sol rename to tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/immutable-states/0.8.0/immut_state_variables.sol.0.8.0.CouldBeImmutable.json rename to tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol.0.8.0.CouldBeImmutable.json index 58d26f9bcf..31fd3b1be3 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1038, "length": 26, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "is_dependency": false, "lines": [ 46 @@ -25,9 +25,9 @@ "source_mapping": { "start": 718, "length": 577, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -60,9 +60,9 @@ } } ], - "description": "Bad.should_be_immutable_5 (tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#46) should be immutable \n", - "markdown": "[Bad.should_be_immutable_5](tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L46) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L46", + "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", @@ -76,9 +76,9 @@ "source_mapping": { "start": 940, "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "is_dependency": false, "lines": [ 44 @@ -93,9 +93,9 @@ "source_mapping": { "start": 718, "length": 577, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -128,9 +128,9 @@ } } ], - "description": "Bad.should_be_immutable_2 (tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#44) should be immutable \n", - "markdown": "[Bad.should_be_immutable_2](tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L44) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L44", + "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", @@ -144,9 +144,9 @@ "source_mapping": { "start": 894, "length": 40, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "is_dependency": false, "lines": [ 43 @@ -161,9 +161,9 @@ "source_mapping": { "start": 718, "length": 577, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -196,9 +196,9 @@ } } ], - "description": "Bad.should_be_immutable (tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#43) should be immutable \n", - "markdown": "[Bad.should_be_immutable](tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L43) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L43", + "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", @@ -212,9 +212,9 @@ "source_mapping": { "start": 986, "length": 46, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "is_dependency": false, "lines": [ 45 @@ -229,9 +229,9 @@ "source_mapping": { "start": 718, "length": 577, - "filename_relative": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol", "is_dependency": false, "lines": [ 37, @@ -264,9 +264,9 @@ } } ], - "description": "Bad.should_be_immutable_3 (tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#45) should be immutable \n", - "markdown": "[Bad.should_be_immutable_3](tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L45) should be immutable \n", - "first_markdown_element": "tests/detectors/immutable-states/0.8.0/immut_state_variables.sol#L45", + "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", diff --git a/tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol b/tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol similarity index 100% rename from tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol rename to tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol diff --git a/tests/detectors/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 similarity index 81% rename from tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json rename to tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol.0.4.25.IncorrectStrictEquality.json index 41b0206b77..fcf5e67b76 100644 --- a/tests/detectors/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 @@ -4,19 +4,19 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad3", "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 32, - 33, - 34, - 35 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -28,9 +28,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -106,41 +106,41 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad3()" } }, { "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", + "name": "require(bool)(10000000000000000000 == address(this).balance)", "source_mapping": { - "start": 683, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 33 + 48 ], "starting_column": 9, - "ending_column": 60 + "ending_column": 51 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad3", "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 32, - 33, - 34, - 35 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -152,9 +152,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -230,16 +230,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad3()" } } } } ], - "description": "TestContractBalance.bad0() (tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L32-L35", - "id": "126f956451cb4dcbdac6edb66148b23eabc789962d4fa3a8bd22a682c6c5bfd4", + "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" @@ -248,21 +248,19 @@ "elements": [ { "type": "function", - "name": "bad6", + "name": "bad1", "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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 + 37, + 38, + 39, + 40 ], "starting_column": 5, "ending_column": 6 @@ -274,9 +272,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -352,43 +350,41 @@ "ending_column": 2 } }, - "signature": "bad6()" + "signature": "bad1()" } }, { "type": "node", - "name": "balance == 10000000000000000000", + "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", "source_mapping": { - "start": 1635, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 68 + 38 ], - "starting_column": 13, - "ending_column": 32 + "starting_column": 9, + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad6", + "name": "bad1", "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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 + 37, + 38, + 39, + 40 ], "starting_column": 5, "ending_column": 6 @@ -400,9 +396,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -478,16 +474,16 @@ "ending_column": 2 } }, - "signature": "bad6()" + "signature": "bad1()" } } } } ], - "description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L66-L71", - "id": "2cc246058513fdfe2178c6e9b552bcae42d3c29bc104c3b95734323aeda57396", + "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" @@ -496,21 +492,18 @@ "elements": [ { "type": "function", - "name": "bad5", + "name": "bad1", "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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 + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -518,125 +511,73 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestContractBalance", + "name": "ERC20TestBalance", "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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 + 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": "bad5()" + "signature": "bad1(ERC20Variable)" } }, { "type": "node", - "name": "10000000000000000000 == balance", + "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", "source_mapping": { - "start": 1450, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 61 + 26 ], - "starting_column": 13, - "ending_column": 32 + "starting_column": 9, + "ending_column": 48 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad1", "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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 + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -644,342 +585,49 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestContractBalance", + "name": "ERC20TestBalance", "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L59-L64", - "id": "781645f52e6eb4c7a0e38a58537907a6421ded2703ae8b18be68251a02901e7a", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 1056, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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 + 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": "bad3()" + "signature": "bad1(ERC20Variable)" } } } } ], - "description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L47-L50", - "id": "8f08cca8ee4d2d51c2bf5717f78aa1dd13c6499e430a43b89e5309f20920b11d", + "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" @@ -988,18 +636,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 131, - 132, - 133 + 123, + 124, + 125 ], "starting_column": 5, "ending_column": 6 @@ -1011,9 +659,9 @@ "source_mapping": { "start": 2368, "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -1058,40 +706,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad0()" } }, { "type": "node", - "name": "require(bool)(block.number == 0)", + "name": "require(bool)(now == 0)", "source_mapping": { - "start": 3106, - "length": 26, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 132 + 124 ], "starting_column": 9, - "ending_column": 35 + "ending_column": 27 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 131, - 132, - 133 + 123, + 124, + 125 ], "starting_column": 5, "ending_column": 6 @@ -1103,9 +751,9 @@ "source_mapping": { "start": 2368, "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -1150,16 +798,264 @@ "ending_column": 2 } }, - "signature": "bad2()" + "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": "TestSolidityKeyword.bad2() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L131-L133", - "id": "a65d9228ffbebf6de7f455df00a0de91ee0e23c7f13a306bdc90e16e69a043b3", + "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" @@ -1168,18 +1064,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 511, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 25, - 26, - 27 + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -1191,9 +1087,9 @@ "source_mapping": { "start": 165, "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 10, @@ -1220,40 +1116,40 @@ "ending_column": 2 } }, - "signature": "bad1(ERC20Variable)" + "signature": "bad0(ERC20Function)" } }, { "type": "node", - "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", + "name": "require(bool)(erc.balanceOf(address(this)) == 10)", "source_mapping": { - "start": 562, - "length": 39, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 26 + 22 ], "starting_column": 9, - "ending_column": 48 + "ending_column": 52 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 511, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 25, - 26, - 27 + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -1265,9 +1161,9 @@ "source_mapping": { "start": 165, "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 10, @@ -1294,16 +1190,16 @@ "ending_column": 2 } }, - "signature": "bad1(ERC20Variable)" + "signature": "bad0(ERC20Function)" } } } } ], - "description": "ERC20TestBalance.bad1(ERC20Variable) (tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L25-L27", - "id": "a962a2c49344b2acce83236c339daa07cce98d240dd8869bb7d8c5e96d412ff0", + "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" @@ -1312,18 +1208,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 123, - 124, - 125 + 127, + 128, + 129 ], "starting_column": 5, "ending_column": 6 @@ -1335,9 +1231,9 @@ "source_mapping": { "start": 2368, "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -1382,40 +1278,253 @@ "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)(now == 0)", + "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", "source_mapping": { - "start": 2969, - "length": 18, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 124 + 33 ], "starting_column": 9, - "ending_column": 27 + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad0", "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 123, - 124, - 125 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -1423,52 +1532,83 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestSolidityKeyword", + "name": "TestContractBalance", "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 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 @@ -1480,10 +1620,10 @@ } } ], - "description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L123-L125", - "id": "abcb113fde0b01cb4a653968a235bf5f3ee70a6f97ae3fa68c3a161c8ca5f6b8", + "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" @@ -1492,19 +1632,21 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad5", "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 42, - 43, - 44, - 45 + 59, + 60, + 61, + 62, + 63, + 64 ], "starting_column": 5, "ending_column": 6 @@ -1516,9 +1658,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1594,41 +1736,43 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad5()" } }, { "type": "node", - "name": "require(bool)(address(this).balance == 10000000000000000000)", + "name": "10000000000000000000 == balance", "source_mapping": { - "start": 961, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 43 + 61 ], - "starting_column": 9, - "ending_column": 51 + "starting_column": 13, + "ending_column": 32 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad5", "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 42, - 43, - 44, - 45 + 59, + 60, + 61, + 62, + 63, + 64 ], "starting_column": 5, "ending_column": 6 @@ -1640,9 +1784,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1718,16 +1862,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad5()" } } } } ], - "description": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L42-L45", - "id": "b6c0963403d985cfcd3eda6d43bc2716eaebcd0d936d9a57d35df4adfbb01e46", + "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" @@ -1736,21 +1880,21 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad6", "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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 + 66, + 67, + 68, + 69, + 70, + 71 ], "starting_column": 5, "ending_column": 6 @@ -1762,9 +1906,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1840,21 +1984,21 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad6()" } }, { "type": "node", "name": "balance == 10000000000000000000", "source_mapping": { - "start": 1274, + "start": 1635, "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 54 + 68 ], "starting_column": 13, "ending_column": 32 @@ -1862,21 +2006,21 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad6", "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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 + 66, + 67, + 68, + 69, + 70, + 71 ], "starting_column": 5, "ending_column": 6 @@ -1888,9 +2032,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1966,16 +2110,16 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad6()" } } } } ], - "description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L52-L57", - "id": "b7b40be64de7150ba57e0f2b6379c672ee431675bbab8b607a82acdd29338d42", + "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" @@ -1984,18 +2128,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 3000, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 127, - 128, - 129 + 131, + 132, + 133 ], "starting_column": 5, "ending_column": 6 @@ -2007,9 +2151,9 @@ "source_mapping": { "start": 2368, "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -2054,40 +2198,40 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad2()" } }, { "type": "node", "name": "require(bool)(block.number == 0)", "source_mapping": { - "start": 3034, - "length": 25, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 128 + 132 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 35 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 3000, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 127, - 128, - 129 + 131, + 132, + 133 ], "starting_column": 5, "ending_column": 6 @@ -2099,9 +2243,9 @@ "source_mapping": { "start": 2368, "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -2146,160 +2290,16 @@ "ending_column": 2 } }, - "signature": "bad1()" - } - } - } - } - ], - "description": "TestSolidityKeyword.bad1() (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L127-L129", - "id": "d17755463242fbfeef570c2504ff13729a74d8633ade693da26127635b145892", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 404, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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)" + "signature": "bad2()" } } } } ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L21-L23", - "id": "d887566c310fa756ee60c8a838f09bf3165adda30dff76b4d8f7bd85f6561610", + "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" @@ -2308,19 +2308,19 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 37, - 38, - 39, - 40 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -2332,9 +2332,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -2410,41 +2410,41 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad2()" } }, { "type": "node", - "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", + "name": "require(bool)(address(this).balance == 10000000000000000000)", "source_mapping": { - "start": 822, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 38 + 43 ], "starting_column": 9, - "ending_column": 60 + "ending_column": 51 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ - 37, - 38, - 39, - 40 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -2456,9 +2456,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -2534,16 +2534,16 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad2()" } } } } ], - "description": "TestContractBalance.bad1() (tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/detectors/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/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.4.25/incorrect_equality.sol#L37-L40", - "id": "de67d7a1010855e47722500e73f1156c1c2c222414e661624300ea395102af1a", + "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" diff --git a/tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol b/tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol similarity index 100% rename from tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol rename to tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol diff --git a/tests/detectors/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 similarity index 81% rename from tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json rename to tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol.0.5.16.IncorrectStrictEquality.json index 00e03818a7..08c0c334db 100644 --- a/tests/detectors/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 @@ -4,201 +4,19 @@ "elements": [ { "type": "function", - "name": "bad1", - "source_mapping": { - "start": 3000, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L127-L129", - "id": "27fb1eed66075f0883f327ce69bfa39000a4cc6841a39342114cb892a1a0b23b", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad6", + "name": "bad3", "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -210,9 +28,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -288,43 +106,41 @@ "ending_column": 2 } }, - "signature": "bad6()" + "signature": "bad3()" } }, { "type": "node", - "name": "balance == 10000000000000000000", + "name": "require(bool)(10000000000000000000 == address(this).balance)", "source_mapping": { - "start": 1635, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 68 + 48 ], - "starting_column": 13, - "ending_column": 32 + "starting_column": 9, + "ending_column": 51 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad6", + "name": "bad3", "source_mapping": { - "start": 1538, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -336,9 +152,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -414,16 +230,16 @@ "ending_column": 2 } }, - "signature": "bad6()" + "signature": "bad3()" } } } } ], - "description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L66-L71", - "id": "280c7848636dd05a32dbdff744714307aa1350aebc6031dd862af9aeb6bdebe3", + "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" @@ -432,21 +248,19 @@ "elements": [ { "type": "function", - "name": "bad5", + "name": "bad0", "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -458,9 +272,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -536,43 +350,41 @@ "ending_column": 2 } }, - "signature": "bad5()" + "signature": "bad0()" } }, { "type": "node", - "name": "10000000000000000000 == balance", + "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", "source_mapping": { - "start": 1450, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 61 + 33 ], - "starting_column": 13, - "ending_column": 32 + "starting_column": 9, + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad0", "source_mapping": { - "start": 1362, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -584,9 +396,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -662,16 +474,16 @@ "ending_column": 2 } }, - "signature": "bad5()" + "signature": "bad0()" } } } } ], - "description": "TestContractBalance.bad5() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L59-L64", - "id": "2fddf13889b45374114f11585944ef935efb365935aff518b505f01d4f6c1c97", + "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" @@ -682,161 +494,17 @@ "type": "function", "name": "bad1", "source_mapping": { - "start": 511, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L25-L27", - "id": "43d01e301a135af4627eded0afd320a3cc986834dcd0c77ccec4d85e7ac05b57", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 42, - 43, - 44, - 45 + 37, + 38, + 39, + 40 ], "starting_column": 5, "ending_column": 6 @@ -848,9 +516,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -926,41 +594,41 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad1()" } }, { "type": "node", - "name": "require(bool)(address(this).balance == 10000000000000000000)", + "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", "source_mapping": { - "start": 961, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 43 + 38 ], "starting_column": 9, - "ending_column": 51 + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 926, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 42, - 43, - 44, - 45 + 37, + 38, + 39, + 40 ], "starting_column": 5, "ending_column": 6 @@ -972,9 +640,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1050,16 +718,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad1()" } } } } ], - "description": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L42-L45", - "id": "7d0195ec395960b56eb4249c96481aec69f59da34ea15128734721ff1844d469", + "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" @@ -1068,21 +736,21 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad6", "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 66, + 67, + 68, + 69, + 70, + 71 ], "starting_column": 5, "ending_column": 6 @@ -1094,9 +762,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1172,21 +840,21 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad6()" } }, { "type": "node", "name": "balance == 10000000000000000000", "source_mapping": { - "start": 1274, + "start": 1635, "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 54 + 68 ], "starting_column": 13, "ending_column": 32 @@ -1194,21 +862,21 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad6", "source_mapping": { - "start": 1186, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 66, + 67, + 68, + 69, + 70, + 71 ], "starting_column": 5, "ending_column": 6 @@ -1220,9 +888,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1298,16 +966,16 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad6()" } } } } ], - "description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L52-L57", - "id": "7d7ebf1738fffe12204ace79edbf67edb9962c03af58dbb9fa9c133d711eaa38", + "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" @@ -1316,18 +984,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 131, - 132, - 133 + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -1335,91 +1003,73 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestSolidityKeyword", + "name": "ERC20TestBalance", "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 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": "bad2()" + "signature": "bad1(ERC20Variable)" } }, { "type": "node", - "name": "require(bool)(block.number == 0)", + "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", "source_mapping": { - "start": 3106, - "length": 26, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 132 + 26 ], "starting_column": 9, - "ending_column": 35 + "ending_column": 48 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 3072, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 131, - 132, - 133 + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -1427,67 +1077,49 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestSolidityKeyword", + "name": "ERC20TestBalance", "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 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": "bad2()" + "signature": "bad1(ERC20Variable)" } } } } ], - "description": "TestSolidityKeyword.bad2() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L131-L133", - "id": "9adfb849a88f90efbe4e42ae4daea709e51db6af3ae0a8bb2427d8053a832d04", + "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" @@ -1496,18 +1128,21 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad5", "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 123, - 124, - 125 + 59, + 60, + 61, + 62, + 63, + 64 ], "starting_column": 5, "ending_column": 6 @@ -1515,91 +1150,125 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestSolidityKeyword", + "name": "TestContractBalance", "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 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()" + "signature": "bad5()" } }, { "type": "node", - "name": "require(bool)(now == 0)", + "name": "10000000000000000000 == balance", "source_mapping": { - "start": 2969, - "length": 18, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 124 + 61 ], - "starting_column": 9, - "ending_column": 27 + "starting_column": 13, + "ending_column": 32 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad5", "source_mapping": { - "start": 2935, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 123, - 124, - 125 + 59, + 60, + 61, + 62, + 63, + 64 ], "starting_column": 5, "ending_column": 6 @@ -1607,67 +1276,98 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestSolidityKeyword", + "name": "TestContractBalance", "source_mapping": { - "start": 2368, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 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()" + "signature": "bad5()" } } } } ], - "description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L123-L125", - "id": "9f08ac90026e6fb8bcd20c0ab8f967fe7680689841262bb91747d967ac2564c4", + "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" @@ -1676,19 +1376,21 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 1056, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 47, - 48, - 49, - 50 + 52, + 53, + 54, + 55, + 56, + 57 ], "starting_column": 5, "ending_column": 6 @@ -1700,9 +1402,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1778,41 +1480,43 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad4()" } }, { "type": "node", - "name": "require(bool)(10000000000000000000 == address(this).balance)", + "name": "balance == 10000000000000000000", "source_mapping": { - "start": 1091, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 48 + 54 ], - "starting_column": 9, - "ending_column": 51 + "starting_column": 13, + "ending_column": 32 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 1056, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 47, - 48, - 49, - 50 + 52, + 53, + 54, + 55, + 56, + 57 ], "starting_column": 5, "ending_column": 6 @@ -1824,9 +1528,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1902,16 +1606,16 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad4()" } } } } ], - "description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L47-L50", - "id": "a987ef061c48551aeeb83ad7556a7d00d13d4dc5fade167c6dc6d586738bda14", + "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" @@ -1922,17 +1626,16 @@ "type": "function", "name": "bad1", "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 37, - 38, - 39, - 40 + 127, + 128, + 129 ], "starting_column": 5, "ending_column": 6 @@ -1940,83 +1643,52 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestContractBalance", + "name": "TestSolidityKeyword", "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 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 @@ -2027,36 +1699,35 @@ }, { "type": "node", - "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", + "name": "require(bool)(block.number == 0)", "source_mapping": { - "start": 822, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 38 + 128 ], "starting_column": 9, - "ending_column": 60 + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad1", "source_mapping": { - "start": 787, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 37, - 38, - 39, - 40 + 127, + 128, + 129 ], "starting_column": 5, "ending_column": 6 @@ -2064,83 +1735,52 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestContractBalance", + "name": "TestSolidityKeyword", "source_mapping": { - "start": 612, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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 + 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 @@ -2152,10 +1792,10 @@ } } ], - "description": "TestContractBalance.bad1() (tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L37-L40", - "id": "aee531d35272d761a573246a7f901716f6d1aa6906a0eab19bee4f6f570eb166", + "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" @@ -2164,19 +1804,19 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 32, - 33, - 34, - 35 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -2188,9 +1828,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -2266,41 +1906,41 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2()" } }, { "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", + "name": "require(bool)(address(this).balance == 10000000000000000000)", "source_mapping": { - "start": 683, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 33 + 43 ], "starting_column": 9, - "ending_column": 60 + "ending_column": 51 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 648, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ - 32, - 33, - 34, - 35 + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -2312,9 +1952,9 @@ "source_mapping": { "start": 612, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -2390,16 +2030,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2()" } } } } ], - "description": "TestContractBalance.bad0() (tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L32-L35", - "id": "d00ea5300293e9fe66a52421f56fbb2e48ba4ba942f1d8845e3c2e5bfbbbe66f", + "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" @@ -2412,9 +2052,9 @@ "source_mapping": { "start": 404, "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 21, @@ -2431,9 +2071,9 @@ "source_mapping": { "start": 165, "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 10, @@ -2469,9 +2109,9 @@ "source_mapping": { "start": 455, "length": 43, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 22 @@ -2486,9 +2126,9 @@ "source_mapping": { "start": 404, "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 21, @@ -2505,9 +2145,9 @@ "source_mapping": { "start": 165, "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol", "is_dependency": false, "lines": [ 10, @@ -2540,10 +2180,370 @@ } } ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/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/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.5.16/incorrect_equality.sol#L21-L23", - "id": "f1b10c19ed186a854e281f6b2f29e08d5da8892045a928b0565355802998088a", + "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" diff --git a/tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol b/tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol similarity index 100% rename from tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol rename to tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol diff --git a/tests/detectors/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 similarity index 81% rename from tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json rename to tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol.0.6.11.IncorrectStrictEquality.json index f757282162..aa217c978c 100644 --- a/tests/detectors/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 @@ -4,19 +4,21 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad5", "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 32, - 33, - 34, - 35 + 59, + 60, + 61, + 62, + 63, + 64 ], "starting_column": 5, "ending_column": 6 @@ -28,9 +30,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -106,41 +108,43 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad5()" } }, { "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", + "name": "10000000000000000000 == balance", "source_mapping": { - "start": 700, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 33 + 61 ], - "starting_column": 9, - "ending_column": 60 + "starting_column": 13, + "ending_column": 32 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad5", "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 32, - 33, - 34, - 35 + 59, + 60, + 61, + 62, + 63, + 64 ], "starting_column": 5, "ending_column": 6 @@ -152,9 +156,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -230,16 +234,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad5()" } } } } ], - "description": "TestContractBalance.bad0() (tests/detectors/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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/detectors/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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L32-L35", - "id": "20756b1d1c5eb722a3edb44b8c7b2a62ca935e4e1a2491bce50856f7f4cf3f4c", + "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" @@ -250,16 +254,16 @@ "type": "function", "name": "bad0", "source_mapping": { - "start": 2952, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 123, - 124, - 125 + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -267,91 +271,73 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestSolidityKeyword", + "name": "ERC20TestBalance", "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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 + 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()" + "signature": "bad0(ERC20Function)" } }, { "type": "node", - "name": "require(bool)(now == 0)", + "name": "require(bool)(erc.balanceOf(address(this)) == 10)", "source_mapping": { - "start": 2986, - "length": 18, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 124 + 22 ], "starting_column": 9, - "ending_column": 27 + "ending_column": 52 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad0", "source_mapping": { - "start": 2952, - "length": 59, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 123, - 124, - 125 + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -359,67 +345,49 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestSolidityKeyword", + "name": "ERC20TestBalance", "source_mapping": { - "start": 2385, - "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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 + 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()" + "signature": "bad0(ERC20Function)" } } } } ], - "description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(now == 0) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(now == 0)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L123-L125", - "id": "24de80ae388956295db544441f5ab9326af42bd4fcb34e232a23af952d7fe333", + "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" @@ -432,9 +400,9 @@ "source_mapping": { "start": 1073, "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 47, @@ -452,9 +420,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -539,9 +507,9 @@ "source_mapping": { "start": 1108, "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 48 @@ -556,9 +524,9 @@ "source_mapping": { "start": 1073, "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 47, @@ -576,9 +544,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -660,10 +628,10 @@ } } ], - "description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L47-L50", - "id": "3cf7fef3822d0628cc1f441162960a6753d6cdcad5b8c56c84584dba741e806b", + "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" @@ -672,21 +640,21 @@ "elements": [ { "type": "function", - "name": "bad5", + "name": "bad6", "source_mapping": { - "start": 1379, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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 + 66, + 67, + 68, + 69, + 70, + 71 ], "starting_column": 5, "ending_column": 6 @@ -698,9 +666,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -776,21 +744,21 @@ "ending_column": 2 } }, - "signature": "bad5()" + "signature": "bad6()" } }, { "type": "node", - "name": "10000000000000000000 == balance", + "name": "balance == 10000000000000000000", "source_mapping": { - "start": 1467, + "start": 1652, "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 61 + 68 ], "starting_column": 13, "ending_column": 32 @@ -798,21 +766,21 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad6", "source_mapping": { - "start": 1379, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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 + 66, + 67, + 68, + 69, + 70, + 71 ], "starting_column": 5, "ending_column": 6 @@ -824,9 +792,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -902,16 +870,16 @@ "ending_column": 2 } }, - "signature": "bad5()" + "signature": "bad6()" } } } } ], - "description": "TestContractBalance.bad5() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L59-L64", - "id": "3e416561dc117d230bbee97788f5a0ff851da92f1def8fb5d7b94461ee6bfbc0", + "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" @@ -920,18 +888,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 528, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 25, - 26, - 27 + 123, + 124, + 125 ], "starting_column": 5, "ending_column": 6 @@ -939,73 +907,91 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "ERC20TestBalance", + "name": "TestSolidityKeyword", "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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 + 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(ERC20Variable)" + "signature": "bad0()" } }, { "type": "node", - "name": "require(bool)(erc.balanceOf(msg.sender) == 10)", + "name": "require(bool)(now == 0)", "source_mapping": { - "start": 579, - "length": 39, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 26 + 124 ], "starting_column": 9, - "ending_column": 48 + "ending_column": 27 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 528, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 25, - 26, - 27 + 123, + 124, + 125 ], "starting_column": 5, "ending_column": 6 @@ -1013,49 +999,67 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "ERC20TestBalance", + "name": "TestSolidityKeyword", "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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 + 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(ERC20Variable)" + "signature": "bad0()" } } } } ], - "description": "ERC20TestBalance.bad1(ERC20Variable) (tests/detectors/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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L25-L27", - "id": "4d1635766db4dc0687873af3c03047d746b770bcce326793c79210ac16a5c824", + "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" @@ -1068,9 +1072,9 @@ "source_mapping": { "start": 943, "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 42, @@ -1088,9 +1092,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1175,9 +1179,9 @@ "source_mapping": { "start": 978, "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 43 @@ -1192,9 +1196,9 @@ "source_mapping": { "start": 943, "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 42, @@ -1212,9 +1216,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1290,16 +1294,160 @@ "ending_column": 2 } }, - "signature": "bad2()" + "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": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L42-L45", - "id": "50ab6a747d027b81a24ae04b84e6362bd184a5f23080e2af1b6a859ee144f637", + "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" @@ -1312,9 +1460,9 @@ "source_mapping": { "start": 3017, "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 127, @@ -1331,9 +1479,9 @@ "source_mapping": { "start": 2385, "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -1387,9 +1535,9 @@ "source_mapping": { "start": 3051, "length": 25, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 128 @@ -1404,9 +1552,9 @@ "source_mapping": { "start": 3017, "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 127, @@ -1423,9 +1571,9 @@ "source_mapping": { "start": 2385, "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -1476,10 +1624,10 @@ } } ], - "description": "TestSolidityKeyword.bad1() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L127-L129", - "id": "60917b5197ecd42e5554643c32624ec6fc2a46bc8da2b3627eddcd68cf2ce9f5", + "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" @@ -1492,9 +1640,9 @@ "source_mapping": { "start": 1203, "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 52, @@ -1514,9 +1662,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1601,9 +1749,9 @@ "source_mapping": { "start": 1291, "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 54 @@ -1618,9 +1766,9 @@ "source_mapping": { "start": 1203, "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 52, @@ -1640,9 +1788,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1724,10 +1872,10 @@ } } ], - "description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L52-L57", - "id": "6c7dc22e356974c8446e07ee7f9d6ffe94f7cb1670066eecec7cbcac691cb8c8", + "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" @@ -1740,261 +1888,15 @@ "source_mapping": { "start": 804, "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/detectors/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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L37-L40", - "id": "9363dbd2bb3f41b42351b088f7a973902e04ccae0081e5c99354de90890fe6ab", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad6", - "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", - "is_dependency": false, - "lines": [ - 66, - 67, - 68, - 69, - 70, - 71 + 39, + 40 ], "starting_column": 5, "ending_column": 6 @@ -2006,9 +1908,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -2084,43 +1986,41 @@ "ending_column": 2 } }, - "signature": "bad6()" + "signature": "bad1()" } }, { "type": "node", - "name": "balance == 10000000000000000000", + "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", "source_mapping": { - "start": 1652, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 68 + 38 ], - "starting_column": 13, - "ending_column": 32 + "starting_column": 9, + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad6", + "name": "bad1", "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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 + 37, + 38, + 39, + 40 ], "starting_column": 5, "ending_column": 6 @@ -2132,9 +2032,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -2210,16 +2110,16 @@ "ending_column": 2 } }, - "signature": "bad6()" + "signature": "bad1()" } } } } ], - "description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L66-L71", - "id": "9a6a2aee598cf4c282006337a3b8599c708487d1942e9ddfe3193581cbe1708e", + "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" @@ -2232,9 +2132,9 @@ "source_mapping": { "start": 3089, "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 131, @@ -2251,9 +2151,9 @@ "source_mapping": { "start": 2385, "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -2307,9 +2207,9 @@ "source_mapping": { "start": 3123, "length": 26, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 132 @@ -2324,9 +2224,9 @@ "source_mapping": { "start": 3089, "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 131, @@ -2343,9 +2243,9 @@ "source_mapping": { "start": 2385, "length": 774, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -2396,10 +2296,10 @@ } } ], - "description": "TestSolidityKeyword.bad2() (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L131-L133", - "id": "9efb75e5f6647209e01d4053c1bf76e69bf07d6578864711e2302336f250d72e", + "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" @@ -2410,16 +2310,17 @@ "type": "function", "name": "bad0", "source_mapping": { - "start": 421, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 21, - 22, - 23 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -2427,73 +2328,123 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "ERC20TestBalance", + "name": "TestContractBalance", "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 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(ERC20Function)" + "signature": "bad0()" } }, { "type": "node", - "name": "require(bool)(erc.balanceOf(address(this)) == 10)", + "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", "source_mapping": { - "start": 472, - "length": 43, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 22 + 33 ], "starting_column": 9, - "ending_column": 52 + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", "name": "bad0", "source_mapping": { - "start": 421, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol", "is_dependency": false, "lines": [ - 21, - 22, - 23 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -2501,49 +2452,98 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "ERC20TestBalance", + "name": "TestContractBalance", "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol", + "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 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 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(ERC20Function)" + "signature": "bad0()" } } } } ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/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/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.6.11/incorrect_equality.sol#L21-L23", - "id": "df1ee72930fcaa7dc7a92d390be6007c57953a3392aef588a852373da388d850", + "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" diff --git a/tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol b/tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol similarity index 100% rename from tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol rename to tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol diff --git a/tests/detectors/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 similarity index 81% rename from tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json rename to tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol.0.7.6.IncorrectStrictEquality.json index d4a0fa5aa4..ddadd3deb0 100644 --- a/tests/detectors/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 @@ -6,17 +6,163 @@ "type": "function", "name": "bad1", "source_mapping": { - "start": 804, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 37, - 38, - 39, - 40 + 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 @@ -28,9 +174,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -106,41 +252,43 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad6()" } }, { "type": "node", - "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", + "name": "balance == 10000000000000000000", "source_mapping": { - "start": 839, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 38 + 68 ], - "starting_column": 9, - "ending_column": 60 + "starting_column": 13, + "ending_column": 32 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad6", "source_mapping": { - "start": 804, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 37, - 38, - 39, - 40 + 66, + 67, + 68, + 69, + 70, + 71 ], "starting_column": 5, "ending_column": 6 @@ -152,9 +300,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -230,16 +378,16 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad6()" } } } } ], - "description": "TestContractBalance.bad1() (tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#38)\n", - "markdown": "[TestContractBalance.bad1()](tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L38)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L37-L40", - "id": "00429822fd7d6870bca827c11ac6f1f552b243431b3db4a937da8c0c616aabb9", + "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" @@ -248,21 +396,18 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad0", "source_mapping": { - "start": 1203, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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 + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -270,74 +415,219 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestContractBalance", + "name": "ERC20TestBalance", "source_mapping": { - "start": 629, - "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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, + 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, @@ -352,43 +642,41 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad1()" } }, { "type": "node", - "name": "balance == 10000000000000000000", + "name": "require(bool)(10000000000000000000 == address(address(this)).balance)", "source_mapping": { - "start": 1291, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 54 + 38 ], - "starting_column": 13, - "ending_column": 32 + "starting_column": 9, + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad1", "source_mapping": { - "start": 1203, - "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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 + 37, + 38, + 39, + 40 ], "starting_column": 5, "ending_column": 6 @@ -400,9 +688,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -478,16 +766,16 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad1()" } } } } ], - "description": "TestContractBalance.bad4() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#52-57) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#54)\n", - "markdown": "[TestContractBalance.bad4()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L52-L57) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L54)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L52-L57", - "id": "03481d21bd25c9db2606e6ac246fbf5a047d5fb094422fe19a5fabf7032e1818", + "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" @@ -496,18 +784,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 528, - "length": 97, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 25, - 26, - 27 + 123, + 124, + 125 ], "starting_column": 5, "ending_column": 6 @@ -515,157 +803,13 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "ERC20TestBalance", + "name": "TestSolidityKeyword", "source_mapping": { - "start": 182, - "length": 445, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#26)\n", - "markdown": "[ERC20TestBalance.bad1(ERC20Variable)](tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L26)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L25-L27", - "id": "22a2bf7ecbe8d0217cce4d0304fc02a45968167dd408ad85ad4bfb0ed5012dd0", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 2964, - "length": 71, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -719,9 +863,9 @@ "source_mapping": { "start": 2998, "length": 30, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 124 @@ -736,9 +880,9 @@ "source_mapping": { "start": 2964, "length": 71, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 123, @@ -755,9 +899,9 @@ "source_mapping": { "start": 2385, "length": 798, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -808,10 +952,10 @@ } } ], - "description": "TestSolidityKeyword.bad0() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#123-125) uses a dangerous strict equality:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#124)\n", - "markdown": "[TestSolidityKeyword.bad0()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L123-L125) uses a dangerous strict equality:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L124)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L123-L125", - "id": "41fcdc7b875eec5595e7d7518953b246ab69a7baac064512fde30b157c0595f2", + "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" @@ -820,21 +964,19 @@ "elements": [ { "type": "function", - "name": "bad6", + "name": "bad3", "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -846,9 +988,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -924,43 +1066,41 @@ "ending_column": 2 } }, - "signature": "bad6()" + "signature": "bad3()" } }, { "type": "node", - "name": "balance == 10000000000000000000", + "name": "require(bool)(10000000000000000000 == address(this).balance)", "source_mapping": { - "start": 1652, - "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 68 + 48 ], - "starting_column": 13, - "ending_column": 32 + "starting_column": 9, + "ending_column": 51 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad6", + "name": "bad3", "source_mapping": { - "start": 1555, - "length": 179, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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 + 47, + 48, + 49, + 50 ], "starting_column": 5, "ending_column": 6 @@ -972,9 +1112,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1050,16 +1190,16 @@ "ending_column": 2 } }, - "signature": "bad6()" + "signature": "bad3()" } } } } ], - "description": "TestContractBalance.bad6() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#66-71) uses a dangerous strict equality:\n\t- balance == 10000000000000000000 (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#68)\n", - "markdown": "[TestContractBalance.bad6()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L66-L71) uses a dangerous strict equality:\n\t- [balance == 10000000000000000000](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L68)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L66-L71", - "id": "48fdf24089d0b55885acd69fec55d6860251775e0e1b0317182476ff9015bd8d", + "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" @@ -1068,21 +1208,21 @@ "elements": [ { "type": "function", - "name": "bad5", + "name": "bad4", "source_mapping": { - "start": 1379, + "start": 1203, "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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 + 52, + 53, + 54, + 55, + 56, + 57 ], "starting_column": 5, "ending_column": 6 @@ -1094,9 +1234,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1172,21 +1312,21 @@ "ending_column": 2 } }, - "signature": "bad5()" + "signature": "bad4()" } }, { "type": "node", - "name": "10000000000000000000 == balance", + "name": "balance == 10000000000000000000", "source_mapping": { - "start": 1467, + "start": 1291, "length": 19, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 61 + 54 ], "starting_column": 13, "ending_column": 32 @@ -1194,21 +1334,21 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad4", "source_mapping": { - "start": 1379, + "start": 1203, "length": 170, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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 + 52, + 53, + 54, + 55, + 56, + 57 ], "starting_column": 5, "ending_column": 6 @@ -1220,9 +1360,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1298,16 +1438,16 @@ "ending_column": 2 } }, - "signature": "bad5()" + "signature": "bad4()" } } } } ], - "description": "TestContractBalance.bad5() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#59-64) uses a dangerous strict equality:\n\t- 10000000000000000000 == balance (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#61)\n", - "markdown": "[TestContractBalance.bad5()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L59-L64) uses a dangerous strict equality:\n\t- [10000000000000000000 == balance](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L61)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L59-L64", - "id": "4c491b63ac50b7636f4718de626a471d8172b614b1355e937d7a071aec148691", + "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" @@ -1316,19 +1456,19 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad0", "source_mapping": { - "start": 1073, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 47, - 48, - 49, - 50 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -1340,9 +1480,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1418,41 +1558,41 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad0()" } }, { "type": "node", - "name": "require(bool)(10000000000000000000 == address(this).balance)", + "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", "source_mapping": { - "start": 1108, - "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 48 + 33 ], "starting_column": 9, - "ending_column": 51 + "ending_column": 60 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad0", "source_mapping": { - "start": 1073, - "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 47, - 48, - 49, - 50 + 32, + 33, + 34, + 35 ], "starting_column": 5, "ending_column": 6 @@ -1464,9 +1604,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -1533,349 +1673,25 @@ 91, 92, 93, - 94, - 95, - 96, - 97 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad3()" - } - } - } - } - ], - "description": "TestContractBalance.bad3() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#47-50) uses a dangerous strict equality:\n\t- require(bool)(10000000000000000000 == address(this).balance) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#48)\n", - "markdown": "[TestContractBalance.bad3()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L47-L50) uses a dangerous strict equality:\n\t- [require(bool)(10000000000000000000 == address(this).balance)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L48)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L47-L50", - "id": "746e8e07ef37b33e1f1e49ae013311ea0873d62d00caacaf08988735eb939ddc", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 3113, - "length": 67, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#131-133) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#132)\n", - "markdown": "[TestSolidityKeyword.bad2()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L131-L133) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L132)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L131-L133", - "id": "78aad151c32e2fa0c7cb17095afae17fad81d613a486d78dabb016b26396ed12", - "check": "incorrect-equality", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 421, - "length": 101, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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 + 94, + 95, + 96, + 97 ], "starting_column": 1, "ending_column": 2 } }, - "signature": "bad0(ERC20Function)" + "signature": "bad0()" } } } } ], - "description": "ERC20TestBalance.bad0(ERC20Function) (tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#22)\n", - "markdown": "[ERC20TestBalance.bad0(ERC20Function)](tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L22)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L21-L23", - "id": "867a3b92771da558ee2693d8c81dc2c154b0effac8153ca43ccb183b05245310", + "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" @@ -1884,18 +1700,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 3041, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 127, - 128, - 129 + 131, + 132, + 133 ], "starting_column": 5, "ending_column": 6 @@ -1907,9 +1723,9 @@ "source_mapping": { "start": 2385, "length": 798, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -1954,40 +1770,40 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad2()" } }, { "type": "node", "name": "require(bool)(block.number == 0)", "source_mapping": { - "start": 3075, - "length": 25, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 128 + 132 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 35 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 3041, - "length": 66, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 127, - 128, - 129 + 131, + 132, + 133 ], "starting_column": 5, "ending_column": 6 @@ -1999,9 +1815,9 @@ "source_mapping": { "start": 2385, "length": 798, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 99, @@ -2046,16 +1862,16 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad2()" } } } } ], - "description": "TestSolidityKeyword.bad1() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#127-129) uses a dangerous strict equality:\n\t- require(bool)(block.number == 0) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#128)\n", - "markdown": "[TestSolidityKeyword.bad1()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L127-L129) uses a dangerous strict equality:\n\t- [require(bool)(block.number == 0)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L128)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L127-L129", - "id": "b60d82f030e9230cf782621e9d04910c2dbe77a0adc6dcb435e642eb567ef330", + "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" @@ -2064,19 +1880,21 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad5", "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 32, - 33, - 34, - 35 + 59, + 60, + 61, + 62, + 63, + 64 ], "starting_column": 5, "ending_column": 6 @@ -2088,9 +1906,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -2166,41 +1984,43 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad5()" } }, { "type": "node", - "name": "require(bool)(address(address(this)).balance == 10000000000000000000)", + "name": "10000000000000000000 == balance", "source_mapping": { - "start": 700, - "length": 51, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 33 + 61 ], - "starting_column": 9, - "ending_column": 60 + "starting_column": 13, + "ending_column": 32 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad5", "source_mapping": { - "start": 665, - "length": 133, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ - 32, - 33, - 34, - 35 + 59, + 60, + 61, + 62, + 63, + 64 ], "starting_column": 5, "ending_column": 6 @@ -2212,9 +2032,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -2290,16 +2110,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad5()" } } } } ], - "description": "TestContractBalance.bad0() (tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#33)\n", - "markdown": "[TestContractBalance.bad0()](tests/detectors/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/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L33)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L32-L35", - "id": "c64584a1db93863bfb52a62fae244e6c2f6bc0c1dd1a5662f50965428d978a15", + "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" @@ -2312,9 +2132,9 @@ "source_mapping": { "start": 943, "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 42, @@ -2332,9 +2152,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -2419,9 +2239,9 @@ "source_mapping": { "start": 978, "length": 42, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 43 @@ -2436,9 +2256,9 @@ "source_mapping": { "start": 943, "length": 124, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 42, @@ -2456,9 +2276,9 @@ "source_mapping": { "start": 629, "length": 1754, - "filename_relative": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol", "is_dependency": false, "lines": [ 30, @@ -2540,10 +2360,190 @@ } } ], - "description": "TestContractBalance.bad2() (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#42-45) uses a dangerous strict equality:\n\t- require(bool)(address(this).balance == 10000000000000000000) (tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#43)\n", - "markdown": "[TestContractBalance.bad2()](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L42-L45) uses a dangerous strict equality:\n\t- [require(bool)(address(this).balance == 10000000000000000000)](tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L43)\n", - "first_markdown_element": "tests/detectors/incorrect-equality/0.7.6/incorrect_equality.sol#L42-L45", - "id": "d848b883cd27d256e7ea367c14afae2cc206b22bc62e0023eeff561e4bc9bee6", + "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" diff --git a/tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol b/tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol similarity index 100% rename from tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol rename to tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json rename to tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol.0.4.25.ModifierDefaultDetection.json index bbe5242fda..c17d964027 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 496, "length": 251, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "is_dependency": false, "lines": [ 30, @@ -36,9 +36,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -102,9 +102,9 @@ } } ], - "description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L30-L41", + "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", @@ -118,9 +118,9 @@ "source_mapping": { "start": 277, "length": 111, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "is_dependency": false, "lines": [ 18, @@ -139,9 +139,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -205,9 +205,9 @@ } } ], - "description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L18-L22", + "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", @@ -221,9 +221,9 @@ "source_mapping": { "start": 20, "length": 103, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "is_dependency": false, "lines": [ 2, @@ -242,9 +242,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -308,9 +308,9 @@ } } ], - "description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.4.25/modifier_default.sol#L2-L6", + "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", diff --git a/tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol b/tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol similarity index 100% rename from tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol rename to tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json rename to tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol.0.5.16.ModifierDefaultDetection.json index 944fbd7928..51ba3b9ce7 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 496, "length": 251, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "is_dependency": false, "lines": [ 30, @@ -36,9 +36,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -102,9 +102,9 @@ } } ], - "description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L30-L41", + "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", @@ -118,9 +118,9 @@ "source_mapping": { "start": 277, "length": 111, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "is_dependency": false, "lines": [ 18, @@ -139,9 +139,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -205,9 +205,9 @@ } } ], - "description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L18-L22", + "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", @@ -221,9 +221,9 @@ "source_mapping": { "start": 20, "length": 103, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "is_dependency": false, "lines": [ 2, @@ -242,9 +242,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -308,9 +308,9 @@ } } ], - "description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.5.16/modifier_default.sol#L2-L6", + "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", diff --git a/tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol b/tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol similarity index 100% rename from tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol rename to tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json rename to tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol.0.6.11.ModifierDefaultDetection.json index ec2cc82c79..28e23e3011 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 496, "length": 251, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "is_dependency": false, "lines": [ 30, @@ -36,9 +36,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -102,9 +102,9 @@ } } ], - "description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L30-L41", + "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", @@ -118,9 +118,9 @@ "source_mapping": { "start": 277, "length": 111, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "is_dependency": false, "lines": [ 18, @@ -139,9 +139,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -205,9 +205,9 @@ } } ], - "description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L18-L22", + "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", @@ -221,9 +221,9 @@ "source_mapping": { "start": 20, "length": 103, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "is_dependency": false, "lines": [ 2, @@ -242,9 +242,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -308,9 +308,9 @@ } } ], - "description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.6.11/modifier_default.sol#L2-L6", + "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", diff --git a/tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol b/tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol similarity index 100% rename from tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol rename to tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json rename to tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol.0.7.6.ModifierDefaultDetection.json index f80233a607..71397c0dff 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 496, "length": 251, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "is_dependency": false, "lines": [ 30, @@ -36,9 +36,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -102,9 +102,9 @@ } } ], - "description": "Modifier Test.loopsNoResult() (tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#30-41) does not always execute _; or revert", - "markdown": "Modifier [Test.loopsNoResult()](tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L30-L41) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L30-L41", + "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", @@ -118,9 +118,9 @@ "source_mapping": { "start": 277, "length": 111, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "is_dependency": false, "lines": [ 18, @@ -139,9 +139,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -205,9 +205,9 @@ } } ], - "description": "Modifier Test.requireAssertNoResult() (tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#18-22) does not always execute _; or revert", - "markdown": "Modifier [Test.requireAssertNoResult()](tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L18-L22) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L18-L22", + "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", @@ -221,9 +221,9 @@ "source_mapping": { "start": 20, "length": 103, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "is_dependency": false, "lines": [ 2, @@ -242,9 +242,9 @@ "source_mapping": { "start": 0, "length": 901, - "filename_relative": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol", "is_dependency": false, "lines": [ 1, @@ -308,9 +308,9 @@ } } ], - "description": "Modifier Test.noResult() (tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#2-6) does not always execute _; or revert", - "markdown": "Modifier [Test.noResult()](tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L2-L6) does not always execute _; or revert", - "first_markdown_element": "tests/detectors/incorrect-modifier/0.7.6/modifier_default.sol#L2-L6", + "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", diff --git a/tests/detectors/incorrect-shift/0.4.25/shift_parameter_mixup.sol b/tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol similarity index 100% rename from tests/detectors/incorrect-shift/0.4.25/shift_parameter_mixup.sol rename to tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/incorrect-shift/0.4.25/shift_parameter_mixup.sol.0.4.25.ShiftParameterMixup.json rename to tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol.0.4.25.ShiftParameterMixup.json diff --git a/tests/detectors/incorrect-shift/0.5.16/shift_parameter_mixup.sol b/tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol similarity index 100% rename from tests/detectors/incorrect-shift/0.5.16/shift_parameter_mixup.sol rename to tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/incorrect-shift/0.5.16/shift_parameter_mixup.sol.0.5.16.ShiftParameterMixup.json rename to tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol.0.5.16.ShiftParameterMixup.json diff --git a/tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol b/tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol similarity index 100% rename from tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol rename to tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol.0.6.11.ShiftParameterMixup.json rename to tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol.0.6.11.ShiftParameterMixup.json index 25e424df08..5b4d6115aa 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 19, "length": 106, - "filename_relative": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", "is_dependency": false, "lines": [ 3, @@ -29,9 +29,9 @@ "source_mapping": { "start": 0, "length": 128, - "filename_relative": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", "is_dependency": false, "lines": [ 1, @@ -56,9 +56,9 @@ "source_mapping": { "start": 93, "length": 14, - "filename_relative": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", "is_dependency": false, "lines": [ 5 @@ -73,9 +73,9 @@ "source_mapping": { "start": 19, "length": 106, - "filename_relative": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", "is_dependency": false, "lines": [ 3, @@ -94,9 +94,9 @@ "source_mapping": { "start": 0, "length": 128, - "filename_relative": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol", "is_dependency": false, "lines": [ 1, @@ -118,10 +118,10 @@ } } ], - "description": "C.f() (tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol#3-7) contains an incorrect shift operation: a = 8 >> a (tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol#5)\n", - "markdown": "[C.f()](tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol#L3-L7) contains an incorrect shift operation: [a = 8 >> a](tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol#L5)\n", - "first_markdown_element": "tests/detectors/incorrect-shift/0.6.11/shift_parameter_mixup.sol#L3-L7", - "id": "eefda017d078fd6c0cdb19b471ac8d0a96b2b3dba9bac04ac194270820a77301", + "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" diff --git a/tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol b/tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol similarity index 100% rename from tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol rename to tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol.0.7.6.ShiftParameterMixup.json rename to tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol.0.7.6.ShiftParameterMixup.json index f8d135a4da..20150fd690 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 19, "length": 106, - "filename_relative": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", "is_dependency": false, "lines": [ 3, @@ -29,9 +29,9 @@ "source_mapping": { "start": 0, "length": 128, - "filename_relative": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", "is_dependency": false, "lines": [ 1, @@ -56,9 +56,9 @@ "source_mapping": { "start": 93, "length": 14, - "filename_relative": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", "is_dependency": false, "lines": [ 5 @@ -73,9 +73,9 @@ "source_mapping": { "start": 19, "length": 106, - "filename_relative": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", "is_dependency": false, "lines": [ 3, @@ -94,9 +94,9 @@ "source_mapping": { "start": 0, "length": 128, - "filename_relative": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol", "is_dependency": false, "lines": [ 1, @@ -118,10 +118,10 @@ } } ], - "description": "C.f() (tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol#3-7) contains an incorrect shift operation: a = 8 >> a (tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol#5)\n", - "markdown": "[C.f()](tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol#L3-L7) contains an incorrect shift operation: [a = 8 >> a](tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol#L5)\n", - "first_markdown_element": "tests/detectors/incorrect-shift/0.7.6/shift_parameter_mixup.sol#L3-L7", - "id": "8aa2292fd8d53a23f05aed92384dde452ea1f879d2422c4726b75a79a5aa6f81", + "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" diff --git a/tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol b/tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol similarity index 100% rename from tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol rename to tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json rename to tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol.0.4.25.IncorrectUnaryExpressionDetection.json index e559cffb2a..910b5c2aa2 100644 --- a/tests/detectors/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 @@ -4,15 +4,20 @@ "elements": [ { "type": "function", - "name": "f", + "name": "slitherConstructorVariables", "source_mapping": { - "start": 60, - "length": 142, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "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/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "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, @@ -21,10 +26,11 @@ 11, 12, 13, - 14 + 14, + 15 ], - "starting_column": 3, - "ending_column": 4 + "starting_column": 1, + "ending_column": 2 }, "type_specific_fields": { "parent": { @@ -33,9 +39,9 @@ "source_mapping": { "start": 0, "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "is_dependency": false, "lines": [ 1, @@ -58,37 +64,42 @@ "ending_column": 2 } }, - "signature": "f()" + "signature": "slitherConstructorVariables()" } }, { "type": "node", - "name": "x = + 144444", + "name": "c = (b = + 1)", "source_mapping": { - "start": 104, - "length": 26, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "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/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "is_dependency": false, "lines": [ - 8 + 4 ], - "starting_column": 5, - "ending_column": 31 + "starting_column": 3, + "ending_column": 16 }, "type_specific_fields": { "parent": { "type": "function", - "name": "f", + "name": "slitherConstructorVariables", "source_mapping": { - "start": 60, - "length": 142, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "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/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "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, @@ -97,10 +108,11 @@ 11, 12, 13, - 14 + 14, + 15 ], - "starting_column": 3, - "ending_column": 4 + "starting_column": 1, + "ending_column": 2 }, "type_specific_fields": { "parent": { @@ -109,9 +121,9 @@ "source_mapping": { "start": 0, "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "is_dependency": false, "lines": [ 1, @@ -134,16 +146,16 @@ "ending_column": 2 } }, - "signature": "f()" + "signature": "slitherConstructorVariables()" } } } } ], - "description": "C.f() (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = + 144444 (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#8)\n", - "markdown": "[C.f()](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14) uses an dangerous unary operator: [x = + 144444](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L8)\n", - "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14", - "id": "1c34192b7e1340c90c351ae8dcdbf0ce55436d33da941fd80ca110fadc120471", + "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" @@ -156,9 +168,9 @@ "source_mapping": { "start": 60, "length": 142, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "is_dependency": false, "lines": [ 6, @@ -181,9 +193,9 @@ "source_mapping": { "start": 0, "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "is_dependency": false, "lines": [ 1, @@ -211,19 +223,19 @@ }, { "type": "node", - "name": "x = (x = + 1)", + "name": "x = + 144444", "source_mapping": { - "start": 136, - "length": 10, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "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/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "is_dependency": false, "lines": [ - 9 + 8 ], "starting_column": 5, - "ending_column": 15 + "ending_column": 31 }, "type_specific_fields": { "parent": { @@ -232,9 +244,9 @@ "source_mapping": { "start": 60, "length": 142, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "is_dependency": false, "lines": [ 6, @@ -257,9 +269,9 @@ "source_mapping": { "start": 0, "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "is_dependency": false, "lines": [ 1, @@ -288,10 +300,71 @@ } } ], - "description": "C.f() (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#6-14) uses an dangerous unary operator: x = (x = + 1) (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#9)\n", - "markdown": "[C.f()](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14) uses an dangerous unary operator: [x = (x = + 1)](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L9)\n", - "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L6-L14", - "id": "67f0d53f0f21e8f7ef05bc38503626b2382c6bd6863d70c857c2c6ad58ea0c96", + "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" @@ -300,20 +373,15 @@ "elements": [ { "type": "function", - "name": "slitherConstructorVariables", + "name": "f", "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "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/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "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, @@ -322,11 +390,10 @@ 11, 12, 13, - 14, - 15 + 14 ], - "starting_column": 1, - "ending_column": 2 + "starting_column": 3, + "ending_column": 4 }, "type_specific_fields": { "parent": { @@ -335,9 +402,9 @@ "source_mapping": { "start": 0, "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "is_dependency": false, "lines": [ 1, @@ -360,42 +427,37 @@ "ending_column": 2 } }, - "signature": "slitherConstructorVariables()" + "signature": "f()" } }, { "type": "node", - "name": "c = (b = + 1)", + "name": "x = (x = + 1)", "source_mapping": { - "start": 42, - "length": 13, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "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/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "is_dependency": false, "lines": [ - 4 + 9 ], - "starting_column": 3, - "ending_column": 16 + "starting_column": 5, + "ending_column": 15 }, "type_specific_fields": { "parent": { "type": "function", - "name": "slitherConstructorVariables", + "name": "f", "source_mapping": { - "start": 0, - "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "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/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "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, @@ -404,11 +466,10 @@ 11, 12, 13, - 14, - 15 + 14 ], - "starting_column": 1, - "ending_column": 2 + "starting_column": 3, + "ending_column": 4 }, "type_specific_fields": { "parent": { @@ -417,9 +478,9 @@ "source_mapping": { "start": 0, "length": 204, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_relative": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", + "filename_short": "tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol", "is_dependency": false, "lines": [ 1, @@ -442,77 +503,16 @@ "ending_column": 2 } }, - "signature": "slitherConstructorVariables()" - } - } - } - } - ], - "description": "C.slitherConstructorVariables() (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#1-15) uses an dangerous unary operator: c = (b = + 1) (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#4)\n", - "markdown": "[C.slitherConstructorVariables()](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L1-L15) uses an dangerous unary operator: [c = (b = + 1)](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4)\n", - "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L1-L15", - "id": "985ddf90b5ace46a66272275a4c46e1a8964ba0adbb8223a6c19506145ed2f8c", - "check": "incorrect-unary", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "variable", - "name": "c", - "source_mapping": { - "start": 42, - "length": 13, - "filename_relative": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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.c (tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#4) uses an dangerous unary operator: (b = + 1)\n", - "markdown": "[C.c](tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4) uses an dangerous unary operator: (b = + 1)\n", - "first_markdown_element": "tests/detectors/incorrect-unary/0.4.25/invalid_unary_expression.sol#L4", - "id": "98d05a4acbe13ff0e6fa795af35dc2002541cc7607f3f4d7ffb356f9d33681bd", + "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" diff --git a/tests/detectors/locked-ether/0.4.25/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol similarity index 100% rename from tests/detectors/locked-ether/0.4.25/locked_ether.sol rename to tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol diff --git a/tests/detectors/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 similarity index 65% rename from tests/detectors/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json rename to tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol.0.4.25.LockedEther.json index 31146a48d6..8a96569cee 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 368, "length": 32, - "filename_relative": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", "is_dependency": false, "lines": [ 26 @@ -25,9 +25,9 @@ "source_mapping": { "start": 47, "length": 72, - "filename_relative": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", "is_dependency": false, "lines": [ 4, @@ -44,9 +44,9 @@ "source_mapping": { "start": 25, "length": 97, - "filename_relative": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.4.25/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol", "is_dependency": false, "lines": [ 2, @@ -65,9 +65,9 @@ } } ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/detectors/locked-ether/0.4.25/locked_ether.sol#26) has payable functions:\n\t - Locked.receive() (tests/detectors/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/detectors/locked-ether/0.4.25/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive()](tests/detectors/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/detectors/locked-ether/0.4.25/locked_ether.sol#L26", + "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", diff --git a/tests/detectors/locked-ether/0.5.16/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol similarity index 100% rename from tests/detectors/locked-ether/0.5.16/locked_ether.sol rename to tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol diff --git a/tests/detectors/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 similarity index 65% rename from tests/detectors/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json rename to tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol.0.5.16.LockedEther.json index 27340be231..5b39da3978 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 375, "length": 32, - "filename_relative": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", "is_dependency": false, "lines": [ 26 @@ -25,9 +25,9 @@ "source_mapping": { "start": 46, "length": 72, - "filename_relative": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", "is_dependency": false, "lines": [ 4, @@ -44,9 +44,9 @@ "source_mapping": { "start": 24, "length": 97, - "filename_relative": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.5.16/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol", "is_dependency": false, "lines": [ 2, @@ -65,9 +65,9 @@ } } ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/detectors/locked-ether/0.5.16/locked_ether.sol#26) has payable functions:\n\t - Locked.receive() (tests/detectors/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/detectors/locked-ether/0.5.16/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive()](tests/detectors/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/detectors/locked-ether/0.5.16/locked_ether.sol#L26", + "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", diff --git a/tests/detectors/locked-ether/0.6.11/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol similarity index 100% rename from tests/detectors/locked-ether/0.6.11/locked_ether.sol rename to tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol diff --git a/tests/detectors/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 similarity index 65% rename from tests/detectors/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json rename to tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol.0.6.11.LockedEther.json index c738c37a03..49eab9f416 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 401, "length": 32, - "filename_relative": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", "is_dependency": false, "lines": [ 26 @@ -25,9 +25,9 @@ "source_mapping": { "start": 49, "length": 76, - "filename_relative": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", "is_dependency": false, "lines": [ 4, @@ -44,9 +44,9 @@ "source_mapping": { "start": 27, "length": 101, - "filename_relative": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.6.11/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol", "is_dependency": false, "lines": [ 2, @@ -65,9 +65,9 @@ } } ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/detectors/locked-ether/0.6.11/locked_ether.sol#26) has payable functions:\n\t - Locked.receive_eth() (tests/detectors/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/detectors/locked-ether/0.6.11/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive_eth()](tests/detectors/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/detectors/locked-ether/0.6.11/locked_ether.sol#L26", + "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", diff --git a/tests/detectors/locked-ether/0.7.6/locked_ether.sol b/tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol similarity index 100% rename from tests/detectors/locked-ether/0.7.6/locked_ether.sol rename to tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol diff --git a/tests/detectors/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 similarity index 65% rename from tests/detectors/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json rename to tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol.0.7.6.LockedEther.json index cd7545e530..dbfa517825 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 401, "length": 32, - "filename_relative": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", "is_dependency": false, "lines": [ 26 @@ -25,9 +25,9 @@ "source_mapping": { "start": 49, "length": 76, - "filename_relative": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", "is_dependency": false, "lines": [ 4, @@ -44,9 +44,9 @@ "source_mapping": { "start": 27, "length": 101, - "filename_relative": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", + "filename_relative": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/locked-ether/0.7.6/locked_ether.sol", + "filename_short": "tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol", "is_dependency": false, "lines": [ 2, @@ -65,9 +65,9 @@ } } ], - "description": "Contract locking ether found:\n\tContract OnlyLocked (tests/detectors/locked-ether/0.7.6/locked_ether.sol#26) has payable functions:\n\t - Locked.receive_eth() (tests/detectors/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/detectors/locked-ether/0.7.6/locked_ether.sol#L26) has payable functions:\n\t - [Locked.receive_eth()](tests/detectors/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/detectors/locked-ether/0.7.6/locked_ether.sol#L26", + "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", diff --git a/tests/detectors/low-level-calls/0.4.25/low_level_calls.sol b/tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol similarity index 100% rename from tests/detectors/low-level-calls/0.4.25/low_level_calls.sol rename to tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json rename to tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol.0.4.25.LowLevelCalls.json index d1da18b140..0b60c11631 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 51, "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", "is_dependency": false, "lines": [ 5, @@ -27,9 +27,9 @@ "source_mapping": { "start": 29, "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", "is_dependency": false, "lines": [ 4, @@ -51,9 +51,9 @@ "source_mapping": { "start": 111, "length": 45, - "filename_relative": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", "is_dependency": false, "lines": [ 6 @@ -68,9 +68,9 @@ "source_mapping": { "start": 51, "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", "is_dependency": false, "lines": [ 5, @@ -87,9 +87,9 @@ "source_mapping": { "start": 29, "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol", "is_dependency": false, "lines": [ 4, @@ -108,10 +108,10 @@ } } ], - "description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/detectors/low-level-calls/0.4.25/low_level_calls.sol#L5-L7", - "id": "77c8d8f4e884ababeb6c197067a580529b5bbec638ebc1ac2761719de99c5ed1", + "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" diff --git a/tests/detectors/low-level-calls/0.5.16/low_level_calls.sol b/tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol similarity index 100% rename from tests/detectors/low-level-calls/0.5.16/low_level_calls.sol rename to tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json rename to tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol.0.5.16.LowLevelCalls.json index 8849db969c..5c8498e47e 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 51, "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", "is_dependency": false, "lines": [ 5, @@ -27,9 +27,9 @@ "source_mapping": { "start": 29, "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", "is_dependency": false, "lines": [ 4, @@ -51,9 +51,9 @@ "source_mapping": { "start": 111, "length": 45, - "filename_relative": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", "is_dependency": false, "lines": [ 6 @@ -68,9 +68,9 @@ "source_mapping": { "start": 51, "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", "is_dependency": false, "lines": [ 5, @@ -87,9 +87,9 @@ "source_mapping": { "start": 29, "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol", "is_dependency": false, "lines": [ 4, @@ -108,10 +108,10 @@ } } ], - "description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/detectors/low-level-calls/0.5.16/low_level_calls.sol#L5-L7", - "id": "63c001820deebca3c0e65f71e6d2c6ada9534d4aefd1a317e2332af26533f42e", + "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" diff --git a/tests/detectors/low-level-calls/0.6.11/low_level_calls.sol b/tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol similarity index 100% rename from tests/detectors/low-level-calls/0.6.11/low_level_calls.sol rename to tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json rename to tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol.0.6.11.LowLevelCalls.json index 2481461144..24733492bc 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 51, "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", "is_dependency": false, "lines": [ 5, @@ -27,9 +27,9 @@ "source_mapping": { "start": 29, "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", "is_dependency": false, "lines": [ 4, @@ -51,9 +51,9 @@ "source_mapping": { "start": 111, "length": 45, - "filename_relative": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", "is_dependency": false, "lines": [ 6 @@ -68,9 +68,9 @@ "source_mapping": { "start": 51, "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", "is_dependency": false, "lines": [ 5, @@ -87,9 +87,9 @@ "source_mapping": { "start": 29, "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol", "is_dependency": false, "lines": [ 4, @@ -108,10 +108,10 @@ } } ], - "description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#5-7):\n\t- _receiver.call.value(msg.value).gas(7777)() (tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#L5-L7):\n\t- [_receiver.call.value(msg.value).gas(7777)()](tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/detectors/low-level-calls/0.6.11/low_level_calls.sol#L5-L7", - "id": "af64e4f5c7127bf9646b2f1810f9977d0de6d8c27683a42915067fc0efa11f75", + "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" diff --git a/tests/detectors/low-level-calls/0.7.6/low_level_calls.sol b/tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol similarity index 100% rename from tests/detectors/low-level-calls/0.7.6/low_level_calls.sol rename to tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol diff --git a/tests/detectors/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 similarity index 72% rename from tests/detectors/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json rename to tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol.0.7.6.LowLevelCalls.json index 58cae0bcf4..28ee31e98e 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 51, "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", "is_dependency": false, "lines": [ 5, @@ -27,9 +27,9 @@ "source_mapping": { "start": 29, "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", "is_dependency": false, "lines": [ 4, @@ -51,9 +51,9 @@ "source_mapping": { "start": 111, "length": 45, - "filename_relative": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", "is_dependency": false, "lines": [ 6 @@ -68,9 +68,9 @@ "source_mapping": { "start": 51, "length": 112, - "filename_relative": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", "is_dependency": false, "lines": [ 5, @@ -87,9 +87,9 @@ "source_mapping": { "start": 29, "length": 136, - "filename_relative": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", + "filename_relative": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol", + "filename_short": "tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol", "is_dependency": false, "lines": [ 4, @@ -108,10 +108,10 @@ } } ], - "description": "Low level call in Sender.send(address) (tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#5-7):\n\t- _receiver.call{gas: 7777,value: msg.value}() (tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#6)\n", - "markdown": "Low level call in [Sender.send(address)](tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#L5-L7):\n\t- [_receiver.call{gas: 7777,value: msg.value}()](tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#L6)\n", - "first_markdown_element": "tests/detectors/low-level-calls/0.7.6/low_level_calls.sol#L5-L7", - "id": "ec014cc9f1ed1d83294a16253fc735b22f22eebba3953cdae61f6547550fd64d", + "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" diff --git a/tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol b/tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol similarity index 100% rename from tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol rename to tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json rename to tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol.0.4.25.MappingDeletionDetection.json index 322681651b..3a68c56a3a 100644 --- a/tests/detectors/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 @@ -1,5 +1,181 @@ [ [ + { + "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": [ { @@ -8,9 +184,9 @@ "source_mapping": { "start": 544, "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "is_dependency": false, "lines": [ 28, @@ -28,9 +204,9 @@ "source_mapping": { "start": 189, "length": 825, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -76,9 +252,9 @@ "source_mapping": { "start": 218, "length": 94, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "is_dependency": false, "lines": [ 17, @@ -96,9 +272,9 @@ "source_mapping": { "start": 189, "length": 825, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -143,9 +319,9 @@ "source_mapping": { "start": 650, "length": 24, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "is_dependency": false, "lines": [ 30 @@ -160,9 +336,9 @@ "source_mapping": { "start": 544, "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "is_dependency": false, "lines": [ 28, @@ -180,9 +356,9 @@ "source_mapping": { "start": 189, "length": 825, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -225,186 +401,10 @@ } } ], - "description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#28-31) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#30)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L28-L31) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L30)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L28-L31", - "id": "6c8848cdccd246661513f2c5d83d03b4a1cb4f07e198a671ce0f6d27fda257ad", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 70, - "filename_relative": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.4.25/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.4.25/MappingDeletion.sol#L9-L11", - "id": "8c8313f12eb11c77c9acf1f683fe6d44a79ca1445e0d92cffd79c04a3462d3e9", + "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" diff --git a/tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol b/tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol similarity index 100% rename from tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol rename to tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json rename to tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol.0.5.16.MappingDeletionDetection.json index 0a0c55407d..4a1d285b4c 100644 --- a/tests/detectors/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 @@ -1,5 +1,181 @@ [ [ + { + "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": [ { @@ -8,9 +184,9 @@ "source_mapping": { "start": 595, "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "is_dependency": false, "lines": [ 29, @@ -28,9 +204,9 @@ "source_mapping": { "start": 199, "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -77,9 +253,9 @@ "source_mapping": { "start": 228, "length": 94, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "is_dependency": false, "lines": [ 17, @@ -97,9 +273,9 @@ "source_mapping": { "start": 199, "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -145,9 +321,9 @@ "source_mapping": { "start": 701, "length": 24, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "is_dependency": false, "lines": [ 31 @@ -162,9 +338,9 @@ "source_mapping": { "start": 595, "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "is_dependency": false, "lines": [ 29, @@ -182,9 +358,9 @@ "source_mapping": { "start": 199, "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -228,186 +404,10 @@ } } ], - "description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#31)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L31)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L29-L32", - "id": "22a793185576322b937d4887f31b8cb0b7c1cef90dde52abceb5ce57918267ec", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - }, - { - "elements": [ - { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.5.16/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.5.16/MappingDeletion.sol#L9-L11", - "id": "4c08076815986fec8b813cb66a7f7fe7002a5e87179bbd46e59279da2f46e992", + "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" diff --git a/tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol b/tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol similarity index 100% rename from tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol rename to tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json rename to tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol.0.6.11.MappingDeletionDetection.json index 40e10b66bf..9bbd114f7b 100644 --- a/tests/detectors/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 @@ -1,181 +1,5 @@ [ [ - { - "elements": [ - { - "type": "function", - "name": "deleteSt", - "source_mapping": { - "start": 114, - "length": 80, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L9-L11", - "id": "08c9067f48ad8538ab7e311aacd07ac4cc0ffbfe6ce2ccfd9ba9cd2a9e799eda", - "check": "mapping-deletion", - "impact": "Medium", - "confidence": "High" - }, { "elements": [ { @@ -184,9 +8,9 @@ "source_mapping": { "start": 595, "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "is_dependency": false, "lines": [ 29, @@ -204,9 +28,9 @@ "source_mapping": { "start": 199, "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -253,9 +77,9 @@ "source_mapping": { "start": 228, "length": 94, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "is_dependency": false, "lines": [ 17, @@ -273,9 +97,9 @@ "source_mapping": { "start": 199, "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -321,9 +145,9 @@ "source_mapping": { "start": 701, "length": 24, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "is_dependency": false, "lines": [ 31 @@ -338,9 +162,9 @@ "source_mapping": { "start": 595, "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "is_dependency": false, "lines": [ 29, @@ -358,9 +182,9 @@ "source_mapping": { "start": 199, "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -404,10 +228,186 @@ } } ], - "description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#31)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L31)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.6.11/MappingDeletion.sol#L29-L32", - "id": "6b7def5c6f4b5683fbf00d5b66df0f54110a6af8fbd0781b352dd72df5baccbc", + "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" diff --git a/tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol b/tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol similarity index 100% rename from tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol rename to tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json rename to tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol.0.7.6.MappingDeletionDetection.json index a1c8bd02b6..b77765921f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 595, "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 29, @@ -28,9 +28,9 @@ "source_mapping": { "start": 199, "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -77,9 +77,9 @@ "source_mapping": { "start": 228, "length": 94, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 17, @@ -97,9 +97,9 @@ "source_mapping": { "start": 199, "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -145,9 +145,9 @@ "source_mapping": { "start": 701, "length": 24, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 31 @@ -162,9 +162,9 @@ "source_mapping": { "start": 595, "length": 137, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 29, @@ -182,9 +182,9 @@ "source_mapping": { "start": 199, "length": 866, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 15, @@ -228,10 +228,10 @@ } } ], - "description": "Balances.deleteBalance(uint256) (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#29-32) deletes Balances.BalancesStruct (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#17-20) which contains a mapping:\n\t-delete stackBalance[idx] (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#31)\n", - "markdown": "[Balances.deleteBalance(uint256)](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L29-L32) deletes [Balances.BalancesStruct](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L17-L20) which contains a mapping:\n\t-[delete stackBalance[idx]](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L31)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L29-L32", - "id": "8b8d404f4b41f38833ede30ad76bd30b8ad035a2efc18a292426e554599b549b", + "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" @@ -244,9 +244,9 @@ "source_mapping": { "start": 114, "length": 80, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 9, @@ -263,9 +263,9 @@ "source_mapping": { "start": 29, "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 3, @@ -293,9 +293,9 @@ "source_mapping": { "start": 47, "length": 61, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 5, @@ -312,9 +312,9 @@ "source_mapping": { "start": 29, "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 3, @@ -341,9 +341,9 @@ "source_mapping": { "start": 175, "length": 12, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 10 @@ -358,9 +358,9 @@ "source_mapping": { "start": 114, "length": 80, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 9, @@ -377,9 +377,9 @@ "source_mapping": { "start": 29, "length": 168, - "filename_relative": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_relative": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol", + "filename_short": "tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol", "is_dependency": false, "lines": [ 3, @@ -404,10 +404,10 @@ } } ], - "description": "Lib.deleteSt(Lib.MyStruct[1]) (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#9-11) deletes Lib.MyStruct (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#5-7) which contains a mapping:\n\t-delete st[0] (tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#10)\n", - "markdown": "[Lib.deleteSt(Lib.MyStruct[1])](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L9-L11) deletes [Lib.MyStruct](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L5-L7) which contains a mapping:\n\t-[delete st[0]](tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L10)\n", - "first_markdown_element": "tests/detectors/mapping-deletion/0.7.6/MappingDeletion.sol#L9-L11", - "id": "a6c44f7353505e72d74433eef65af07e90cc95c3797d5b395766255f0ecb91e1", + "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" diff --git a/tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol b/tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol similarity index 100% rename from tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol rename to tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol diff --git a/tests/detectors/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 similarity index 57% rename from tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol.0.4.25.MissingInheritance.json rename to tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol.0.4.25.MissingInheritance.json index 467d659618..a3dc88481d 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 68, "length": 89, - "filename_relative": "tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol", "is_dependency": false, "lines": [ 5, @@ -30,9 +30,9 @@ "source_mapping": { "start": 0, "length": 66, - "filename_relative": "tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol", "is_dependency": false, "lines": [ 1, @@ -44,9 +44,9 @@ } } ], - "description": "Something (tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/detectors/missing-inheritance/0.4.25/unimplemented_interface.sol#L5-L10", + "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", diff --git a/tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol b/tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol similarity index 100% rename from tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol rename to tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol diff --git a/tests/detectors/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 similarity index 57% rename from tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol.0.5.16.MissingInheritance.json rename to tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol.0.5.16.MissingInheritance.json index 5561e4bf83..85d4221205 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 68, "length": 89, - "filename_relative": "tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol", "is_dependency": false, "lines": [ 5, @@ -30,9 +30,9 @@ "source_mapping": { "start": 0, "length": 66, - "filename_relative": "tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol", "is_dependency": false, "lines": [ 1, @@ -44,9 +44,9 @@ } } ], - "description": "Something (tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/detectors/missing-inheritance/0.5.16/unimplemented_interface.sol#L5-L10", + "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", diff --git a/tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol b/tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol similarity index 100% rename from tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol rename to tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol diff --git a/tests/detectors/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 similarity index 57% rename from tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol.0.6.11.MissingInheritance.json rename to tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol.0.6.11.MissingInheritance.json index 40adbfb75c..5c992d2414 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 68, "length": 89, - "filename_relative": "tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol", "is_dependency": false, "lines": [ 5, @@ -30,9 +30,9 @@ "source_mapping": { "start": 0, "length": 66, - "filename_relative": "tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol", "is_dependency": false, "lines": [ 1, @@ -44,9 +44,9 @@ } } ], - "description": "Something (tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/detectors/missing-inheritance/0.6.11/unimplemented_interface.sol#L5-L10", + "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", diff --git a/tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol b/tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol similarity index 100% rename from tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol rename to tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol diff --git a/tests/detectors/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 similarity index 57% rename from tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol.0.7.6.MissingInheritance.json rename to tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol.0.7.6.MissingInheritance.json index 734587caab..ff13fef9ea 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 68, "length": 89, - "filename_relative": "tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol", "is_dependency": false, "lines": [ 5, @@ -30,9 +30,9 @@ "source_mapping": { "start": 0, "length": 66, - "filename_relative": "tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol", + "filename_relative": "tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol", "is_dependency": false, "lines": [ 1, @@ -44,9 +44,9 @@ } } ], - "description": "Something (tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol#5-10) should inherit from ISomething (tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol#1-3)\n", - "markdown": "[Something](tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol#L5-L10) should inherit from [ISomething](tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol#L1-L3)\n", - "first_markdown_element": "tests/detectors/missing-inheritance/0.7.6/unimplemented_interface.sol#L5-L10", + "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", diff --git a/tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol b/tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol similarity index 100% rename from tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol rename to tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol diff --git a/tests/detectors/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 similarity index 83% rename from tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json rename to tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol.0.4.25.MissingZeroAddressValidation.json index 18573c2517..528c5c312e 100644 --- a/tests/detectors/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 @@ -6,33 +6,33 @@ "type": "variable", "name": "addr", "source_mapping": { - "start": 393, + "start": 706, "length": 12, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 19 + 28 ], - "starting_column": 26, - "ending_column": 38 + "starting_column": 22, + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_transfer", + "name": "bad4_call", "source_mapping": { - "start": 370, - "length": 114, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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 + 28, + 29, + 30 ], "starting_column": 3, "ending_column": 4 @@ -44,9 +44,9 @@ "source_mapping": { "start": 0, "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -125,42 +125,42 @@ "ending_column": 2 } }, - "signature": "bad2_transfer(address)" + "signature": "bad4_call(address)" } } } }, { "type": "node", - "name": "addr.transfer(msg.value)", + "name": "addr.call.value(msg.value)()", "source_mapping": { - "start": 427, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 20 + 29 ], "starting_column": 5, - "ending_column": 29 + "ending_column": 35 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_transfer", + "name": "bad4_call", "source_mapping": { - "start": 370, - "length": 114, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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 + 28, + 29, + 30 ], "starting_column": 3, "ending_column": 4 @@ -172,9 +172,9 @@ "source_mapping": { "start": 0, "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -253,16 +253,16 @@ "ending_column": 2 } }, - "signature": "bad2_transfer(address)" + "signature": "bad4_call(address)" } } } } ], - "description": "C.bad2_transfer(address).addr (tests/detectors/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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/detectors/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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L19", - "id": "16629b342aad1ee3e0d3f933781eea91f1cb34b1770f84cb38a5d911e15b3476", + "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" @@ -275,9 +275,9 @@ "source_mapping": { "start": 511, "length": 12, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 23 @@ -292,9 +292,9 @@ "source_mapping": { "start": 488, "length": 195, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 23, @@ -312,9 +312,9 @@ "source_mapping": { "start": 0, "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -404,9 +404,9 @@ "source_mapping": { "start": 545, "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 24 @@ -421,9 +421,9 @@ "source_mapping": { "start": 488, "length": 195, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 23, @@ -441,9 +441,9 @@ "source_mapping": { "start": 0, "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -528,10 +528,10 @@ } } ], - "description": "C.bad3_transfer(address).addr (tests/detectors/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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/detectors/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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L23", - "id": "27318d51c369e1e169a889a6c2678a023a22e1e3a691ab41a429684e338d2d1e", + "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" @@ -542,33 +542,33 @@ "type": "variable", "name": "addr", "source_mapping": { - "start": 706, + "start": 393, "length": 12, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 28 + 19 ], - "starting_column": 22, - "ending_column": 34 + "starting_column": 26, + "ending_column": 38 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4_call", + "name": "bad2_transfer", "source_mapping": { - "start": 687, - "length": 112, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -580,9 +580,9 @@ "source_mapping": { "start": 0, "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -661,42 +661,42 @@ "ending_column": 2 } }, - "signature": "bad4_call(address)" + "signature": "bad2_transfer(address)" } } } }, { "type": "node", - "name": "addr.call.value(msg.value)()", + "name": "addr.transfer(msg.value)", "source_mapping": { - "start": 740, - "length": 30, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 29 + 20 ], "starting_column": 5, - "ending_column": 35 + "ending_column": 29 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4_call", + "name": "bad2_transfer", "source_mapping": { - "start": 687, - "length": 112, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -708,9 +708,9 @@ "source_mapping": { "start": 0, "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -789,16 +789,16 @@ "ending_column": 2 } }, - "signature": "bad4_call(address)" + "signature": "bad2_transfer(address)" } } } } ], - "description": "C.bad4_call(address).addr (tests/detectors/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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/detectors/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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L28", - "id": "34b73dbecfa159bc5631cb95ff2343c92792d80f448fc425b7d1bba399108073", + "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" @@ -811,9 +811,9 @@ "source_mapping": { "start": 149, "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 10 @@ -828,9 +828,9 @@ "source_mapping": { "start": 125, "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 10, @@ -847,9 +847,9 @@ "source_mapping": { "start": 0, "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -939,9 +939,9 @@ "source_mapping": { "start": 188, "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 11 @@ -956,9 +956,9 @@ "source_mapping": { "start": 125, "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 10, @@ -975,9 +975,9 @@ "source_mapping": { "start": 0, "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1062,10 +1062,10 @@ } } ], - "description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L10", - "id": "4215a731670a0150f45d8cd682dc81ed85ffd5268cbad6ac9fe8bd044e54f74d", + "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" @@ -1078,9 +1078,9 @@ "source_mapping": { "start": 256, "length": 12, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14 @@ -1095,9 +1095,9 @@ "source_mapping": { "start": 237, "length": 129, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14, @@ -1115,9 +1115,9 @@ "source_mapping": { "start": 0, "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1207,9 +1207,9 @@ "source_mapping": { "start": 290, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 15 @@ -1224,9 +1224,9 @@ "source_mapping": { "start": 237, "length": 129, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14, @@ -1244,9 +1244,9 @@ "source_mapping": { "start": 0, "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1336,9 +1336,9 @@ "source_mapping": { "start": 340, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 16 @@ -1353,9 +1353,9 @@ "source_mapping": { "start": 237, "length": 129, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14, @@ -1373,9 +1373,9 @@ "source_mapping": { "start": 0, "length": 1977, - "filename_relative": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1460,10 +1460,10 @@ } } ], - "description": "C.bad1_send(address).addr (tests/detectors/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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/detectors/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/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.4.25/missing_zero_address_validation.sol#L14", - "id": "dd2af335a7782a70944073bf1cf5dea69845ddcf6a45ea86a9fcf59793b151c8", + "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" diff --git a/tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol b/tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol similarity index 100% rename from tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol rename to tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol diff --git a/tests/detectors/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 similarity index 83% rename from tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json rename to tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol.0.5.16.MissingZeroAddressValidation.json index 3587bcd4b6..9e048e04a0 100644 --- a/tests/detectors/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 @@ -6,34 +6,33 @@ "type": "variable", "name": "addr", "source_mapping": { - "start": 256, + "start": 401, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 14 + 19 ], - "starting_column": 22, - "ending_column": 42 + "starting_column": 26, + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1_send", + "name": "bad2_transfer", "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -45,9 +44,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -126,43 +125,42 @@ "ending_column": 2 } }, - "signature": "bad1_send(address)" + "signature": "bad2_transfer(address)" } } } }, { "type": "node", - "name": "addr.send(msg.value)", + "name": "addr.transfer(msg.value)", "source_mapping": { - "start": 298, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 15 + 20 ], "starting_column": 5, - "ending_column": 25 + "ending_column": 29 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1_send", + "name": "bad2_transfer", "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -174,9 +172,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -255,43 +253,53 @@ "ending_column": 2 } }, - "signature": "bad1_send(address)" + "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": "node", - "name": "addr.send(msg.value)", + "type": "variable", + "name": "addr", "source_mapping": { - "start": 348, + "start": 730, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 16 + 28 ], - "starting_column": 5, - "ending_column": 25 + "starting_column": 22, + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1_send", + "name": "bad4_call", "source_mapping": { - "start": 237, - "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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 + 28, + 29, + 30 ], "starting_column": 3, "ending_column": 4 @@ -303,9 +311,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -384,53 +392,42 @@ "ending_column": 2 } }, - "signature": "bad1_send(address)" + "signature": "bad4_call(address)" } } } - } - ], - "description": "C.bad1_send(address).addr (tests/detectors/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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/detectors/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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L14", - "id": "3d9ba6630d8f1357ab26196f519d74d6410a8e52994ae341d26a17d466200308", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "variable", - "name": "addr", + "type": "node", + "name": "addr.call.value(msg.value)()", "source_mapping": { - "start": 401, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 19 + 29 ], - "starting_column": 26, - "ending_column": 46 + "starting_column": 5, + "ending_column": 35 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_transfer", + "name": "bad4_call", "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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 + 28, + 29, + 30 ], "starting_column": 3, "ending_column": 4 @@ -442,9 +439,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -523,42 +520,53 @@ "ending_column": 2 } }, - "signature": "bad2_transfer(address)" + "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": "node", - "name": "addr.transfer(msg.value)", + "type": "variable", + "name": "new_owner", "source_mapping": { - "start": 443, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 20 + 10 ], - "starting_column": 5, - "ending_column": 29 + "starting_column": 27, + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_transfer", + "name": "bad0_set_owner", "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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 + 10, + 11, + 12 ], "starting_column": 3, "ending_column": 4 @@ -570,9 +578,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -651,54 +659,42 @@ "ending_column": 2 } }, - "signature": "bad2_transfer(address)" + "signature": "bad0_set_owner(address)" } } } - } - ], - "description": "C.bad2_transfer(address).addr (tests/detectors/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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/detectors/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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L19", - "id": "654c703c39420ad30e6624b6a98892faffc5e90820e7aabfd3cd66fe8870b7b8", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "variable", - "name": "addr", + "type": "node", + "name": "owner = new_owner", "source_mapping": { - "start": 527, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 23 + 11 ], - "starting_column": 26, - "ending_column": 46 + "starting_column": 5, + "ending_column": 22 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3_transfer", + "name": "bad0_set_owner", "source_mapping": { - "start": 504, - "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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 + 10, + 11, + 12 ], "starting_column": 3, "ending_column": 4 @@ -710,9 +706,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -791,26 +787,37 @@ "ending_column": 2 } }, - "signature": "bad3_transfer(address)" + "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": "node", - "name": "addr.transfer(msg.value)", + "type": "variable", + "name": "addr", "source_mapping": { - "start": 569, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 24 + 23 ], - "starting_column": 5, - "ending_column": 29 + "starting_column": 26, + "ending_column": 46 }, "type_specific_fields": { "parent": { @@ -819,9 +826,9 @@ "source_mapping": { "start": 504, "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 23, @@ -839,9 +846,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -924,49 +931,39 @@ } } } - } - ], - "description": "C.bad3_transfer(address).addr (tests/detectors/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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/detectors/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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L23", - "id": "98f43dd716a11685725ad4c615b07dd773bcf0f1c7710357fa1a5606084dd999", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "variable", - "name": "addr", + "type": "node", + "name": "addr.transfer(msg.value)", "source_mapping": { - "start": 730, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 28 + 24 ], - "starting_column": 22, - "ending_column": 42 + "starting_column": 5, + "ending_column": 29 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4_call", + "name": "bad3_transfer", "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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 + 23, + 24, + 25, + 26 ], "starting_column": 3, "ending_column": 4 @@ -978,9 +975,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1059,42 +1056,54 @@ "ending_column": 2 } }, - "signature": "bad4_call(address)" + "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": "node", - "name": "addr.call.value(msg.value)()", + "type": "variable", + "name": "addr", "source_mapping": { - "start": 772, - "length": 30, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 29 + 14 ], - "starting_column": 5, - "ending_column": 35 + "starting_column": 22, + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4_call", + "name": "bad1_send", "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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 + 14, + 15, + 16, + 17 ], "starting_column": 3, "ending_column": 4 @@ -1106,9 +1115,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1187,53 +1196,43 @@ "ending_column": 2 } }, - "signature": "bad4_call(address)" + "signature": "bad1_send(address)" } } } - } - ], - "description": "C.bad4_call(address).addr (tests/detectors/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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/detectors/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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L28", - "id": "aa90b9a8002d093f5996492eae0d441bde928e8187fc6d2790f973f6383d6095", - "check": "missing-zero-check", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "variable", - "name": "new_owner", + "type": "node", + "name": "addr.send(msg.value)", "source_mapping": { - "start": 149, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 10 + 15 ], - "starting_column": 27, - "ending_column": 44 + "starting_column": 5, + "ending_column": 25 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0_set_owner", + "name": "bad1_send", "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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 + 14, + 15, + 16, + 17 ], "starting_column": 3, "ending_column": 4 @@ -1245,9 +1244,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1326,42 +1325,43 @@ "ending_column": 2 } }, - "signature": "bad0_set_owner(address)" + "signature": "bad1_send(address)" } } } }, { "type": "node", - "name": "owner = new_owner", + "name": "addr.send(msg.value)", "source_mapping": { - "start": 188, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 11 + 16 ], "starting_column": 5, - "ending_column": 22 + "ending_column": 25 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0_set_owner", + "name": "bad1_send", "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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 + 14, + 15, + 16, + 17 ], "starting_column": 3, "ending_column": 4 @@ -1373,9 +1373,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1454,16 +1454,16 @@ "ending_column": 2 } }, - "signature": "bad0_set_owner(address)" + "signature": "bad1_send(address)" } } } } ], - "description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.5.16/missing_zero_address_validation.sol#L10", - "id": "ac59285350b35c2b885a6e9efe641474ae51b830fad5856f622fe264096e44cd", + "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" diff --git a/tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol b/tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol similarity index 100% rename from tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol rename to tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol diff --git a/tests/detectors/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 similarity index 83% rename from tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json rename to tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol.0.6.11.MissingZeroAddressValidation.json index b2536efa00..688a270f47 100644 --- a/tests/detectors/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 @@ -6,33 +6,33 @@ "type": "variable", "name": "addr", "source_mapping": { - "start": 730, + "start": 401, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 28 + 19 ], - "starting_column": 22, - "ending_column": 42 + "starting_column": 26, + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4_call", + "name": "bad2_transfer", "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -44,9 +44,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -125,42 +125,42 @@ "ending_column": 2 } }, - "signature": "bad4_call(address)" + "signature": "bad2_transfer(address)" } } } }, { "type": "node", - "name": "addr.call.value(msg.value)()", + "name": "addr.transfer(msg.value)", "source_mapping": { - "start": 772, - "length": 30, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 29 + 20 ], "starting_column": 5, - "ending_column": 35 + "ending_column": 29 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4_call", + "name": "bad2_transfer", "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -172,9 +172,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -253,16 +253,16 @@ "ending_column": 2 } }, - "signature": "bad4_call(address)" + "signature": "bad2_transfer(address)" } } } } ], - "description": "C.bad4_call(address).addr (tests/detectors/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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/detectors/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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L28", - "id": "174a4f81c4e872deda0a31c10f8136b52d60adc89ba9be1548b308a09e225763", + "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" @@ -275,9 +275,9 @@ "source_mapping": { "start": 149, "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 10 @@ -292,9 +292,9 @@ "source_mapping": { "start": 125, "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 10, @@ -311,9 +311,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -403,9 +403,9 @@ "source_mapping": { "start": 188, "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 11 @@ -420,9 +420,9 @@ "source_mapping": { "start": 125, "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 10, @@ -439,9 +439,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -526,10 +526,10 @@ } } ], - "description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L10", - "id": "1d2f6294ee0cfc4aae290fe04610e1df21d508008e75000ef017463482d78f95", + "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" @@ -542,9 +542,9 @@ "source_mapping": { "start": 256, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14 @@ -559,9 +559,9 @@ "source_mapping": { "start": 237, "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14, @@ -579,9 +579,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -671,9 +671,9 @@ "source_mapping": { "start": 298, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 15 @@ -688,9 +688,9 @@ "source_mapping": { "start": 237, "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14, @@ -708,9 +708,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -800,9 +800,9 @@ "source_mapping": { "start": 348, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 16 @@ -817,9 +817,9 @@ "source_mapping": { "start": 237, "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14, @@ -837,9 +837,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -924,10 +924,10 @@ } } ], - "description": "C.bad1_send(address).addr (tests/detectors/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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/detectors/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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L14", - "id": "21de216080f0f27154e9b3cd2fef7ead38dacc945160b619923c33344d636826", + "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" @@ -938,33 +938,33 @@ "type": "variable", "name": "addr", "source_mapping": { - "start": 401, + "start": 730, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 19 + 28 ], - "starting_column": 26, - "ending_column": 46 + "starting_column": 22, + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_transfer", + "name": "bad4_call", "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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 + 28, + 29, + 30 ], "starting_column": 3, "ending_column": 4 @@ -976,9 +976,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1057,42 +1057,42 @@ "ending_column": 2 } }, - "signature": "bad2_transfer(address)" + "signature": "bad4_call(address)" } } } }, { "type": "node", - "name": "addr.transfer(msg.value)", + "name": "addr.call.value(msg.value)()", "source_mapping": { - "start": 443, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 20 + 29 ], "starting_column": 5, - "ending_column": 29 + "ending_column": 35 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_transfer", + "name": "bad4_call", "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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 + 28, + 29, + 30 ], "starting_column": 3, "ending_column": 4 @@ -1104,9 +1104,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1185,16 +1185,16 @@ "ending_column": 2 } }, - "signature": "bad2_transfer(address)" + "signature": "bad4_call(address)" } } } } ], - "description": "C.bad2_transfer(address).addr (tests/detectors/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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/detectors/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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L19", - "id": "3d8300f19d40cb2f76fcb587f94e3dfc751319b119bd83af4cd7f962b680feb8", + "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" @@ -1207,9 +1207,9 @@ "source_mapping": { "start": 527, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 23 @@ -1224,9 +1224,9 @@ "source_mapping": { "start": 504, "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 23, @@ -1244,9 +1244,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1336,9 +1336,9 @@ "source_mapping": { "start": 569, "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 24 @@ -1353,9 +1353,9 @@ "source_mapping": { "start": 504, "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 23, @@ -1373,9 +1373,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1460,10 +1460,10 @@ } } ], - "description": "C.bad3_transfer(address).addr (tests/detectors/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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/detectors/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/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.6.11/missing_zero_address_validation.sol#L23", - "id": "efee9ceff8491c62ed42aab7c70b0a8d9c7731af8ecb304e6deafcc64a20c6f4", + "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" diff --git a/tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol b/tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol similarity index 100% rename from tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol rename to tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol diff --git a/tests/detectors/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 similarity index 84% rename from tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json rename to tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol.0.7.6.MissingZeroAddressValidation.json index d64dcd7ed4..afaceab841 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 256, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14 @@ -25,9 +25,9 @@ "source_mapping": { "start": 237, "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14, @@ -45,9 +45,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -137,9 +137,9 @@ "source_mapping": { "start": 298, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 15 @@ -154,9 +154,9 @@ "source_mapping": { "start": 237, "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14, @@ -174,9 +174,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -266,9 +266,9 @@ "source_mapping": { "start": 348, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 16 @@ -283,9 +283,9 @@ "source_mapping": { "start": 237, "length": 137, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 14, @@ -303,9 +303,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -390,10 +390,10 @@ } } ], - "description": "C.bad1_send(address).addr (tests/detectors/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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#15)\n\t\t- addr.send(msg.value) (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#16)\n", - "markdown": "[C.bad1_send(address).addr](tests/detectors/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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L15)\n\t\t- [addr.send(msg.value)](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L16)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L14", - "id": "1a145c4f40c60c9db09f5743139503a60b40be83dda9c57f8c47a400f1bc5b8a", + "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" @@ -406,9 +406,9 @@ "source_mapping": { "start": 527, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 23 @@ -423,9 +423,9 @@ "source_mapping": { "start": 504, "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 23, @@ -443,9 +443,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -535,9 +535,9 @@ "source_mapping": { "start": 569, "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 24 @@ -552,9 +552,9 @@ "source_mapping": { "start": 504, "length": 203, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 23, @@ -572,9 +572,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -659,10 +659,10 @@ } } ], - "description": "C.bad3_transfer(address).addr (tests/detectors/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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#24)\n", - "markdown": "[C.bad3_transfer(address).addr](tests/detectors/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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L24)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L23", - "id": "1cc3cad32b73e31e6d6f214b9a99b19c5bd5633ddf3ab58267a5870051c22a02", + "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" @@ -671,35 +671,35 @@ "elements": [ { "type": "variable", - "name": "new_owner", + "name": "addr", "source_mapping": { - "start": 149, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 10 + 28 ], - "starting_column": 27, - "ending_column": 44 + "starting_column": 22, + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0_set_owner", + "name": "bad4_call", "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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 + 28, + 29, + 30 ], "starting_column": 3, "ending_column": 4 @@ -711,9 +711,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -792,42 +792,42 @@ "ending_column": 2 } }, - "signature": "bad0_set_owner(address)" + "signature": "bad4_call(address)" } } } }, { "type": "node", - "name": "owner = new_owner", + "name": "addr.call{value: msg.value}()", "source_mapping": { - "start": 188, - "length": 17, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 11 + 29 ], "starting_column": 5, - "ending_column": 22 + "ending_column": 35 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0_set_owner", + "name": "bad4_call", "source_mapping": { - "start": 125, - "length": 108, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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 + 28, + 29, + 30 ], "starting_column": 3, "ending_column": 4 @@ -839,9 +839,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -920,16 +920,16 @@ "ending_column": 2 } }, - "signature": "bad0_set_owner(address)" + "signature": "bad4_call(address)" } } } } ], - "description": "C.bad0_set_owner(address).new_owner (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#10) lacks a zero-check on :\n\t\t- owner = new_owner (tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#11)\n", - "markdown": "[C.bad0_set_owner(address).new_owner](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L10) lacks a zero-check on :\n\t\t- [owner = new_owner](tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L11)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L10", - "id": "2c8db81e6ce5a16bd76db4dd9d27d931037b6b06bacd06afa427e35f4dd22aa6", + "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" @@ -940,33 +940,33 @@ "type": "variable", "name": "addr", "source_mapping": { - "start": 730, + "start": 401, "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 28 + 19 ], - "starting_column": 22, - "ending_column": 42 + "starting_column": 26, + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4_call", + "name": "bad2_transfer", "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -978,9 +978,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1059,42 +1059,42 @@ "ending_column": 2 } }, - "signature": "bad4_call(address)" + "signature": "bad2_transfer(address)" } } } }, { "type": "node", - "name": "addr.call{value: msg.value}()", + "name": "addr.transfer(msg.value)", "source_mapping": { - "start": 772, - "length": 30, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 29 + 20 ], "starting_column": 5, - "ending_column": 35 + "ending_column": 29 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4_call", + "name": "bad2_transfer", "source_mapping": { - "start": 711, - "length": 120, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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 + 19, + 20, + 21 ], "starting_column": 3, "ending_column": 4 @@ -1106,9 +1106,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1187,16 +1187,16 @@ "ending_column": 2 } }, - "signature": "bad4_call(address)" + "signature": "bad2_transfer(address)" } } } } ], - "description": "C.bad4_call(address).addr (tests/detectors/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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#29)\n", - "markdown": "[C.bad4_call(address).addr](tests/detectors/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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L29)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L28", - "id": "64e549d94c8869ed8c827ad3ee766cb23d4e8a64bc9b19e06d593fa8942363b4", + "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" @@ -1205,35 +1205,35 @@ "elements": [ { "type": "variable", - "name": "addr", + "name": "new_owner", "source_mapping": { - "start": 401, - "length": 20, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 19 + 10 ], - "starting_column": 26, - "ending_column": 46 + "starting_column": 27, + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_transfer", + "name": "bad0_set_owner", "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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 + 10, + 11, + 12 ], "starting_column": 3, "ending_column": 4 @@ -1245,9 +1245,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1326,42 +1326,42 @@ "ending_column": 2 } }, - "signature": "bad2_transfer(address)" + "signature": "bad0_set_owner(address)" } } } }, { "type": "node", - "name": "addr.transfer(msg.value)", + "name": "owner = new_owner", "source_mapping": { - "start": 443, - "length": 24, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ - 20 + 11 ], "starting_column": 5, - "ending_column": 29 + "ending_column": 22 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_transfer", + "name": "bad0_set_owner", "source_mapping": { - "start": 378, - "length": 122, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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 + 10, + 11, + 12 ], "starting_column": 3, "ending_column": 4 @@ -1373,9 +1373,9 @@ "source_mapping": { "start": 0, "length": 2049, - "filename_relative": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol", + "filename_short": "tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol", "is_dependency": false, "lines": [ 1, @@ -1454,16 +1454,16 @@ "ending_column": 2 } }, - "signature": "bad2_transfer(address)" + "signature": "bad0_set_owner(address)" } } } } ], - "description": "C.bad2_transfer(address).addr (tests/detectors/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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#20)\n", - "markdown": "[C.bad2_transfer(address).addr](tests/detectors/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/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L20)\n", - "first_markdown_element": "tests/detectors/missing-zero-check/0.7.6/missing_zero_address_validation.sol#L19", - "id": "f7028c02d7b7a78ef72a33c7b976bcb047206b9c82a9acc39cdf11a5e188208f", + "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" diff --git a/tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol b/tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol similarity index 100% rename from tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol rename to tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol.0.4.25.MsgValueInLoop.json rename to tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol.0.4.25.MsgValueInLoop.json index 65e9981ae5..430a113194 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 61, "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ 5, @@ -29,9 +29,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -78,9 +78,9 @@ "source_mapping": { "start": 188, "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ 7 @@ -95,9 +95,9 @@ "source_mapping": { "start": 61, "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ 5, @@ -116,9 +116,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -162,10 +162,10 @@ } } ], - "description": "C.bad(address[]) (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L5-L9", - "id": "027924fc305bf0f3b5ac969d0581163babd157c200d89860a2ee0f3f0f32fb9e", + "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" @@ -174,18 +174,22 @@ "elements": [ { "type": "function", - "name": "bad2_internal", + "name": "bad3", "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ - 17, - 18, - 19 + 21, + 22, + 23, + 24, + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -197,9 +201,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -237,40 +241,44 @@ "ending_column": 0 } }, - "signature": "bad2_internal(address)" + "signature": "bad3(address[])" } }, { "type": "node", - "name": "balances[a] += msg.value", + "name": "balances[receivers[j]] += msg.value", "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ - 18 + 24 ], - "starting_column": 9, - "ending_column": 33 + "starting_column": 17, + "ending_column": 52 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_internal", + "name": "bad3", "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ - 17, - 18, - 19 + 21, + 22, + 23, + 24, + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -282,9 +290,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -322,16 +330,16 @@ "ending_column": 0 } }, - "signature": "bad2_internal(address)" + "signature": "bad3(address[])" } } } } ], - "description": "C.bad2_internal(address) (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L17-L19", - "id": "46e81ee3916dd92be3598ae1c853e34145102f527870dd2eb0409fee047ddc4d", + "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" @@ -340,22 +348,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad2_internal", "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "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 + 17, + 18, + 19 ], "starting_column": 5, "ending_column": 6 @@ -367,9 +371,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -407,44 +411,40 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad2_internal(address)" } }, { "type": "node", - "name": "balances[receivers[j]] += msg.value", + "name": "balances[a] += msg.value", "source_mapping": { - "start": 694, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ - 24 + 18 ], - "starting_column": 17, - "ending_column": 52 + "starting_column": 9, + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad2_internal", "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "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 + 17, + 18, + 19 ], "starting_column": 5, "ending_column": 6 @@ -456,9 +456,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -496,16 +496,16 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad2_internal(address)" } } } } ], - "description": "C.bad3(address[]) (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.4.25/msg_value_loop.sol#L21-L27", - "id": "91bc78ce47280ec59296ebb0cf98afb5ede603b3c31025002c1c2ec1b940ad68", + "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" diff --git a/tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol b/tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol similarity index 100% rename from tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol rename to tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol.0.5.16.MsgValueInLoop.json rename to tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol.0.5.16.MsgValueInLoop.json index 778e912fda..968ded84fa 100644 --- a/tests/detectors/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 @@ -4,20 +4,22 @@ "elements": [ { "type": "function", - "name": "bad", + "name": "bad3", "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "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 + 21, + 22, + 23, + 24, + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -29,9 +31,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -69,42 +71,44 @@ "ending_column": 0 } }, - "signature": "bad(address[])" + "signature": "bad3(address[])" } }, { "type": "node", - "name": "balances[receivers[i]] += msg.value", + "name": "balances[receivers[j]] += msg.value", "source_mapping": { - "start": 188, + "start": 694, "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "is_dependency": false, "lines": [ - 7 + 24 ], - "starting_column": 13, - "ending_column": 48 + "starting_column": 17, + "ending_column": 52 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad", + "name": "bad3", "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "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 + 21, + 22, + 23, + 24, + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -116,9 +120,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -156,16 +160,16 @@ "ending_column": 0 } }, - "signature": "bad(address[])" + "signature": "bad3(address[])" } } } } ], - "description": "C.bad(address[]) (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L5-L9", - "id": "73184041d050abe4e838c17a866f4b56dcb249488d85eecf48cde8eaad21511a", + "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" @@ -178,9 +182,9 @@ "source_mapping": { "start": 425, "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "is_dependency": false, "lines": [ 17, @@ -197,9 +201,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -246,9 +250,9 @@ "source_mapping": { "start": 478, "length": 24, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "is_dependency": false, "lines": [ 18 @@ -263,9 +267,9 @@ "source_mapping": { "start": 425, "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "is_dependency": false, "lines": [ 17, @@ -282,9 +286,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -328,10 +332,10 @@ } } ], - "description": "C.bad2_internal(address) (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L17-L19", - "id": "a7decdca7d1ca27f92038a6a0d1ee3899fe523fef53329f4bdd976040fe05fd4", + "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" @@ -340,22 +344,20 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad", "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -367,9 +369,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -407,44 +409,42 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad(address[])" } }, { "type": "node", - "name": "balances[receivers[j]] += msg.value", + "name": "balances[receivers[i]] += msg.value", "source_mapping": { - "start": 694, + "start": 188, "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "is_dependency": false, "lines": [ - 24 + 7 ], - "starting_column": 17, - "ending_column": 52 + "starting_column": 13, + "ending_column": 48 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad", "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -456,9 +456,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -496,16 +496,16 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad(address[])" } } } } ], - "description": "C.bad3(address[]) (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.5.16/msg_value_loop.sol#L21-L27", - "id": "e8b65da4e14be1243f400e5b4e656c10d7e360391ecdc376848c2c25c257f593", + "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" diff --git a/tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol b/tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol similarity index 100% rename from tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol rename to tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol.0.6.11.MsgValueInLoop.json rename to tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol.0.6.11.MsgValueInLoop.json index cca0c8183e..01e99cd49c 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 425, "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 17, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -76,9 +76,9 @@ "source_mapping": { "start": 478, "length": 24, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 18 @@ -93,9 +93,9 @@ "source_mapping": { "start": 425, "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 17, @@ -112,9 +112,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -158,10 +158,10 @@ } } ], - "description": "C.bad2_internal(address) (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L17-L19", - "id": "84b39e0706b72e42b4cf069a649c5825e35ed842871350cc064c8123396b6f96", + "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" @@ -174,9 +174,9 @@ "source_mapping": { "start": 61, "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 5, @@ -195,9 +195,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -244,9 +244,9 @@ "source_mapping": { "start": 188, "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 7 @@ -261,9 +261,9 @@ "source_mapping": { "start": 61, "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 5, @@ -282,9 +282,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -328,10 +328,10 @@ } } ], - "description": "C.bad(address[]) (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L5-L9", - "id": "b8e2b147c51a880dc38a635915a0511954ade8ffeab3efd16e389a370e0c0b1b", + "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" @@ -344,9 +344,9 @@ "source_mapping": { "start": 515, "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 21, @@ -367,9 +367,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -416,9 +416,9 @@ "source_mapping": { "start": 694, "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 24 @@ -433,9 +433,9 @@ "source_mapping": { "start": 515, "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 21, @@ -456,9 +456,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -502,10 +502,10 @@ } } ], - "description": "C.bad3(address[]) (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.6.11/msg_value_loop.sol#L21-L27", - "id": "d89c600adf6767e1270ee5b760bf2e5917e9f27aa77c86f956b55a883552bb0d", + "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" diff --git a/tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol b/tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol similarity index 100% rename from tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol rename to tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol.0.7.6.MsgValueInLoop.json rename to tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol.0.7.6.MsgValueInLoop.json index aa435d5825..21f59fbdad 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 425, "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 17, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -76,9 +76,9 @@ "source_mapping": { "start": 478, "length": 24, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 18 @@ -93,9 +93,9 @@ "source_mapping": { "start": 425, "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 17, @@ -112,9 +112,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -158,10 +158,10 @@ } } ], - "description": "C.bad2_internal(address) (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L17-L19", - "id": "0fd3ac1c8051090ec1fe86fa9e1e5f8e7381d8eef3f252fede8dc3bb07e87104", + "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" @@ -174,9 +174,9 @@ "source_mapping": { "start": 515, "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 21, @@ -197,9 +197,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -246,9 +246,9 @@ "source_mapping": { "start": 694, "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 24 @@ -263,9 +263,9 @@ "source_mapping": { "start": 515, "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 21, @@ -286,9 +286,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -332,10 +332,10 @@ } } ], - "description": "C.bad3(address[]) (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L21-L27", - "id": "9a021823637092277317750625e1f63b1b6f4b394a5dd1fdde50088af8d9e805", + "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" @@ -348,9 +348,9 @@ "source_mapping": { "start": 61, "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 5, @@ -369,9 +369,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -418,9 +418,9 @@ "source_mapping": { "start": 188, "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 7 @@ -435,9 +435,9 @@ "source_mapping": { "start": 61, "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 5, @@ -456,9 +456,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -502,10 +502,10 @@ } } ], - "description": "C.bad(address[]) (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.7.6/msg_value_loop.sol#L5-L9", - "id": "fd0c2f6abecbecd689c995b2cd3c30c9f1bd3763e34f4d5cb91788604f8ec3da", + "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" diff --git a/tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol b/tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol similarity index 100% rename from tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol rename to tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol.0.8.0.MsgValueInLoop.json rename to tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol.0.8.0.MsgValueInLoop.json index f23b887a05..46158ce52c 100644 --- a/tests/detectors/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 @@ -4,20 +4,18 @@ "elements": [ { "type": "function", - "name": "bad", + "name": "bad2_internal", "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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 + 17, + 18, + 19 ], "starting_column": 5, "ending_column": 6 @@ -29,9 +27,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -69,42 +67,40 @@ "ending_column": 0 } }, - "signature": "bad(address[])" + "signature": "bad2_internal(address)" } }, { "type": "node", - "name": "balances[receivers[i]] += msg.value", + "name": "balances[a] += msg.value", "source_mapping": { - "start": 188, - "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "is_dependency": false, "lines": [ - 7 + 18 ], - "starting_column": 13, - "ending_column": 48 + "starting_column": 9, + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad", + "name": "bad2_internal", "source_mapping": { - "start": 61, - "length": 179, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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 + 17, + 18, + 19 ], "starting_column": 5, "ending_column": 6 @@ -116,9 +112,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -156,16 +152,16 @@ "ending_column": 0 } }, - "signature": "bad(address[])" + "signature": "bad2_internal(address)" } } } } ], - "description": "C.bad(address[]) (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#5-9) use msg.value in a loop: balances[receivers[i]] += msg.value (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#7)\n", - "markdown": "[C.bad(address[])](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L5-L9) use msg.value in a loop: [balances[receivers[i]] += msg.value](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L7)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L5-L9", - "id": "0051349cec04c37ffe5ac2f85a2dbbd4a567f5194c16278745de3b12a1c86cb9", + "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" @@ -174,18 +170,22 @@ "elements": [ { "type": "function", - "name": "bad2_internal", + "name": "bad3", "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "is_dependency": false, "lines": [ - 17, - 18, - 19 + 21, + 22, + 23, + 24, + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -197,9 +197,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -237,40 +237,44 @@ "ending_column": 0 } }, - "signature": "bad2_internal(address)" + "signature": "bad3(address[])" } }, { "type": "node", - "name": "balances[a] += msg.value", + "name": "balances[receivers[j]] += msg.value", "source_mapping": { - "start": 478, - "length": 24, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "is_dependency": false, "lines": [ - 18 + 24 ], - "starting_column": 9, - "ending_column": 33 + "starting_column": 17, + "ending_column": 52 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2_internal", + "name": "bad3", "source_mapping": { - "start": 425, - "length": 84, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "is_dependency": false, "lines": [ - 17, - 18, - 19 + 21, + 22, + 23, + 24, + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -282,9 +286,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -322,16 +326,16 @@ "ending_column": 0 } }, - "signature": "bad2_internal(address)" + "signature": "bad3(address[])" } } } } ], - "description": "C.bad2_internal(address) (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#17-19) use msg.value in a loop: balances[a] += msg.value (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#18)\n", - "markdown": "[C.bad2_internal(address)](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L17-L19) use msg.value in a loop: [balances[a] += msg.value](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L18)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L17-L19", - "id": "0064bba498edf780c73f858d7a8d6cc42e1be323e288eea78622b8d84fe557bc", + "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" @@ -340,22 +344,20 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad", "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -367,9 +369,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -407,44 +409,42 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad(address[])" } }, { "type": "node", - "name": "balances[receivers[j]] += msg.value", + "name": "balances[receivers[i]] += msg.value", "source_mapping": { - "start": 694, + "start": 188, "length": 35, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "is_dependency": false, "lines": [ - 24 + 7 ], - "starting_column": 17, - "ending_column": 52 + "starting_column": 13, + "ending_column": 48 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad", "source_mapping": { - "start": 515, - "length": 245, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -456,9 +456,9 @@ "source_mapping": { "start": 0, "length": 763, - "filename_relative": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_relative": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol", + "filename_short": "tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol", "is_dependency": false, "lines": [ 1, @@ -496,16 +496,16 @@ "ending_column": 0 } }, - "signature": "bad3(address[])" + "signature": "bad(address[])" } } } } ], - "description": "C.bad3(address[]) (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#21-27) use msg.value in a loop: balances[receivers[j]] += msg.value (tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#24)\n", - "markdown": "[C.bad3(address[])](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L21-L27) use msg.value in a loop: [balances[receivers[j]] += msg.value](tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L24)\n", - "first_markdown_element": "tests/detectors/msg-value-loop/0.8.0/msg_value_loop.sol#L21-L27", - "id": "5aba5d0fecd0935e1e8d98c5779a7114fbfd4587b6b8b7fdca61829d3322f584", + "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" diff --git a/tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol b/tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol similarity index 100% rename from tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol rename to tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol.0.4.22.MultipleConstructorSchemes.json rename to tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol.0.4.22.MultipleConstructorSchemes.json index 01975d3bdf..ff4e9a2485 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 0, "length": 193, - "filename_relative": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", + "filename_relative": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", + "filename_short": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", "is_dependency": false, "lines": [ 1, @@ -38,9 +38,9 @@ "source_mapping": { "start": 29, "length": 43, - "filename_relative": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", + "filename_relative": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", + "filename_short": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", "is_dependency": false, "lines": [ 3, @@ -57,9 +57,9 @@ "source_mapping": { "start": 0, "length": 193, - "filename_relative": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", + "filename_relative": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", + "filename_short": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", "is_dependency": false, "lines": [ 1, @@ -90,9 +90,9 @@ "source_mapping": { "start": 77, "length": 42, - "filename_relative": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", + "filename_relative": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", + "filename_short": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", "is_dependency": false, "lines": [ 6, @@ -109,9 +109,9 @@ "source_mapping": { "start": 0, "length": 193, - "filename_relative": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", + "filename_relative": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", + "filename_short": "tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol", "is_dependency": false, "lines": [ 1, @@ -137,9 +137,9 @@ } } ], - "description": "A (tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#1-14) contains multiple constructors in the same contract:\n\t- A.constructor() (tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#3-5)\n\t- A.A() (tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#6-8)\n", - "markdown": "[A](tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L1-L14) contains multiple constructors in the same contract:\n\t- [A.constructor()](tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L3-L5)\n\t- [A.A()](tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L6-L8)\n", - "first_markdown_element": "tests/detectors/multiple-constructors/0.4.22/multiple_constructor_schemes.sol#L1-L14", + "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", diff --git a/tests/detectors/naming-convention/0.4.25/naming_convention.sol b/tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol similarity index 100% rename from tests/detectors/naming-convention/0.4.25/naming_convention.sol rename to tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json rename to tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol.0.4.25.NamingConvention.json index 003ec85c31..b893710328 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 229, "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 14, @@ -27,9 +27,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -90,9 +90,9 @@ } } ], - "description": "Struct naming.test (tests/detectors/naming-convention/0.4.25/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L14-L16", + "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", @@ -106,9 +106,9 @@ "source_mapping": { "start": 932, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 69 @@ -123,9 +123,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -157,9 +157,9 @@ } } ], - "description": "Variable T.I (tests/detectors/naming-convention/0.4.25/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L69", + "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", @@ -173,9 +173,9 @@ "source_mapping": { "start": 932, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 69 @@ -190,9 +190,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -224,9 +224,9 @@ } } ], - "description": "Variable T.I (tests/detectors/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/detectors/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/detectors/naming-convention/0.4.25/naming_convention.sol#L69", + "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", @@ -240,9 +240,9 @@ "source_mapping": { "start": 916, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 68 @@ -257,9 +257,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -291,9 +291,9 @@ } } ], - "description": "Variable T.O (tests/detectors/naming-convention/0.4.25/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L68", + "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", @@ -307,9 +307,9 @@ "source_mapping": { "start": 185, "length": 16, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 11 @@ -324,9 +324,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -387,9 +387,9 @@ } } ], - "description": "Variable naming.Var_One (tests/detectors/naming-convention/0.4.25/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L11", + "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", @@ -403,9 +403,9 @@ "source_mapping": { "start": 143, "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 9 @@ -420,9 +420,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -483,9 +483,9 @@ } } ], - "description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.4.25/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L9", + "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", @@ -499,9 +499,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -560,9 +560,9 @@ } } ], - "description": "Contract naming (tests/detectors/naming-convention/0.4.25/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L3-L48", + "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", @@ -576,9 +576,9 @@ "source_mapping": { "start": 79, "length": 23, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 6 @@ -593,9 +593,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -656,9 +656,9 @@ } } ], - "description": "Enum naming.numbers (tests/detectors/naming-convention/0.4.25/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L6", + "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", @@ -672,9 +672,9 @@ "source_mapping": { "start": 794, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 59 @@ -689,9 +689,9 @@ "source_mapping": { "start": 766, "length": 84, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 59, @@ -707,9 +707,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -744,9 +744,9 @@ } } ], - "description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.4.25/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L59", + "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", @@ -760,9 +760,9 @@ "source_mapping": { "start": 741, "length": 17, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 56 @@ -777,9 +777,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -811,9 +811,9 @@ } } ], - "description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.4.25/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L56", + "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", @@ -827,9 +827,9 @@ "source_mapping": { "start": 335, "length": 19, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 23 @@ -844,9 +844,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -908,9 +908,9 @@ } } ], - "description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.4.25/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L23", + "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", @@ -924,9 +924,9 @@ "source_mapping": { "start": 916, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 68 @@ -941,9 +941,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -975,9 +975,9 @@ } } ], - "description": "Variable T.O (tests/detectors/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/detectors/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/detectors/naming-convention/0.4.25/naming_convention.sol#L68", + "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", @@ -991,9 +991,9 @@ "source_mapping": { "start": 591, "length": 36, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 41, @@ -1010,9 +1010,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1074,9 +1074,9 @@ } } ], - "description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.4.25/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L41-L43", + "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", @@ -1090,9 +1090,9 @@ "source_mapping": { "start": 440, "length": 75, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 30, @@ -1110,9 +1110,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1174,9 +1174,9 @@ } } ], - "description": "Function naming.GetOne() (tests/detectors/naming-convention/0.4.25/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L30-L33", + "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", @@ -1190,9 +1190,9 @@ "source_mapping": { "start": 900, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 67 @@ -1207,9 +1207,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -1241,9 +1241,9 @@ } } ], - "description": "Variable T.l (tests/detectors/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/detectors/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/detectors/naming-convention/0.4.25/naming_convention.sol#L67", + "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", @@ -1257,9 +1257,9 @@ "source_mapping": { "start": 551, "length": 12, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 35 @@ -1274,9 +1274,9 @@ "source_mapping": { "start": 521, "length": 63, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 35, @@ -1294,9 +1294,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.4.25/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1360,9 +1360,9 @@ } } ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.4.25/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.4.25/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.4.25/naming_convention.sol#L35", + "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", diff --git a/tests/detectors/naming-convention/0.4.25/naming_convention_ignore.sol b/tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention_ignore.sol similarity index 100% rename from tests/detectors/naming-convention/0.4.25/naming_convention_ignore.sol rename to tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention_ignore.sol diff --git a/tests/detectors/naming-convention/0.4.25/no_warning_for_public_constants.sol b/tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol similarity index 100% rename from tests/detectors/naming-convention/0.4.25/no_warning_for_public_constants.sol rename to tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/naming-convention/0.4.25/no_warning_for_public_constants.sol.0.4.25.NamingConvention.json rename to tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol.0.4.25.NamingConvention.json diff --git a/tests/detectors/naming-convention/0.5.16/naming_convention.sol b/tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol similarity index 100% rename from tests/detectors/naming-convention/0.5.16/naming_convention.sol rename to tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json rename to tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol.0.5.16.NamingConvention.json index 4ab232e6c9..12a853f5cf 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 229, "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 14, @@ -27,9 +27,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -90,9 +90,9 @@ } } ], - "description": "Struct naming.test (tests/detectors/naming-convention/0.5.16/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L14-L16", + "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", @@ -106,9 +106,9 @@ "source_mapping": { "start": 932, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 69 @@ -123,9 +123,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -157,9 +157,9 @@ } } ], - "description": "Variable T.I (tests/detectors/naming-convention/0.5.16/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L69", + "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", @@ -173,9 +173,9 @@ "source_mapping": { "start": 932, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 69 @@ -190,9 +190,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -224,9 +224,9 @@ } } ], - "description": "Variable T.I (tests/detectors/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/detectors/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/detectors/naming-convention/0.5.16/naming_convention.sol#L69", + "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", @@ -240,9 +240,9 @@ "source_mapping": { "start": 916, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 68 @@ -257,9 +257,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -291,9 +291,9 @@ } } ], - "description": "Variable T.O (tests/detectors/naming-convention/0.5.16/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L68", + "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", @@ -307,9 +307,9 @@ "source_mapping": { "start": 185, "length": 16, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 11 @@ -324,9 +324,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -387,9 +387,9 @@ } } ], - "description": "Variable naming.Var_One (tests/detectors/naming-convention/0.5.16/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L11", + "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", @@ -403,9 +403,9 @@ "source_mapping": { "start": 143, "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 9 @@ -420,9 +420,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -483,9 +483,9 @@ } } ], - "description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.5.16/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L9", + "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", @@ -499,9 +499,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -560,9 +560,9 @@ } } ], - "description": "Contract naming (tests/detectors/naming-convention/0.5.16/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L3-L48", + "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", @@ -576,9 +576,9 @@ "source_mapping": { "start": 79, "length": 23, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 6 @@ -593,9 +593,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -656,9 +656,9 @@ } } ], - "description": "Enum naming.numbers (tests/detectors/naming-convention/0.5.16/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L6", + "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", @@ -672,9 +672,9 @@ "source_mapping": { "start": 794, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 59 @@ -689,9 +689,9 @@ "source_mapping": { "start": 766, "length": 84, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 59, @@ -707,9 +707,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -744,9 +744,9 @@ } } ], - "description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.5.16/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L59", + "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", @@ -760,9 +760,9 @@ "source_mapping": { "start": 741, "length": 17, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 56 @@ -777,9 +777,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -811,9 +811,9 @@ } } ], - "description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.5.16/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L56", + "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", @@ -827,9 +827,9 @@ "source_mapping": { "start": 335, "length": 19, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 23 @@ -844,9 +844,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -908,9 +908,9 @@ } } ], - "description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.5.16/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L23", + "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", @@ -924,9 +924,9 @@ "source_mapping": { "start": 916, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 68 @@ -941,9 +941,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -975,9 +975,9 @@ } } ], - "description": "Variable T.O (tests/detectors/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/detectors/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/detectors/naming-convention/0.5.16/naming_convention.sol#L68", + "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", @@ -991,9 +991,9 @@ "source_mapping": { "start": 591, "length": 36, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 41, @@ -1010,9 +1010,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1074,9 +1074,9 @@ } } ], - "description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.5.16/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L41-L43", + "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", @@ -1090,9 +1090,9 @@ "source_mapping": { "start": 440, "length": 75, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 30, @@ -1110,9 +1110,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1174,9 +1174,9 @@ } } ], - "description": "Function naming.GetOne() (tests/detectors/naming-convention/0.5.16/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L30-L33", + "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", @@ -1190,9 +1190,9 @@ "source_mapping": { "start": 900, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 67 @@ -1207,9 +1207,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -1241,9 +1241,9 @@ } } ], - "description": "Variable T.l (tests/detectors/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/detectors/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/detectors/naming-convention/0.5.16/naming_convention.sol#L67", + "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", @@ -1257,9 +1257,9 @@ "source_mapping": { "start": 551, "length": 12, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 35 @@ -1274,9 +1274,9 @@ "source_mapping": { "start": 521, "length": 63, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 35, @@ -1294,9 +1294,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.5.16/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1360,9 +1360,9 @@ } } ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.5.16/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.5.16/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.5.16/naming_convention.sol#L35", + "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", diff --git a/tests/detectors/naming-convention/0.5.16/naming_convention_ignore.sol b/tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention_ignore.sol similarity index 100% rename from tests/detectors/naming-convention/0.5.16/naming_convention_ignore.sol rename to tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention_ignore.sol diff --git a/tests/detectors/naming-convention/0.5.16/no_warning_for_public_constants.sol b/tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol similarity index 100% rename from tests/detectors/naming-convention/0.5.16/no_warning_for_public_constants.sol rename to tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/naming-convention/0.5.16/no_warning_for_public_constants.sol.0.5.16.NamingConvention.json rename to tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol.0.5.16.NamingConvention.json diff --git a/tests/detectors/naming-convention/0.6.11/naming_convention.sol b/tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol similarity index 100% rename from tests/detectors/naming-convention/0.6.11/naming_convention.sol rename to tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json rename to tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol.0.6.11.NamingConvention.json index 1855360674..49d7f52ecb 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 229, "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 14, @@ -27,9 +27,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -90,9 +90,9 @@ } } ], - "description": "Struct naming.test (tests/detectors/naming-convention/0.6.11/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L14-L16", + "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", @@ -106,9 +106,9 @@ "source_mapping": { "start": 932, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 69 @@ -123,9 +123,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -157,9 +157,9 @@ } } ], - "description": "Variable T.I (tests/detectors/naming-convention/0.6.11/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L69", + "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", @@ -173,9 +173,9 @@ "source_mapping": { "start": 932, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 69 @@ -190,9 +190,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -224,9 +224,9 @@ } } ], - "description": "Variable T.I (tests/detectors/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/detectors/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/detectors/naming-convention/0.6.11/naming_convention.sol#L69", + "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", @@ -240,9 +240,9 @@ "source_mapping": { "start": 916, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 68 @@ -257,9 +257,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -291,9 +291,9 @@ } } ], - "description": "Variable T.O (tests/detectors/naming-convention/0.6.11/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L68", + "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", @@ -307,9 +307,9 @@ "source_mapping": { "start": 185, "length": 16, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 11 @@ -324,9 +324,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -387,9 +387,9 @@ } } ], - "description": "Variable naming.Var_One (tests/detectors/naming-convention/0.6.11/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L11", + "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", @@ -403,9 +403,9 @@ "source_mapping": { "start": 143, "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 9 @@ -420,9 +420,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -483,9 +483,9 @@ } } ], - "description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.6.11/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L9", + "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", @@ -499,9 +499,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -560,9 +560,9 @@ } } ], - "description": "Contract naming (tests/detectors/naming-convention/0.6.11/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L3-L48", + "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", @@ -576,9 +576,9 @@ "source_mapping": { "start": 79, "length": 23, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 6 @@ -593,9 +593,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -656,9 +656,9 @@ } } ], - "description": "Enum naming.numbers (tests/detectors/naming-convention/0.6.11/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L6", + "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", @@ -672,9 +672,9 @@ "source_mapping": { "start": 794, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 59 @@ -689,9 +689,9 @@ "source_mapping": { "start": 766, "length": 84, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 59, @@ -707,9 +707,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -744,9 +744,9 @@ } } ], - "description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.6.11/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L59", + "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", @@ -760,9 +760,9 @@ "source_mapping": { "start": 741, "length": 17, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 56 @@ -777,9 +777,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -811,9 +811,9 @@ } } ], - "description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.6.11/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L56", + "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", @@ -827,9 +827,9 @@ "source_mapping": { "start": 335, "length": 19, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 23 @@ -844,9 +844,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -908,9 +908,9 @@ } } ], - "description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.6.11/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L23", + "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", @@ -924,9 +924,9 @@ "source_mapping": { "start": 916, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 68 @@ -941,9 +941,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -975,9 +975,9 @@ } } ], - "description": "Variable T.O (tests/detectors/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/detectors/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/detectors/naming-convention/0.6.11/naming_convention.sol#L68", + "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", @@ -991,9 +991,9 @@ "source_mapping": { "start": 591, "length": 36, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 41, @@ -1010,9 +1010,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1074,9 +1074,9 @@ } } ], - "description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.6.11/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L41-L43", + "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", @@ -1090,9 +1090,9 @@ "source_mapping": { "start": 440, "length": 75, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 30, @@ -1110,9 +1110,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1174,9 +1174,9 @@ } } ], - "description": "Function naming.GetOne() (tests/detectors/naming-convention/0.6.11/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L30-L33", + "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", @@ -1190,9 +1190,9 @@ "source_mapping": { "start": 900, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 67 @@ -1207,9 +1207,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -1241,9 +1241,9 @@ } } ], - "description": "Variable T.l (tests/detectors/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/detectors/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/detectors/naming-convention/0.6.11/naming_convention.sol#L67", + "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", @@ -1257,9 +1257,9 @@ "source_mapping": { "start": 551, "length": 12, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 35 @@ -1274,9 +1274,9 @@ "source_mapping": { "start": 521, "length": 63, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 35, @@ -1294,9 +1294,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.6.11/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1360,9 +1360,9 @@ } } ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.6.11/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.6.11/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.6.11/naming_convention.sol#L35", + "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", diff --git a/tests/detectors/naming-convention/0.6.11/naming_convention_ignore.sol b/tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention_ignore.sol similarity index 100% rename from tests/detectors/naming-convention/0.6.11/naming_convention_ignore.sol rename to tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention_ignore.sol diff --git a/tests/detectors/naming-convention/0.6.11/no_warning_for_public_constants.sol b/tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol similarity index 100% rename from tests/detectors/naming-convention/0.6.11/no_warning_for_public_constants.sol rename to tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/naming-convention/0.6.11/no_warning_for_public_constants.sol.0.6.11.NamingConvention.json rename to tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol.0.6.11.NamingConvention.json diff --git a/tests/detectors/naming-convention/0.7.6/naming_convention.sol b/tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol similarity index 100% rename from tests/detectors/naming-convention/0.7.6/naming_convention.sol rename to tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json rename to tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol.0.7.6.NamingConvention.json index 2422728dab..97332650af 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 229, "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 14, @@ -27,9 +27,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -90,9 +90,9 @@ } } ], - "description": "Struct naming.test (tests/detectors/naming-convention/0.7.6/naming_convention.sol#14-16) is not in CapWords\n", - "markdown": "Struct [naming.test](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L14-L16) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L14-L16", + "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", @@ -106,9 +106,9 @@ "source_mapping": { "start": 932, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 69 @@ -123,9 +123,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -157,9 +157,9 @@ } } ], - "description": "Variable T.I (tests/detectors/naming-convention/0.7.6/naming_convention.sol#69) is not in mixedCase\n", - "markdown": "Variable [T.I](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L69) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L69", + "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", @@ -173,9 +173,9 @@ "source_mapping": { "start": 932, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 69 @@ -190,9 +190,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -224,9 +224,9 @@ } } ], - "description": "Variable T.I (tests/detectors/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/detectors/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/detectors/naming-convention/0.7.6/naming_convention.sol#L69", + "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", @@ -240,9 +240,9 @@ "source_mapping": { "start": 916, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 68 @@ -257,9 +257,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -291,9 +291,9 @@ } } ], - "description": "Variable T.O (tests/detectors/naming-convention/0.7.6/naming_convention.sol#68) is not in mixedCase\n", - "markdown": "Variable [T.O](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L68) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L68", + "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", @@ -307,9 +307,9 @@ "source_mapping": { "start": 185, "length": 16, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 11 @@ -324,9 +324,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -387,9 +387,9 @@ } } ], - "description": "Variable naming.Var_One (tests/detectors/naming-convention/0.7.6/naming_convention.sol#11) is not in mixedCase\n", - "markdown": "Variable [naming.Var_One](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L11) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L11", + "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", @@ -403,9 +403,9 @@ "source_mapping": { "start": 143, "length": 35, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 9 @@ -420,9 +420,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -483,9 +483,9 @@ } } ], - "description": "Constant naming.MY_other_CONSTANT (tests/detectors/naming-convention/0.7.6/naming_convention.sol#9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "markdown": "Constant [naming.MY_other_CONSTANT](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L9) is not in UPPER_CASE_WITH_UNDERSCORES\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L9", + "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", @@ -499,9 +499,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -560,9 +560,9 @@ } } ], - "description": "Contract naming (tests/detectors/naming-convention/0.7.6/naming_convention.sol#3-48) is not in CapWords\n", - "markdown": "Contract [naming](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L3-L48) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L3-L48", + "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", @@ -576,9 +576,9 @@ "source_mapping": { "start": 79, "length": 23, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 6 @@ -593,9 +593,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -656,9 +656,9 @@ } } ], - "description": "Enum naming.numbers (tests/detectors/naming-convention/0.7.6/naming_convention.sol#6) is not in CapWords\n", - "markdown": "Enum [naming.numbers](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L6) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L6", + "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", @@ -672,9 +672,9 @@ "source_mapping": { "start": 794, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 59 @@ -689,9 +689,9 @@ "source_mapping": { "start": 766, "length": 84, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 59, @@ -707,9 +707,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -744,9 +744,9 @@ } } ], - "description": "Parameter T.test(uint256,uint256)._used (tests/detectors/naming-convention/0.7.6/naming_convention.sol#59) is not in mixedCase\n", - "markdown": "Parameter [T.test(uint256,uint256)._used](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L59) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L59", + "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", @@ -760,9 +760,9 @@ "source_mapping": { "start": 741, "length": 17, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 56 @@ -777,9 +777,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -811,9 +811,9 @@ } } ], - "description": "Variable T._myPublicVar (tests/detectors/naming-convention/0.7.6/naming_convention.sol#56) is not in mixedCase\n", - "markdown": "Variable [T._myPublicVar](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L56) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L56", + "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", @@ -827,9 +827,9 @@ "source_mapping": { "start": 335, "length": 19, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 23 @@ -844,9 +844,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -908,9 +908,9 @@ } } ], - "description": "Event namingevent_(uint256) (tests/detectors/naming-convention/0.7.6/naming_convention.sol#23) is not in CapWords\n", - "markdown": "Event [namingevent_(uint256)](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L23) is not in CapWords\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L23", + "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", @@ -924,9 +924,9 @@ "source_mapping": { "start": 916, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 68 @@ -941,9 +941,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -975,9 +975,9 @@ } } ], - "description": "Variable T.O (tests/detectors/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/detectors/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/detectors/naming-convention/0.7.6/naming_convention.sol#L68", + "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", @@ -991,9 +991,9 @@ "source_mapping": { "start": 591, "length": 36, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 41, @@ -1010,9 +1010,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1074,9 +1074,9 @@ } } ], - "description": "Modifier naming.CantDo() (tests/detectors/naming-convention/0.7.6/naming_convention.sol#41-43) is not in mixedCase\n", - "markdown": "Modifier [naming.CantDo()](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L41-L43) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L41-L43", + "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", @@ -1090,9 +1090,9 @@ "source_mapping": { "start": 440, "length": 75, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 30, @@ -1110,9 +1110,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1174,9 +1174,9 @@ } } ], - "description": "Function naming.GetOne() (tests/detectors/naming-convention/0.7.6/naming_convention.sol#30-33) is not in mixedCase\n", - "markdown": "Function [naming.GetOne()](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L30-L33) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L30-L33", + "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", @@ -1190,9 +1190,9 @@ "source_mapping": { "start": 900, "length": 10, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 67 @@ -1207,9 +1207,9 @@ "source_mapping": { "start": 692, "length": 253, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 54, @@ -1241,9 +1241,9 @@ } } ], - "description": "Variable T.l (tests/detectors/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/detectors/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/detectors/naming-convention/0.7.6/naming_convention.sol#L67", + "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", @@ -1257,9 +1257,9 @@ "source_mapping": { "start": 551, "length": 12, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 35 @@ -1274,9 +1274,9 @@ "source_mapping": { "start": 521, "length": 63, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 35, @@ -1294,9 +1294,9 @@ "source_mapping": { "start": 28, "length": 642, - "filename_relative": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_relative": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/naming-convention/0.7.6/naming_convention.sol", + "filename_short": "tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol", "is_dependency": false, "lines": [ 3, @@ -1360,9 +1360,9 @@ } } ], - "description": "Parameter naming.setInt(uint256,uint256).Number2 (tests/detectors/naming-convention/0.7.6/naming_convention.sol#35) is not in mixedCase\n", - "markdown": "Parameter [naming.setInt(uint256,uint256).Number2](tests/detectors/naming-convention/0.7.6/naming_convention.sol#L35) is not in mixedCase\n", - "first_markdown_element": "tests/detectors/naming-convention/0.7.6/naming_convention.sol#L35", + "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", diff --git a/tests/detectors/naming-convention/0.7.6/naming_convention_ignore.sol b/tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention_ignore.sol similarity index 100% rename from tests/detectors/naming-convention/0.7.6/naming_convention_ignore.sol rename to tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention_ignore.sol diff --git a/tests/detectors/naming-convention/0.7.6/no_warning_for_public_constants.sol b/tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol similarity index 100% rename from tests/detectors/naming-convention/0.7.6/no_warning_for_public_constants.sol rename to tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/naming-convention/0.7.6/no_warning_for_public_constants.sol.0.7.6.NamingConvention.json rename to tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol.0.7.6.NamingConvention.json diff --git a/tests/detectors/pragma/0.4.25/pragma.0.4.24.sol b/tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol similarity index 100% rename from tests/detectors/pragma/0.4.25/pragma.0.4.24.sol rename to tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol diff --git a/tests/detectors/pragma/0.4.25/pragma.0.4.25.sol b/tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol similarity index 100% rename from tests/detectors/pragma/0.4.25/pragma.0.4.25.sol rename to tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol diff --git a/tests/detectors/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 similarity index 69% rename from tests/detectors/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json rename to tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol.0.4.25.ConstantPragma.json index a3c316ffe4..0761b2488f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 0, "length": 24, - "filename_relative": "tests/detectors/pragma/0.4.25/pragma.0.4.24.sol", + "filename_relative": "tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.4.25/pragma.0.4.24.sol", + "filename_short": "tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.24.sol", "is_dependency": false, "lines": [ 1 @@ -33,9 +33,9 @@ "source_mapping": { "start": 0, "length": 24, - "filename_relative": "tests/detectors/pragma/0.4.25/pragma.0.4.25.sol", + "filename_relative": "tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.4.25/pragma.0.4.25.sol", + "filename_short": "tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol", "is_dependency": false, "lines": [ 1 @@ -53,10 +53,10 @@ } } ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.4.24', '^0.4.25']\n\t- ^0.4.24 (tests/detectors/pragma/0.4.25/pragma.0.4.24.sol#1)\n\t- ^0.4.25 (tests/detectors/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/detectors/pragma/0.4.25/pragma.0.4.24.sol#L1)\n\t- [^0.4.25](tests/detectors/pragma/0.4.25/pragma.0.4.25.sol#L1)\n", - "first_markdown_element": "tests/detectors/pragma/0.4.25/pragma.0.4.24.sol#L1", - "id": "1b4bdffe0c7fc63e2a8d589f34ff29de46139cf79ff3b9cb13dee36502b8fbc6", + "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" diff --git a/tests/detectors/pragma/0.5.16/pragma.0.5.15.sol b/tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol similarity index 100% rename from tests/detectors/pragma/0.5.16/pragma.0.5.15.sol rename to tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol diff --git a/tests/detectors/pragma/0.5.16/pragma.0.5.16.sol b/tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol similarity index 100% rename from tests/detectors/pragma/0.5.16/pragma.0.5.16.sol rename to tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol diff --git a/tests/detectors/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 similarity index 69% rename from tests/detectors/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json rename to tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol.0.5.16.ConstantPragma.json index ae236ebf5c..74590cf5f8 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 0, "length": 24, - "filename_relative": "tests/detectors/pragma/0.5.16/pragma.0.5.15.sol", + "filename_relative": "tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.5.16/pragma.0.5.15.sol", + "filename_short": "tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.15.sol", "is_dependency": false, "lines": [ 1 @@ -33,9 +33,9 @@ "source_mapping": { "start": 0, "length": 24, - "filename_relative": "tests/detectors/pragma/0.5.16/pragma.0.5.16.sol", + "filename_relative": "tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.5.16/pragma.0.5.16.sol", + "filename_short": "tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol", "is_dependency": false, "lines": [ 1 @@ -53,10 +53,10 @@ } } ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.5.15', '^0.5.16']\n\t- ^0.5.15 (tests/detectors/pragma/0.5.16/pragma.0.5.15.sol#1)\n\t- ^0.5.16 (tests/detectors/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/detectors/pragma/0.5.16/pragma.0.5.15.sol#L1)\n\t- [^0.5.16](tests/detectors/pragma/0.5.16/pragma.0.5.16.sol#L1)\n", - "first_markdown_element": "tests/detectors/pragma/0.5.16/pragma.0.5.15.sol#L1", - "id": "f3c6aef8c4d19f960e801fe9343d7cb4c290460cb7b4b14dca769269f0234b31", + "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" diff --git a/tests/detectors/pragma/0.6.11/pragma.0.6.10.sol b/tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol similarity index 100% rename from tests/detectors/pragma/0.6.11/pragma.0.6.10.sol rename to tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol diff --git a/tests/detectors/pragma/0.6.11/pragma.0.6.11.sol b/tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol similarity index 100% rename from tests/detectors/pragma/0.6.11/pragma.0.6.11.sol rename to tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol diff --git a/tests/detectors/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 similarity index 69% rename from tests/detectors/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json rename to tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol.0.6.11.ConstantPragma.json index 7a6b22d3f9..6a9fb98b7e 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 0, "length": 24, - "filename_relative": "tests/detectors/pragma/0.6.11/pragma.0.6.10.sol", + "filename_relative": "tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.6.11/pragma.0.6.10.sol", + "filename_short": "tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.10.sol", "is_dependency": false, "lines": [ 1 @@ -33,9 +33,9 @@ "source_mapping": { "start": 0, "length": 24, - "filename_relative": "tests/detectors/pragma/0.6.11/pragma.0.6.11.sol", + "filename_relative": "tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.6.11/pragma.0.6.11.sol", + "filename_short": "tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol", "is_dependency": false, "lines": [ 1 @@ -53,10 +53,10 @@ } } ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.6.10', '^0.6.11']\n\t- ^0.6.10 (tests/detectors/pragma/0.6.11/pragma.0.6.10.sol#1)\n\t- ^0.6.11 (tests/detectors/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/detectors/pragma/0.6.11/pragma.0.6.10.sol#L1)\n\t- [^0.6.11](tests/detectors/pragma/0.6.11/pragma.0.6.11.sol#L1)\n", - "first_markdown_element": "tests/detectors/pragma/0.6.11/pragma.0.6.10.sol#L1", - "id": "05ad5ab9a596fc401c485ede8f164ebd0df3052e307bb036f70a64d47cbc2933", + "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" diff --git a/tests/detectors/pragma/0.7.6/pragma.0.7.5.sol b/tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol similarity index 100% rename from tests/detectors/pragma/0.7.6/pragma.0.7.5.sol rename to tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol diff --git a/tests/detectors/pragma/0.7.6/pragma.0.7.6.sol b/tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol similarity index 100% rename from tests/detectors/pragma/0.7.6/pragma.0.7.6.sol rename to tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json rename to tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol.0.7.6.ConstantPragma.json index 911a33b4a1..fe1c878f8f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 0, "length": 23, - "filename_relative": "tests/detectors/pragma/0.7.6/pragma.0.7.5.sol", + "filename_relative": "tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.7.6/pragma.0.7.5.sol", + "filename_short": "tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.5.sol", "is_dependency": false, "lines": [ 1 @@ -33,9 +33,9 @@ "source_mapping": { "start": 0, "length": 23, - "filename_relative": "tests/detectors/pragma/0.7.6/pragma.0.7.6.sol", + "filename_relative": "tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/pragma/0.7.6/pragma.0.7.6.sol", + "filename_short": "tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol", "is_dependency": false, "lines": [ 1 @@ -53,10 +53,10 @@ } } ], - "description": "Different versions of Solidity are used:\n\t- Version used: ['^0.7.5', '^0.7.6']\n\t- ^0.7.5 (tests/detectors/pragma/0.7.6/pragma.0.7.5.sol#1)\n\t- ^0.7.6 (tests/detectors/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/detectors/pragma/0.7.6/pragma.0.7.5.sol#L1)\n\t- [^0.7.6](tests/detectors/pragma/0.7.6/pragma.0.7.6.sol#L1)\n", - "first_markdown_element": "tests/detectors/pragma/0.7.6/pragma.0.7.5.sol#L1", - "id": "bbddfc60b33090137a744cf0ebdfb2acbe88e3f353368626723e8bec7558f72f", + "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" diff --git a/tests/detectors/protected-vars/0.8.2/comment.sol b/tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol similarity index 100% rename from tests/detectors/protected-vars/0.8.2/comment.sol rename to tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/protected-vars/0.8.2/comment.sol.0.8.2.ProtectedVariables.json rename to tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol.0.8.2.ProtectedVariables.json index 2c1a11fa40..1706185bca 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 938, "length": 57, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 47, @@ -27,9 +27,9 @@ "source_mapping": { "start": 742, "length": 331, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 36, @@ -66,9 +66,9 @@ "source_mapping": { "start": 844, "length": 88, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 42, @@ -86,9 +86,9 @@ "source_mapping": { "start": 742, "length": 331, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 36, @@ -125,9 +125,9 @@ "source_mapping": { "start": 822, "length": 13, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 38 @@ -142,9 +142,9 @@ "source_mapping": { "start": 742, "length": 331, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 36, @@ -175,9 +175,9 @@ } } ], - "description": "Internal.buggy() (tests/detectors/protected-vars/0.8.2/comment.sol#47-49) should have Internal.onlyOwner() (tests/detectors/protected-vars/0.8.2/comment.sol#42-45) to protect Internal.owner (tests/detectors/protected-vars/0.8.2/comment.sol#38)\n", - "markdown": "[Internal.buggy()](tests/detectors/protected-vars/0.8.2/comment.sol#L47-L49) should have [Internal.onlyOwner()](tests/detectors/protected-vars/0.8.2/comment.sol#L42-L45) to protect [Internal.owner](tests/detectors/protected-vars/0.8.2/comment.sol#L38)\n", - "first_markdown_element": "tests/detectors/protected-vars/0.8.2/comment.sol#L47-L49", + "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", @@ -191,9 +191,9 @@ "source_mapping": { "start": 653, "length": 85, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 31, @@ -210,9 +210,9 @@ "source_mapping": { "start": 55, "length": 685, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 5, @@ -259,9 +259,9 @@ "source_mapping": { "start": 210, "length": 88, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 11, @@ -279,9 +279,9 @@ "source_mapping": { "start": 55, "length": 685, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 5, @@ -328,9 +328,9 @@ "source_mapping": { "start": 184, "length": 19, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 9 @@ -345,9 +345,9 @@ "source_mapping": { "start": 55, "length": 685, - "filename_relative": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_relative": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/protected-vars/0.8.2/comment.sol", + "filename_short": "tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol", "is_dependency": false, "lines": [ 5, @@ -388,9 +388,9 @@ } } ], - "description": "ReentrancyAndWrite.set_not_protected() (tests/detectors/protected-vars/0.8.2/comment.sol#31-33) should have ReentrancyAndWrite.onlyOwner() (tests/detectors/protected-vars/0.8.2/comment.sol#11-14) to protect ReentrancyAndWrite.external_contract (tests/detectors/protected-vars/0.8.2/comment.sol#9)\n", - "markdown": "[ReentrancyAndWrite.set_not_protected()](tests/detectors/protected-vars/0.8.2/comment.sol#L31-L33) should have [ReentrancyAndWrite.onlyOwner()](tests/detectors/protected-vars/0.8.2/comment.sol#L11-L14) to protect [ReentrancyAndWrite.external_contract](tests/detectors/protected-vars/0.8.2/comment.sol#L9)\n", - "first_markdown_element": "tests/detectors/protected-vars/0.8.2/comment.sol#L31-L33", + "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", diff --git a/tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol b/tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol similarity index 100% rename from tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol rename to tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol diff --git a/tests/detectors/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 similarity index 68% rename from tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json rename to tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol.0.4.25.PublicMappingNested.json index 8ad293dd89..e3801df68e 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 265, "length": 47, - "filename_relative": "tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol", + "filename_relative": "tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol", + "filename_short": "tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol", "is_dependency": false, "lines": [ 14 @@ -25,9 +25,9 @@ "source_mapping": { "start": 138, "length": 345, - "filename_relative": "tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol", + "filename_relative": "tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol", + "filename_short": "tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol", "is_dependency": false, "lines": [ 4, @@ -56,9 +56,9 @@ } } ], - "description": "Bug.testMapping (tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol#14) is a public mapping with nested variables\n", - "markdown": "[Bug.testMapping](tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol#L14) is a public mapping with nested variables\n", - "first_markdown_element": "tests/detectors/public-mappings-nested/0.4.25/public_mappings_nested.sol#L14", + "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", diff --git a/tests/detectors/redundant-statements/0.4.25/redundant_statements.sol b/tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol similarity index 100% rename from tests/detectors/redundant-statements/0.4.25/redundant_statements.sol rename to tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json rename to tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol.0.4.25.RedundantStatements.json index 6c90587f73..0005e2a15d 100644 --- a/tests/detectors/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 @@ -4,16 +4,16 @@ "elements": [ { "type": "node", - "name": "uint256", + "name": "bool", "source_mapping": { - "start": 141, + "start": 155, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ - 6 + 7 ], "starting_column": 9, "ending_column": 13 @@ -25,9 +25,9 @@ "source_mapping": { "start": 110, "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 5, @@ -46,9 +46,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -83,9 +83,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -110,10 +110,10 @@ } } ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L6", - "id": "5e6cc88b3d8b0ef5d6247751e3b9cf045557e07c6f0de8d9f1270db008fca82a", + "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" @@ -126,9 +126,9 @@ "source_mapping": { "start": 257, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 12 @@ -143,9 +143,9 @@ "source_mapping": { "start": 209, "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 11, @@ -165,9 +165,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -202,9 +202,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -229,10 +229,10 @@ } } ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L12", - "id": "7423f2beb0d066fc4e193c27dd50b172186e9539b778ab72bf950dbe872df720", + "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" @@ -245,9 +245,9 @@ "source_mapping": { "start": 287, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 14 @@ -262,9 +262,9 @@ "source_mapping": { "start": 209, "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 11, @@ -284,9 +284,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -321,9 +321,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -348,10 +348,10 @@ } } ], - "description": "Redundant expression \"test (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L14", - "id": "c3c9961e4467e57974929ecfaeb34a0923fc257422a7705c9d1b14257cfe0c3a", + "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" @@ -364,9 +364,9 @@ "source_mapping": { "start": 169, "length": 27, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 8 @@ -381,9 +381,9 @@ "source_mapping": { "start": 110, "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 5, @@ -402,9 +402,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -439,9 +439,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -466,10 +466,10 @@ } } ], - "description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L8", - "id": "cb9ace5d0188d80bdc530d3760b41a1dcf1a4c10151b720e468550bb22be0e74", + "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" @@ -478,16 +478,16 @@ "elements": [ { "type": "node", - "name": "bool", + "name": "uint256", "source_mapping": { - "start": 155, + "start": 141, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ - 7 + 6 ], "starting_column": 9, "ending_column": 13 @@ -499,9 +499,9 @@ "source_mapping": { "start": 110, "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 5, @@ -520,9 +520,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -557,9 +557,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -584,10 +584,10 @@ } } ], - "description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L7", - "id": "da776628bba71bca43caf77bb06a7055fe3c0f4f18a30274c5cb508bcb3a27b4", + "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" @@ -600,9 +600,9 @@ "source_mapping": { "start": 271, "length": 6, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 13 @@ -617,9 +617,9 @@ "source_mapping": { "start": 209, "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 11, @@ -639,9 +639,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -676,9 +676,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -703,10 +703,10 @@ } } ], - "description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.4.25/redundant_statements.sol#L13", - "id": "e0137cf6a61eb49d07e1a67a7cdfd0cb82cac0402cded9f1cfb85ae1e6e8d3fe", + "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" diff --git a/tests/detectors/redundant-statements/0.5.16/redundant_statements.sol b/tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol similarity index 100% rename from tests/detectors/redundant-statements/0.5.16/redundant_statements.sol rename to tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json rename to tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol.0.5.16.RedundantStatements.json index c2d6d347fa..47268f2656 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 271, "length": 6, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 13 @@ -25,9 +25,9 @@ "source_mapping": { "start": 209, "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 11, @@ -47,9 +47,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -84,9 +84,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -111,10 +111,10 @@ } } ], - "description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L13", - "id": "342d8ac4c8c6e96ca7ca18f4bb9abed731c08b4c19a4461151ea48fc503be342", + "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" @@ -123,16 +123,16 @@ "elements": [ { "type": "node", - "name": "uint256", + "name": "bool", "source_mapping": { - "start": 141, + "start": 155, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ - 6 + 7 ], "starting_column": 9, "ending_column": 13 @@ -144,9 +144,9 @@ "source_mapping": { "start": 110, "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 5, @@ -165,9 +165,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -202,9 +202,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -229,10 +229,10 @@ } } ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L6", - "id": "58d73cb2126e8c76752e57c69feeed96ee7db0cc50cf33c0f92679525acc26e9", + "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" @@ -241,16 +241,16 @@ "elements": [ { "type": "node", - "name": "test", + "name": "uint256", "source_mapping": { - "start": 287, + "start": 257, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ - 14 + 12 ], "starting_column": 9, "ending_column": 13 @@ -262,9 +262,9 @@ "source_mapping": { "start": 209, "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 11, @@ -284,9 +284,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -321,9 +321,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -348,10 +348,10 @@ } } ], - "description": "Redundant expression \"test (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L14", - "id": "b36c497f678f32a5479ead924c310a0c86b398e465f69b0e7365f06befaef172", + "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" @@ -362,14 +362,14 @@ "type": "node", "name": "uint256", "source_mapping": { - "start": 257, + "start": 141, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ - 12 + 6 ], "starting_column": 9, "ending_column": 13 @@ -377,21 +377,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "test", + "name": "constructor", "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "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/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -403,9 +402,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -429,7 +428,7 @@ "ending_column": 0 } }, - "signature": "test()" + "signature": "constructor()" } } } @@ -440,9 +439,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -467,10 +466,10 @@ } } ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L12", - "id": "f21c726ae13fb80091dca415c8d15bf8999c0197b56a65bcbabc4cb86963efe7", + "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" @@ -479,19 +478,19 @@ "elements": [ { "type": "node", - "name": "bool", + "name": "RedundantStatementsContract", "source_mapping": { - "start": 155, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "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/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ - 7 + 8 ], "starting_column": 9, - "ending_column": 13 + "ending_column": 36 }, "type_specific_fields": { "parent": { @@ -500,9 +499,9 @@ "source_mapping": { "start": 110, "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 5, @@ -521,9 +520,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -558,9 +557,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -585,10 +584,10 @@ } } ], - "description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L7", - "id": "f57f949deb97e88dedd17864427a4941d1395be24db436d3a45945a45c53b919", + "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" @@ -597,37 +596,38 @@ "elements": [ { "type": "node", - "name": "RedundantStatementsContract", + "name": "test", "source_mapping": { - "start": 169, - "length": 27, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "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/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ - 8 + 14 ], "starting_column": 9, - "ending_column": 36 + "ending_column": 13 }, "type_specific_fields": { "parent": { "type": "function", - "name": "constructor", + "name": "test", "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "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/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ - 5, - 6, - 7, - 8, - 9 + 11, + 12, + 13, + 14, + 15, + 16 ], "starting_column": 5, "ending_column": 6 @@ -639,9 +639,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -665,7 +665,7 @@ "ending_column": 0 } }, - "signature": "constructor()" + "signature": "test()" } } } @@ -676,9 +676,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -703,10 +703,10 @@ } } ], - "description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.5.16/redundant_statements.sol#L8", - "id": "faaa2cdb764d49e4d06709c566d903cc4b222634a27b31bbbb0217a13b84aa62", + "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" diff --git a/tests/detectors/redundant-statements/0.6.11/redundant_statements.sol b/tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol similarity index 100% rename from tests/detectors/redundant-statements/0.6.11/redundant_statements.sol rename to tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json rename to tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol.0.6.11.RedundantStatements.json index 4a0fa9f16f..7bd6500d45 100644 --- a/tests/detectors/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 @@ -4,37 +4,38 @@ "elements": [ { "type": "node", - "name": "RedundantStatementsContract", + "name": "uint256", "source_mapping": { - "start": 169, - "length": 27, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "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/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ - 8 + 12 ], "starting_column": 9, - "ending_column": 36 + "ending_column": 13 }, "type_specific_fields": { "parent": { "type": "function", - "name": "constructor", + "name": "test", "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "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/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ - 5, - 6, - 7, - 8, - 9 + 11, + 12, + 13, + 14, + 15, + 16 ], "starting_column": 5, "ending_column": 6 @@ -46,9 +47,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -72,7 +73,7 @@ "ending_column": 0 } }, - "signature": "constructor()" + "signature": "test()" } } } @@ -83,9 +84,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -110,10 +111,10 @@ } } ], - "description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L8", - "id": "1ffcec7a83522ce311c8410e5523283b97944a0c27356e3141b26a7f32a022d3", + "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" @@ -122,16 +123,16 @@ "elements": [ { "type": "node", - "name": "test", + "name": "bool", "source_mapping": { - "start": 287, + "start": 155, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ - 14 + 7 ], "starting_column": 9, "ending_column": 13 @@ -139,21 +140,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "test", + "name": "constructor", "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "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/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -165,9 +165,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -191,7 +191,7 @@ "ending_column": 0 } }, - "signature": "test()" + "signature": "constructor()" } } } @@ -202,9 +202,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -229,10 +229,10 @@ } } ], - "description": "Redundant expression \"test (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L14", - "id": "5223d6cc441a1f923616873898ea34e0ff11a758c38d6b5244b9e9ea6be9bec8", + "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" @@ -241,38 +241,37 @@ "elements": [ { "type": "node", - "name": "uint256", + "name": "RedundantStatementsContract", "source_mapping": { - "start": 257, - "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "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/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ - 12 + 8 ], "starting_column": 9, - "ending_column": 13 + "ending_column": 36 }, "type_specific_fields": { "parent": { "type": "function", - "name": "test", + "name": "constructor", "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "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/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -284,9 +283,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -310,7 +309,7 @@ "ending_column": 0 } }, - "signature": "test()" + "signature": "constructor()" } } } @@ -321,9 +320,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -348,10 +347,10 @@ } } ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L12", - "id": "53f741bfdd4465fbdb8799391ca2fa50ac657b72ac9b822c87e2e4ae79d831d8", + "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" @@ -364,9 +363,9 @@ "source_mapping": { "start": 141, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 6 @@ -381,9 +380,9 @@ "source_mapping": { "start": 110, "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 5, @@ -402,9 +401,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -439,9 +438,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -466,10 +465,10 @@ } } ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L6", - "id": "c58083eaf5653fc9616833c617157456ad9088c4638009d9cdfebdc1445671bd", + "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" @@ -478,16 +477,16 @@ "elements": [ { "type": "node", - "name": "bool", + "name": "test", "source_mapping": { - "start": 155, + "start": 287, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ - 7 + 14 ], "starting_column": 9, "ending_column": 13 @@ -495,20 +494,21 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "constructor", + "name": "test", "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "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/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ - 5, - 6, - 7, - 8, - 9 + 11, + 12, + 13, + 14, + 15, + 16 ], "starting_column": 5, "ending_column": 6 @@ -520,9 +520,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -546,7 +546,7 @@ "ending_column": 0 } }, - "signature": "constructor()" + "signature": "test()" } } } @@ -557,9 +557,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -584,10 +584,10 @@ } } ], - "description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L7", - "id": "f0fef441fabe415b9cbc63bfc5a2a5c69f6248ce22d1bd94f73979f928cb7dba", + "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" @@ -600,9 +600,9 @@ "source_mapping": { "start": 271, "length": 6, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 13 @@ -617,9 +617,9 @@ "source_mapping": { "start": 209, "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 11, @@ -639,9 +639,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -676,9 +676,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -703,10 +703,10 @@ } } ], - "description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.6.11/redundant_statements.sol#L13", - "id": "f902982db50d530e22b29f35ab1a740f1af29683b0ebb9edd53240721b4f95b9", + "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" diff --git a/tests/detectors/redundant-statements/0.7.6/redundant_statements.sol b/tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol similarity index 100% rename from tests/detectors/redundant-statements/0.7.6/redundant_statements.sol rename to tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json rename to tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol.0.7.6.RedundantStatements.json index 2420bd33b5..797bdda306 100644 --- a/tests/detectors/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 @@ -4,16 +4,16 @@ "elements": [ { "type": "node", - "name": "test", + "name": "uint256", "source_mapping": { - "start": 287, + "start": 257, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ - 14 + 12 ], "starting_column": 9, "ending_column": 13 @@ -25,9 +25,9 @@ "source_mapping": { "start": 209, "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 11, @@ -47,9 +47,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -84,9 +84,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -111,10 +111,10 @@ } } ], - "description": "Redundant expression \"test (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#14)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[test](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L14)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L14", - "id": "45bb5d6a69015db0e07e6d13107db089e1095da3cf0918f624db12181fac28a1", + "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" @@ -123,16 +123,16 @@ "elements": [ { "type": "node", - "name": "bool", + "name": "test", "source_mapping": { - "start": 155, + "start": 287, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ - 7 + 14 ], "starting_column": 9, "ending_column": 13 @@ -140,20 +140,21 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "constructor", + "name": "test", "source_mapping": { - "start": 110, - "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "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/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ - 5, - 6, - 7, - 8, - 9 + 11, + 12, + 13, + 14, + 15, + 16 ], "starting_column": 5, "ending_column": 6 @@ -165,9 +166,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -191,7 +192,7 @@ "ending_column": 0 } }, - "signature": "constructor()" + "signature": "test()" } } } @@ -202,9 +203,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -229,10 +230,10 @@ } } ], - "description": "Redundant expression \"bool (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#7)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[bool](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L7)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L7", - "id": "73207d71a134f0726a839874ee88cdf509766ac7e23c2bce3d0b86c121b2fd4c", + "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" @@ -245,9 +246,9 @@ "source_mapping": { "start": 271, "length": 6, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 13 @@ -262,9 +263,9 @@ "source_mapping": { "start": 209, "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 11, @@ -284,9 +285,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -321,9 +322,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -348,10 +349,10 @@ } } ], - "description": "Redundant expression \"assert(bool) (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#13)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[assert(bool)](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L13)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L13", - "id": "774a4440b59af9fa94c7552ba0ce21a7835511012dc6257afc3fd4d80a023b28", + "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" @@ -364,9 +365,9 @@ "source_mapping": { "start": 169, "length": 27, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 8 @@ -381,9 +382,9 @@ "source_mapping": { "start": 110, "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 5, @@ -402,9 +403,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -439,9 +440,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -466,10 +467,10 @@ } } ], - "description": "Redundant expression \"RedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#8)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L8)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L8", - "id": "caf262c2d237789c12de0cf27ef88625491b29a1bc3209ced3a12d2890fc799e", + "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" @@ -478,16 +479,16 @@ "elements": [ { "type": "node", - "name": "uint256", + "name": "bool", "source_mapping": { - "start": 141, + "start": 155, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ - 6 + 7 ], "starting_column": 9, "ending_column": 13 @@ -499,9 +500,9 @@ "source_mapping": { "start": 110, "length": 93, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 5, @@ -520,9 +521,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -557,9 +558,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -584,10 +585,10 @@ } } ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#6)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L6)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L6", - "id": "d16c698a23693dc64165fc886c68f6900a7a2699998f0f3713d875cf49a2af87", + "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" @@ -598,14 +599,14 @@ "type": "node", "name": "uint256", "source_mapping": { - "start": 257, + "start": 141, "length": 4, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ - 12 + 6 ], "starting_column": 9, "ending_column": 13 @@ -613,21 +614,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "test", + "name": "constructor", "source_mapping": { - "start": 209, - "length": 109, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "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/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "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 + 5, + 6, + 7, + 8, + 9 ], "starting_column": 5, "ending_column": 6 @@ -639,9 +639,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -665,7 +665,7 @@ "ending_column": 0 } }, - "signature": "test()" + "signature": "constructor()" } } } @@ -676,9 +676,9 @@ "source_mapping": { "start": 66, "length": 254, - "filename_relative": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_relative": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol", + "filename_short": "tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol", "is_dependency": false, "lines": [ 3, @@ -703,10 +703,10 @@ } } ], - "description": "Redundant expression \"uint256 (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#12)\" inRedundantStatementsContract (tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#3-18)\n", - "markdown": "Redundant expression \"[uint256](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L12)\" in[RedundantStatementsContract](tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L3-L18)\n", - "first_markdown_element": "tests/detectors/redundant-statements/0.7.6/redundant_statements.sol#L12", - "id": "ffe6709dbcfc3342d28833aad5375135da8cc7369bf0649ab1796ff4eae14ca1", + "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" diff --git a/tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol b/tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol similarity index 100% rename from tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol rename to tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol diff --git a/tests/detectors/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 similarity index 86% rename from tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json rename to tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol.0.4.25.ReentrancyBenign.json index be84dbec2d..b44c226203 100644 --- a/tests/detectors/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 @@ -4,20 +4,20 @@ "elements": [ { "type": "function", - "name": "bad5", + "name": "bad1", "source_mapping": { - "start": 1137, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 53, - 54, - 55, - 56, - 57 + 23, + 24, + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -29,9 +29,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -108,42 +108,42 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad1(address)" } }, { "type": "node", - "name": "ethSender(address(0))", + "name": "success = target.call()", "source_mapping": { - "start": 1184, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 54 + 24 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 39 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad1", "source_mapping": { - "start": 1137, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 53, - 54, - 55, - 56, - 57 + 23, + 24, + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -155,9 +155,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -234,7 +234,7 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad1(address)" } } }, @@ -244,35 +244,37 @@ }, { "type": "node", - "name": "address(target).call.value(1)()", + "name": "success = target.call()", "source_mapping": { - "start": 1417, - "length": 31, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 64 + 24 ], "starting_column": 9, - "ending_column": 40 + "ending_column": 39 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "bad1", "source_mapping": { - "start": 1364, - "length": 91, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 63, - 64, - 65 + 23, + 24, + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -284,9 +286,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -363,7 +365,7 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "bad1(address)" } } }, @@ -373,16 +375,16 @@ }, { "type": "node", - "name": "varChanger()", + "name": "counter += 1", "source_mapping": { - "start": 1215, + "start": 561, "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 55 + 26 ], "starting_column": 9, "ending_column": 21 @@ -390,150 +392,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1137, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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", + "name": "bad1", "source_mapping": { - "start": 1461, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 67, - 68, - 69 + 23, + 24, + 25, + 26, + 27 ], "starting_column": 5, "ending_column": 6 @@ -545,9 +417,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -624,20 +496,20 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "bad1(address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "variable_name": "counter" } } ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#53-57):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#54)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#64)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#55)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#68)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L53-L57):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L54)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L64)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L55)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L68)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L53-L57", - "id": "254751a69c99356562e79eb0a53483ca1bcb0e9c4c847219206c665624db8a4c", + "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" @@ -650,9 +522,9 @@ "source_mapping": { "start": 322, "length": 120, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 16, @@ -672,9 +544,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -760,9 +632,9 @@ "source_mapping": { "start": 359, "length": 20, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 17 @@ -777,9 +649,9 @@ "source_mapping": { "start": 322, "length": 120, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 16, @@ -799,9 +671,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -892,9 +764,9 @@ "source_mapping": { "start": 359, "length": 20, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 17 @@ -909,9 +781,9 @@ "source_mapping": { "start": 322, "length": 120, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 16, @@ -931,9 +803,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1024,9 +896,9 @@ "source_mapping": { "start": 423, "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 20 @@ -1041,9 +913,9 @@ "source_mapping": { "start": 322, "length": 120, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 16, @@ -1063,9 +935,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1152,10 +1024,10 @@ } } ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#16-21):\n\tExternal calls:\n\t- ! (msg.sender.call()) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#20)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L16-L21):\n\tExternal calls:\n\t- [! (msg.sender.call())](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L20)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L16-L21", - "id": "2a39756367d068df6d24cfb010f495564ad89f8696ab2eaf9635d640412963cb", + "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" @@ -1168,9 +1040,9 @@ "source_mapping": { "start": 961, "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 46, @@ -1190,9 +1062,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1278,9 +1150,9 @@ "source_mapping": { "start": 1008, "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47 @@ -1295,9 +1167,9 @@ "source_mapping": { "start": 961, "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 46, @@ -1317,9 +1189,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1410,9 +1282,9 @@ "source_mapping": { "start": 1329, "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 60 @@ -1427,9 +1299,9 @@ "source_mapping": { "start": 1271, "length": 87, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 59, @@ -1446,9 +1318,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1539,9 +1411,9 @@ "source_mapping": { "start": 1040, "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 48 @@ -1556,9 +1428,9 @@ "source_mapping": { "start": 961, "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 46, @@ -1578,9 +1450,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1671,9 +1543,9 @@ "source_mapping": { "start": 1417, "length": 31, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 64 @@ -1688,9 +1560,9 @@ "source_mapping": { "start": 1364, "length": 91, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 63, @@ -1707,9 +1579,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1800,9 +1672,9 @@ "source_mapping": { "start": 1008, "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47 @@ -1817,9 +1689,9 @@ "source_mapping": { "start": 961, "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 46, @@ -1839,9 +1711,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1932,9 +1804,9 @@ "source_mapping": { "start": 1329, "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 60 @@ -1949,9 +1821,9 @@ "source_mapping": { "start": 1271, "length": 87, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 59, @@ -1968,9 +1840,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2061,9 +1933,9 @@ "source_mapping": { "start": 1040, "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 48 @@ -2078,9 +1950,9 @@ "source_mapping": { "start": 961, "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 46, @@ -2100,9 +1972,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2193,9 +2065,9 @@ "source_mapping": { "start": 1417, "length": 31, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 64 @@ -2210,9 +2082,9 @@ "source_mapping": { "start": 1364, "length": 91, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 63, @@ -2229,9 +2101,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2322,9 +2194,9 @@ "source_mapping": { "start": 1071, "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 49 @@ -2339,9 +2211,9 @@ "source_mapping": { "start": 961, "length": 170, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 46, @@ -2361,9 +2233,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2455,9 +2327,9 @@ "source_mapping": { "start": 1501, "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 68 @@ -2472,9 +2344,9 @@ "source_mapping": { "start": 1461, "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 67, @@ -2491,9 +2363,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2580,10 +2452,10 @@ } } ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#46-51):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#47)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#60)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#48)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#64)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#48)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#64)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#49)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#68)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L46-L51):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L47)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L60)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L48)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L64)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L48)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L64)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L49)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L68)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L46-L51", - "id": "2c5b7e723892ca273cde4bf80ff3909e425d55cc6de2a2c0778c4cfed2e32e11", + "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" @@ -2592,25 +2464,20 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad3", "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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 + 40, + 41, + 42, + 43, + 44 ], "starting_column": 5, "ending_column": 6 @@ -2622,9 +2489,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2701,47 +2568,42 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad3(address)" } }, { "type": "node", - "name": "success = target.call()", + "name": "externalCaller(target)", "source_mapping": { - "start": 633, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 30 + 41 ], "starting_column": 9, - "ending_column": 39 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad3", "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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 + 40, + 41, + 42, + 43, + 44 ], "starting_column": 5, "ending_column": 6 @@ -2753,9 +2615,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2832,7 +2694,7 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad3(address)" } } }, @@ -2842,42 +2704,35 @@ }, { "type": "node", - "name": "address(target).call.value(1000)()", + "name": "address(target).call()", "source_mapping": { - "start": 700, - "length": 34, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 32 + 60 ], - "starting_column": 13, - "ending_column": 47 + "starting_column": 9, + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "externalCaller", "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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 + 59, + 60, + 61 ], "starting_column": 5, "ending_column": 6 @@ -2889,9 +2744,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2968,52 +2823,47 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "externalCaller(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "success = target.call()", + "name": "externalCaller(target)", "source_mapping": { - "start": 633, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 30 + 41 ], "starting_column": 9, - "ending_column": 39 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad3", "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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 + 40, + 41, + 42, + 43, + 44 ], "starting_column": 5, "ending_column": 6 @@ -3025,9 +2875,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3104,7 +2954,7 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad3(address)" } } }, @@ -3114,42 +2964,35 @@ }, { "type": "node", - "name": "address(target).call.value(1000)()", + "name": "address(target).call()", "source_mapping": { - "start": 700, - "length": 34, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 32 + 60 ], - "starting_column": 13, - "ending_column": 47 + "starting_column": 9, + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "externalCaller", "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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 + 59, + 60, + 61 ], "starting_column": 5, "ending_column": 6 @@ -3161,9 +3004,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3240,7 +3083,7 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "externalCaller(address)" } } }, @@ -3250,42 +3093,37 @@ }, { "type": "node", - "name": "counter += 1", + "name": "varChanger()", "source_mapping": { - "start": 748, + "start": 909, "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 33 + 42 ], - "starting_column": 13, - "ending_column": 25 + "starting_column": 9, + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad3", "source_mapping": { - "start": 586, - "length": 238, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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 + 40, + 41, + 42, + 43, + 44 ], "starting_column": 5, "ending_column": 6 @@ -3297,9 +3135,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3376,121 +3214,256 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad3(address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "counter" + "variable_name": "anotherVariableToChange" } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#29-38):\n\tExternal calls:\n\t- success = target.call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#30)\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#32)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#32)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#33)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L29-L38):\n\tExternal calls:\n\t- [success = target.call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L30)\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L32)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L32)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L33)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L29-L38", - "id": "3180ddee7a1760e704dea65602dda2c269e95d0623dd8dba90c0fa59fc983078", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "function", - "name": "bad1", + "type": "node", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 23, - 24, - 25, - 26, - 27 + 68 ], - "starting_column": 5, - "ending_column": 6 + "starting_column": 9, + "ending_column": 34 }, "type_specific_fields": { "parent": { - "type": "contract", - "name": "ReentrancyBenign", + "type": "function", + "name": "varChanger", "source_mapping": { - "start": 25, - "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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, + 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, @@ -3502,21 +3475,21 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad2(address)" } }, { "type": "node", "name": "success = target.call()", "source_mapping": { - "start": 495, + "start": 633, "length": 30, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 24 + 30 ], "starting_column": 9, "ending_column": 39 @@ -3524,20 +3497,25 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 23, - 24, - 25, - 26, - 27 + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 ], "starting_column": 5, "ending_column": 6 @@ -3549,9 +3527,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3628,7 +3606,7 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad2(address)" } } }, @@ -3638,37 +3616,42 @@ }, { "type": "node", - "name": "success = target.call()", + "name": "address(target).call.value(1000)()", "source_mapping": { - "start": 495, - "length": 30, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 24 + 32 ], - "starting_column": 9, - "ending_column": 39 + "starting_column": 13, + "ending_column": 47 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 23, - 24, - 25, - 26, - 27 + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 ], "starting_column": 5, "ending_column": 6 @@ -3680,9 +3663,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3759,47 +3742,52 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "counter += 1", + "name": "success = target.call()", "source_mapping": { - "start": 561, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 26 + 30 ], "starting_column": 9, - "ending_column": 21 + "ending_column": 39 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 448, - "length": 132, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 23, - 24, - 25, - 26, - 27 + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 ], "starting_column": 5, "ending_column": 6 @@ -3811,9 +3799,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3890,168 +3878,52 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#23-27):\n\tExternal calls:\n\t- success = target.call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#24)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#26)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L23-L27):\n\tExternal calls:\n\t- [success = target.call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L24)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L26)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L23-L27", - "id": "5fb57eb2a5139fdffbb315bf81a08464938d5f19d8b87e1c292d5be33d8ddd40", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad3", - "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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)" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "externalCaller(target)", + "name": "address(target).call.value(1000)()", "source_mapping": { - "start": 877, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41 + 32 ], - "starting_column": 9, - "ending_column": 31 + "starting_column": 13, + "ending_column": 47 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 40, - 41, - 42, - 43, - 44 + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 ], "starting_column": 5, "ending_column": 6 @@ -4063,9 +3935,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4142,45 +4014,52 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "address(target).call()", + "name": "counter += 1", "source_mapping": { - "start": 1329, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60 + 33 ], - "starting_column": 9, - "ending_column": 31 + "starting_column": 13, + "ending_column": 25 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad2", "source_mapping": { - "start": 1271, - "length": 87, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 59, - 60, - 61 + 29, + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38 ], "starting_column": 5, "ending_column": 6 @@ -4192,9 +4071,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4271,47 +4150,168 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "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": "node", - "name": "externalCaller(target)", + "type": "function", + "name": "bad5", "source_mapping": { - "start": 877, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41 + 53, + 54, + 55, + 56, + 57 ], - "starting_column": 9, - "ending_column": 31 + "starting_column": 5, + "ending_column": 6 }, "type_specific_fields": { "parent": { - "type": "function", - "name": "bad3", + "type": "contract", + "name": "ReentrancyBenign", "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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 + 44, + 45, + 46, + 47, + 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 @@ -4323,9 +4323,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4402,45 +4402,45 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad5(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "address(target).call()", + "name": "address(target).call.value(1)()", "source_mapping": { - "start": 1329, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60 + 64 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 40 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "ethSender", "source_mapping": { - "start": 1271, - "length": 87, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 59, - 60, - 61 + 63, + 64, + 65 ], "starting_column": 5, "ending_column": 6 @@ -4452,9 +4452,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4531,7 +4531,7 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "ethSender(address)" } } }, @@ -4543,14 +4543,14 @@ "type": "node", "name": "varChanger()", "source_mapping": { - "start": 909, + "start": 1215, "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 42 + 55 ], "starting_column": 9, "ending_column": 21 @@ -4558,20 +4558,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad5", "source_mapping": { - "start": 830, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 40, - 41, - 42, - 43, - 44 + 53, + 54, + 55, + 56, + 57 ], "starting_column": 5, "ending_column": 6 @@ -4583,9 +4583,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4662,7 +4662,7 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad5(address)" } } }, @@ -4677,9 +4677,9 @@ "source_mapping": { "start": 1501, "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 68 @@ -4694,9 +4694,9 @@ "source_mapping": { "start": 1461, "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 67, @@ -4713,9 +4713,9 @@ "source_mapping": { "start": 25, "length": 1510, - "filename_relative": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4802,10 +4802,10 @@ } } ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#40-44):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#41)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#60)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#42)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#68)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L40-L44):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L41)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L60)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L42)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L68)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.4.25/reentrancy-benign.sol#L40-L44", - "id": "a810049262dd308ddb72c1e0ff5f221cc85389c1e0a91b3e9c1eb06264e8de75", + "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" diff --git a/tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol b/tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol similarity index 100% rename from tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol rename to tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol diff --git a/tests/detectors/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 similarity index 86% rename from tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json rename to tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol.0.5.16.ReentrancyBenign.json index a683dc6ec7..667e6c92f6 100644 --- a/tests/detectors/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 @@ -4,21 +4,22 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad0", "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -30,9 +31,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -110,43 +111,44 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad0()" } }, { "type": "node", - "name": "externalCaller(target)", + "name": "success = msg.sender.call()", "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 48 + 17 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad0", "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -158,9 +160,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -238,7 +240,7 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad0()" } } }, @@ -248,35 +250,39 @@ }, { "type": "node", - "name": "address(target).call()", + "name": "success = msg.sender.call()", "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 61 + 17 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad0", "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60, - 61, - 62 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -288,9 +294,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -368,7 +374,7 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad0()" } } }, @@ -378,38 +384,39 @@ }, { "type": "node", - "name": "ethSender(address(0))", + "name": "counter += 1", "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 49 + 21 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad0", "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -421,9 +428,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -501,45 +508,169 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad0()" } } }, "additional_fields": { - "underlying_type": "external_calls" + "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": "01bde163c3436f90414f580ead28b7b0d652f74fdc84312f64c4fdf9f425628f", + "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.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": "address(target).call.value(1)()", + "name": "externalCaller(target)", "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 65 + 42 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "bad3", "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 64, - 65, - 66 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -551,9 +682,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -631,156 +762,23 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "bad3(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "externalCaller(target)", - "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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()", + "name": "address(target).call()", "source_mapping": { "start": 1387, "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 61 @@ -795,9 +793,9 @@ "source_mapping": { "start": 1329, "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 60, @@ -814,9 +812,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -904,38 +902,37 @@ }, { "type": "node", - "name": "ethSender(address(0))", + "name": "externalCaller(target)", "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 49 + 42 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -947,9 +944,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1027,7 +1024,7 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad3(address)" } } }, @@ -1037,35 +1034,35 @@ }, { "type": "node", - "name": "address(target).call.value(1)()", + "name": "address(target).call()", "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 65 + 61 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "externalCaller", "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 64, - 65, - 66 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -1077,9 +1074,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1157,7 +1154,7 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "externalCaller(address)" } } }, @@ -1169,14 +1166,14 @@ "type": "node", "name": "varChanger()", "source_mapping": { - "start": 1127, + "start": 965, "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 50 + 43 ], "starting_column": 9, "ending_column": 21 @@ -1184,21 +1181,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -1210,9 +1206,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1290,7 +1286,7 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad3(address)" } } }, @@ -1305,9 +1301,9 @@ "source_mapping": { "start": 1563, "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 69 @@ -1322,9 +1318,9 @@ "source_mapping": { "start": 1523, "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 68, @@ -1341,9 +1337,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1431,10 +1427,10 @@ } } ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#47-52):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#48)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#61)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#50)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L47-L52):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L48)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L61)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L50)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L47-L52", - "id": "09715812e28a5537647f577ab2ae708e7a3c903caf67e0ea43e15320f8a602c5", + "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" @@ -1447,9 +1443,9 @@ "source_mapping": { "start": 496, "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 24, @@ -1468,9 +1464,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1553,13 +1549,13 @@ }, { "type": "node", - "name": "(success) = target.call()", + "name": "success = target.call()", "source_mapping": { "start": 543, "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 25 @@ -1574,9 +1570,9 @@ "source_mapping": { "start": 496, "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 24, @@ -1595,9 +1591,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1685,13 +1681,13 @@ }, { "type": "node", - "name": "(success) = target.call()", + "name": "success = target.call()", "source_mapping": { "start": 543, "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 25 @@ -1706,9 +1702,9 @@ "source_mapping": { "start": 496, "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 24, @@ -1727,9 +1723,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1821,9 +1817,9 @@ "source_mapping": { "start": 612, "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 27 @@ -1838,9 +1834,9 @@ "source_mapping": { "start": 496, "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 24, @@ -1859,9 +1855,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1949,10 +1945,10 @@ } } ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#24-28):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#25)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#27)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L24-L28):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L25)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L27)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L24-L28", - "id": "182811ddaccda6e1fc2f65594a377c1592929956b04e6e52c5ad7c0121f0c809", + "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": "5bc9d24aecf09e047b2ce2b3f7702daec3f28194eeb19cf372aebd60e4b83cb9", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" @@ -1961,25 +1957,20 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad5", "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -1991,9 +1982,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2071,47 +2062,42 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad5(address)" } }, { "type": "node", - "name": "(success) = target.call()", + "name": "ethSender(address(0))", "source_mapping": { - "start": 684, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 31 + 55 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad5", "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -2123,9 +2109,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2203,7 +2189,7 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad5(address)" } } }, @@ -2213,42 +2199,35 @@ }, { "type": "node", - "name": "address(target).call.value(1000)()", + "name": "address(target).call.value(1)()", "source_mapping": { - "start": 754, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 33 + 65 ], - "starting_column": 13, - "ending_column": 49 + "starting_column": 9, + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "ethSender", "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -2260,9 +2239,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2340,52 +2319,47 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "ethSender(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "(success) = target.call()", + "name": "varChanger()", "source_mapping": { - "start": 684, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 31 + 56 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad5", "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -2397,9 +2371,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2477,52 +2451,46 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad5(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "variables_written", + "variable_name": "anotherVariableToChange" } }, { "type": "node", - "name": "address(target).call.value(1000)()", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 754, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 33 + 69 ], - "starting_column": 13, - "ending_column": 49 + "starting_column": 9, + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "varChanger", "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 68, + 69, + 70 ], "starting_column": 5, "ending_column": 6 @@ -2534,9 +2502,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2614,42 +2582,86 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "varChanger()" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "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": "node", - "name": "counter += 1", + "type": "function", + "name": "bad4", "source_mapping": { - "start": 804, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 34 + 47, + 48, + 49, + 50, + 51, + 52 ], - "starting_column": 13, - "ending_column": 25 + "starting_column": 5, + "ending_column": 6 }, "type_specific_fields": { "parent": { - "type": "function", - "name": "bad2", + "type": "contract", + "name": "ReentrancyBenign", "source_mapping": { - "start": 637, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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, @@ -2659,7 +2671,82 @@ 36, 37, 38, - 39 + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 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 @@ -2671,9 +2758,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2751,173 +2838,178 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" + "underlying_type": "external_calls" } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#30-39):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#31)\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#33)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#33)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#34)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L30-L39):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L31)\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L33)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L33)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L34)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L30-L39", - "id": "252ced5708ae1cf4a55673e963669257e8c4f2601c814c635fde84d478612e2a", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "function", - "name": "bad0", + "type": "node", + "name": "address(target).call()", "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 61 ], - "starting_column": 5, - "ending_column": 6 + "starting_column": 9, + "ending_column": 33 }, "type_specific_fields": { "parent": { - "type": "contract", - "name": "ReentrancyBenign", + "type": "function", + "name": "externalCaller", "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 62 ], - "starting_column": 1, - "ending_column": 0 + "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)" } - }, - "signature": "bad0()" + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "(success) = msg.sender.call()", + "name": "ethSender(address(0))", "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 17 + 49 ], "starting_column": 9, - "ending_column": 46 + "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad4", "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -2929,9 +3021,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3009,7 +3101,7 @@ "ending_column": 0 } }, - "signature": "bad0()" + "signature": "bad4(address)" } } }, @@ -3019,39 +3111,35 @@ }, { "type": "node", - "name": "(success) = msg.sender.call()", + "name": "address(target).call.value(1)()", "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 17 + 65 ], "starting_column": 9, - "ending_column": 46 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "ethSender", "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -3063,9 +3151,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3143,7 +3231,7 @@ "ending_column": 0 } }, - "signature": "bad0()" + "signature": "ethSender(address)" } } }, @@ -3153,39 +3241,38 @@ }, { "type": "node", - "name": "counter += 1", + "name": "externalCaller(target)", "source_mapping": { - "start": 471, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 21 + 48 ], "starting_column": 9, - "ending_column": 21 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad4", "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -3197,9 +3284,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3277,148 +3364,156 @@ "ending_column": 0 } }, - "signature": "bad0()" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" + "underlying_type": "external_calls_sending_eth" } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#16-22):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#21)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L16-L22):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L21)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L16-L22", - "id": "7222cf72aee6330979168010b682e7d820989fbbf9a23906914e967a0f5533e6", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "function", - "name": "bad5", + "type": "node", + "name": "address(target).call()", "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 54, - 55, - 56, - 57, - 58 + 61 ], - "starting_column": 5, - "ending_column": 6 + "starting_column": 9, + "ending_column": 33 }, "type_specific_fields": { "parent": { - "type": "contract", - "name": "ReentrancyBenign", + "type": "function", + "name": "externalCaller", "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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 + 62 ], - "starting_column": 1, - "ending_column": 0 + "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)" } - }, - "signature": "bad5(address)" + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", "name": "ethSender(address(0))", "source_mapping": { - "start": 1242, + "start": 1096, "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 55 + 49 ], "starting_column": 9, "ending_column": 30 @@ -3426,20 +3521,21 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad4", "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 54, - 55, - 56, - 57, - 58 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -3451,9 +3547,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3531,12 +3627,12 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { @@ -3545,9 +3641,9 @@ "source_mapping": { "start": 1477, "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 65 @@ -3562,9 +3658,9 @@ "source_mapping": { "start": 1424, "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 64, @@ -3581,9 +3677,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3673,14 +3769,14 @@ "type": "node", "name": "varChanger()", "source_mapping": { - "start": 1273, + "start": 1127, "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 56 + 50 ], "starting_column": 9, "ending_column": 21 @@ -3688,20 +3784,21 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad4", "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 54, - 55, - 56, - 57, - 58 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -3713,9 +3810,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3793,7 +3890,7 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad4(address)" } } }, @@ -3808,9 +3905,9 @@ "source_mapping": { "start": 1563, "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 69 @@ -3825,9 +3922,9 @@ "source_mapping": { "start": 1523, "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 68, @@ -3844,9 +3941,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3934,10 +4031,10 @@ } } ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#54-58):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#55)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#56)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L54-L58):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L55)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L56)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L54-L58", - "id": "b371cf739f2ef594320a33b4d707024727f7fc7cabf48f9946f65653429b671e", + "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" @@ -3946,20 +4043,25 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41, - 42, - 43, - 44, - 45 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -3969,254 +4071,129 @@ "type": "contract", "name": "ReentrancyBenign", "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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)" + "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 } - } - }, - "additional_fields": { - "underlying_type": "external_calls" + }, + "signature": "bad2(address)" } }, { "type": "node", - "name": "address(target).call()", + "name": "success = target.call()", "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 61 + 31 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad2", "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60, - 61, - 62 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -4228,9 +4205,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4308,47 +4285,52 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "externalCaller(target)", + "name": "address(target).call.value(1000)()", "source_mapping": { - "start": 933, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 42 + 33 ], - "starting_column": 9, - "ending_column": 31 + "starting_column": 13, + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41, - 42, - 43, - 44, - 45 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -4360,9 +4342,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4440,45 +4422,52 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "address(target).call()", + "name": "success = target.call()", "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 61 + 31 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad2", "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60, - 61, - 62 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -4490,9 +4479,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4570,7 +4559,7 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad2(address)" } } }, @@ -4580,37 +4569,42 @@ }, { "type": "node", - "name": "varChanger()", + "name": "address(target).call.value(1000)()", "source_mapping": { - "start": 965, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 43 + 33 ], - "starting_column": 9, - "ending_column": 21 + "starting_column": 13, + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41, - 42, - 43, - 44, - 45 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -4622,9 +4616,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4702,46 +4696,52 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "anotherVariableToChange ++", + "name": "counter += 1", "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 69 + 34 ], - "starting_column": 9, - "ending_column": 34 + "starting_column": 13, + "ending_column": 25 }, "type_specific_fields": { "parent": { "type": "function", - "name": "varChanger", + "name": "bad2", "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 68, - 69, - 70 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -4753,9 +4753,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4833,20 +4833,20 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "bad2(address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "variable_name": "counter" } } ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#41-45):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#42)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#61)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#43)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L41-L45):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L42)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L61)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L43)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.5.16/reentrancy-benign.sol#L41-L45", - "id": "b4ca5fb9ad17bbab425a11b56f4fb0466db3680404ffb27f185072af6033dae3", + "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": "f8646c83125ca7b793d7373531a89a1a2729354823bef56e778fd17c328440ff", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" diff --git a/tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol b/tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol similarity index 100% rename from tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol rename to tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol diff --git a/tests/detectors/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 similarity index 86% rename from tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json rename to tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol.0.6.11.ReentrancyBenign.json index 550404d799..6cf05ac899 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 637, "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, @@ -34,9 +34,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -119,13 +119,13 @@ }, { "type": "node", - "name": "(success) = target.call()", + "name": "success = target.call()", "source_mapping": { "start": 684, "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 31 @@ -140,9 +140,9 @@ "source_mapping": { "start": 637, "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, @@ -166,9 +166,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -260,9 +260,9 @@ "source_mapping": { "start": 754, "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 33 @@ -277,9 +277,9 @@ "source_mapping": { "start": 637, "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, @@ -303,9 +303,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -393,13 +393,13 @@ }, { "type": "node", - "name": "(success) = target.call()", + "name": "success = target.call()", "source_mapping": { "start": 684, "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 31 @@ -414,9 +414,9 @@ "source_mapping": { "start": 637, "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, @@ -440,9 +440,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -534,9 +534,9 @@ "source_mapping": { "start": 754, "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 33 @@ -551,9 +551,9 @@ "source_mapping": { "start": 637, "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, @@ -577,9 +577,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -671,9 +671,9 @@ "source_mapping": { "start": 804, "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 34 @@ -688,9 +688,9 @@ "source_mapping": { "start": 637, "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 30, @@ -714,9 +714,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -804,10 +804,10 @@ } } ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#30-39):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#31)\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#33)\n\tExternal calls sending eth:\n\t- address(target).call.value(1000)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#33)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#34)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L30-L39):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L31)\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L33)\n\tExternal calls sending eth:\n\t- [address(target).call.value(1000)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L33)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L34)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L30-L39", - "id": "3c650a2918e51e0de52806ff655cd61f80b0b71fa3d15c7c5bf82702827ef167", + "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": "0da08e49d8779324ee3c6f0ea7fb1c4ac9a3b89e9cd60f9dc856730f747485bf", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" @@ -816,20 +816,21 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41, - 42, - 43, - 44, - 45 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -841,9 +842,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -921,21 +922,21 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad4(address)" } }, { "type": "node", "name": "externalCaller(target)", "source_mapping": { - "start": 933, + "start": 1064, "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 42 + 48 ], "starting_column": 9, "ending_column": 31 @@ -943,20 +944,21 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41, - 42, - 43, - 44, - 45 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -968,9 +970,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1048,7 +1050,7 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad4(address)" } } }, @@ -1062,9 +1064,9 @@ "source_mapping": { "start": 1387, "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 61 @@ -1079,9 +1081,9 @@ "source_mapping": { "start": 1329, "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 60, @@ -1098,9 +1100,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1188,37 +1190,38 @@ }, { "type": "node", - "name": "externalCaller(target)", + "name": "ethSender(address(0))", "source_mapping": { - "start": 933, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 42 + 49 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41, - 42, - 43, - 44, - 45 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -1230,9 +1233,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1310,45 +1313,45 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "address(target).call()", + "name": "address(target).call.value(1)()", "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 61 + 65 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "ethSender", "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60, - 61, - 62 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -1360,9 +1363,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1440,7 +1443,7 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "ethSender(address)" } } }, @@ -1450,37 +1453,38 @@ }, { "type": "node", - "name": "varChanger()", + "name": "externalCaller(target)", "source_mapping": { - "start": 965, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 43 + 48 ], "starting_column": 9, - "ending_column": 21 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 886, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41, - 42, - 43, - 44, - 45 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -1492,9 +1496,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1572,46 +1576,45 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "anotherVariableToChange ++", + "name": "address(target).call()", "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 69 + 61 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "varChanger", + "name": "externalCaller", "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 68, - 69, - 70 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -1623,9 +1626,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1703,148 +1706,159 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "externalCaller(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls_sending_eth" } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#41-45):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#42)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#61)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#43)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L41-L45):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L42)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L61)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L43)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L41-L45", - "id": "58281d2d0d4b435e02839ff31a2390af2ba44c481c46231470a3259a6a3bedc3", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "function", - "name": "bad1", + "type": "node", + "name": "ethSender(address(0))", "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 24, - 25, - 26, - 27, - 28 + 49 ], - "starting_column": 5, - "ending_column": 6 + "starting_column": 9, + "ending_column": 30 }, "type_specific_fields": { "parent": { - "type": "contract", - "name": "ReentrancyBenign", + "type": "function", + "name": "bad4", "source_mapping": { - "start": 28, - "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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 + 52 ], - "starting_column": 1, - "ending_column": 0 + "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)" } - }, - "signature": "bad1(address)" + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "(success) = target.call()", + "name": "address(target).call.value(1)()", "source_mapping": { - "start": 543, + "start": 1477, "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 25 + 65 ], "starting_column": 9, "ending_column": 42 @@ -1852,20 +1866,18 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "ethSender", "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 24, - 25, - 26, - 27, - 28 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -1877,9 +1889,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1957,47 +1969,48 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "ethSender(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "(success) = target.call()", + "name": "varChanger()", "source_mapping": { - "start": 543, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 25 + 50 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad4", "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 24, - 25, - 26, - 27, - 28 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -2009,9 +2022,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2089,47 +2102,46 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "variables_written", + "variable_name": "anotherVariableToChange" } }, { "type": "node", - "name": "counter += 1", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 612, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 27 + 69 ], "starting_column": 9, - "ending_column": 21 + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "varChanger", "source_mapping": { - "start": 496, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 24, - 25, - 26, - 27, - 28 + 68, + 69, + 70 ], "starting_column": 5, "ending_column": 6 @@ -2141,9 +2153,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2221,20 +2233,20 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "varChanger()" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "counter" + "variable_name": "anotherVariableToChange" } } ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#24-28):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#25)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#27)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L24-L28):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L25)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L27)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L24-L28", - "id": "8f0d7d7d0fe7ab37eac4842bec23c83b63015f99144343b9d4b2201fda3ec73b", + "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" @@ -2243,22 +2255,20 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad3", "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -2270,9 +2280,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2350,44 +2360,42 @@ "ending_column": 0 } }, - "signature": "bad0()" + "signature": "bad3(address)" } }, { "type": "node", - "name": "(success) = msg.sender.call()", + "name": "externalCaller(target)", "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 17 + 42 ], "starting_column": 9, - "ending_column": 46 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad3", "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -2399,9 +2407,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2479,7 +2487,7 @@ "ending_column": 0 } }, - "signature": "bad0()" + "signature": "bad3(address)" } } }, @@ -2489,39 +2497,35 @@ }, { "type": "node", - "name": "(success) = msg.sender.call()", + "name": "address(target).call()", "source_mapping": { - "start": 368, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 17 + 61 ], "starting_column": 9, - "ending_column": 46 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "externalCaller", "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -2533,9 +2537,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2613,7 +2617,7 @@ "ending_column": 0 } }, - "signature": "bad0()" + "signature": "externalCaller(address)" } } }, @@ -2623,39 +2627,37 @@ }, { "type": "node", - "name": "counter += 1", + "name": "externalCaller(target)", "source_mapping": { - "start": 471, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 21 + 42 ], "starting_column": 9, - "ending_column": 21 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad3", "source_mapping": { - "start": 335, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -2667,9 +2669,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2747,171 +2749,45 @@ "ending_column": 0 } }, - "signature": "bad0()" + "signature": "bad3(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#16-22):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#21)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L16-L22):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L21)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L16-L22", - "id": "a7b654e48f473524c116a9596c90ad440fb301bfdf4906256200347e7d5b052f", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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)" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "externalCaller(target)", + "name": "address(target).call()", "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 48 + 61 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "externalCaller", "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -2923,9 +2799,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3003,45 +2879,47 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "externalCaller(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "address(target).call()", + "name": "varChanger()", "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 61 + 43 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad3", "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60, - 61, - 62 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -3053,9 +2931,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3133,48 +3011,46 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad3(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "variables_written", + "variable_name": "anotherVariableToChange" } }, { "type": "node", - "name": "ethSender(address(0))", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 49 + 69 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "varChanger", "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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 + 68, + 69, + 70 ], "starting_column": 5, "ending_column": 6 @@ -3186,9 +3062,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3266,45 +3142,169 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "varChanger()" } } }, "additional_fields": { - "underlying_type": "external_calls" + "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": "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": "address(target).call.value(1)()", + "name": "ethSender(address(0))", "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 65 + 55 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "bad5", "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 64, - 65, - 66 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -3316,9 +3316,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3396,48 +3396,45 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "bad5(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "externalCaller(target)", + "name": "address(target).call.value(1)()", "source_mapping": { - "start": 1064, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 48 + 65 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "ethSender", "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -3449,9 +3446,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3529,7 +3526,7 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "ethSender(address)" } } }, @@ -3539,35 +3536,37 @@ }, { "type": "node", - "name": "address(target).call()", + "name": "varChanger()", "source_mapping": { - "start": 1387, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 61 + 56 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad5", "source_mapping": { - "start": 1329, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60, - 61, - 62 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -3579,9 +3578,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3659,48 +3658,46 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad5(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "variables_written", + "variable_name": "anotherVariableToChange" } }, { "type": "node", - "name": "ethSender(address(0))", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 1096, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 49 + 69 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "varChanger", "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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 + 68, + 69, + 70 ], "starting_column": 5, "ending_column": 6 @@ -3712,9 +3709,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3792,26 +3789,148 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "varChanger()" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "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": "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": "address(target).call.value(1)()", + "name": "success = target.call()", "source_mapping": { - "start": 1477, + "start": 543, "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 65 + 25 ], "starting_column": 9, "ending_column": 42 @@ -3819,18 +3938,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "bad1", "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 64, - 65, - 66 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -3842,9 +3963,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3922,48 +4043,47 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "bad1(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "varChanger()", + "name": "success = target.call()", "source_mapping": { - "start": 1127, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 50 + 25 ], "starting_column": 9, - "ending_column": 21 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad1", "source_mapping": { - "start": 1017, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -3975,9 +4095,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4055,46 +4175,47 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad1(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "anotherVariableToChange ++", + "name": "counter += 1", "source_mapping": { - "start": 1563, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 69 + 27 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "varChanger", + "name": "bad1", "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 68, - 69, - 70 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -4106,9 +4227,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4186,20 +4307,20 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "bad1(address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "variable_name": "counter" } } ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#47-52):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#48)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#61)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#65)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#49)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#50)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L47-L52):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L48)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L61)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L65)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L49)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L50)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L47-L52", - "id": "d5049610fe8d402e1f27f6a2d900c97748d1fdc7792b87c2c6bf6eb2a3233108", + "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": "9208d9cb360276f3b472fd5579c705474230dae3a72a84771cef223b2e99b3be", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" @@ -4208,20 +4329,22 @@ "elements": [ { "type": "function", - "name": "bad5", + "name": "bad0", "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 54, - 55, - 56, - 57, - 58 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -4233,9 +4356,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4313,42 +4436,44 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad0()" } }, { "type": "node", - "name": "ethSender(address(0))", + "name": "success = msg.sender.call()", "source_mapping": { - "start": 1242, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 55 + 17 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad0", "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 54, - 55, - 56, - 57, - 58 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -4360,9 +4485,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4440,7 +4565,7 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad0()" } } }, @@ -4450,35 +4575,39 @@ }, { "type": "node", - "name": "address(target).call.value(1)()", + "name": "success = msg.sender.call()", "source_mapping": { - "start": 1477, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 65 + 17 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "bad0", "source_mapping": { - "start": 1424, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 64, - 65, - 66 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -4490,9 +4619,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4570,7 +4699,7 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "bad0()" } } }, @@ -4580,16 +4709,16 @@ }, { "type": "node", - "name": "varChanger()", + "name": "counter += 1", "source_mapping": { - "start": 1273, + "start": 471, "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 56 + 21 ], "starting_column": 9, "ending_column": 21 @@ -4597,151 +4726,22 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", - "source_mapping": { - "start": 1195, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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", + "name": "bad0", "source_mapping": { - "start": 1523, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 68, - 69, - 70 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -4753,9 +4753,9 @@ "source_mapping": { "start": 28, "length": 1569, - "filename_relative": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4833,20 +4833,20 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "bad0()" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "variable_name": "counter" } } ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#54-58):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#55)\n\t\t- address(target).call.value(1)() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#56)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L54-L58):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L55)\n\t\t- [address(target).call.value(1)()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L56)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.6.11/reentrancy-benign.sol#L54-L58", - "id": "e7c7c3ed238e9eb57245ccd9723aaaf8e9e1b2948b43d39ba9ab99228fb09ec4", + "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": "b9fcdada71a3c1500775d28268e10c0e035d5f9229ef2854137620432d1c98dc", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" diff --git a/tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol b/tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol similarity index 100% rename from tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol rename to tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol diff --git a/tests/detectors/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 similarity index 82% rename from tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json rename to tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol.0.7.6.ReentrancyBenign.json index 63712de9d0..2102ceed77 100644 --- a/tests/detectors/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 @@ -4,22 +4,20 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad5", "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -31,9 +29,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -111,44 +109,42 @@ "ending_column": 0 } }, - "signature": "bad0()" + "signature": "bad5(address)" } }, { "type": "node", - "name": "(success) = msg.sender.call()", + "name": "ethSender(address(0))", "source_mapping": { - "start": 361, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 17 + 55 ], "starting_column": 9, - "ending_column": 46 + "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad5", "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -160,9 +156,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -240,7 +236,7 @@ "ending_column": 0 } }, - "signature": "bad0()" + "signature": "bad5(address)" } } }, @@ -250,39 +246,35 @@ }, { "type": "node", - "name": "(success) = msg.sender.call()", + "name": "address(target).call()", "source_mapping": { - "start": 361, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 17 + 65 ], "starting_column": 9, - "ending_column": 46 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "ethSender", "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -294,9 +286,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -374,7 +366,7 @@ "ending_column": 0 } }, - "signature": "bad0()" + "signature": "ethSender(address)" } } }, @@ -384,39 +376,37 @@ }, { "type": "node", - "name": "counter += 1", + "name": "ethSender(address(0))", "source_mapping": { - "start": 464, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 21 + 55 ], "starting_column": 9, - "ending_column": 21 + "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad5", "source_mapping": { - "start": 328, - "length": 155, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -428,9 +418,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -508,153 +498,26 @@ "ending_column": 0 } }, - "signature": "bad0()" + "signature": "bad5(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" - } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad0() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#16-22):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#17)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#21)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad0()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L16-L22):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L17)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L21)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L16-L22", - "id": "048313a93ec637e415b1c374abb90f2893f9c9952499c48b5872fe196cf55299", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad2", - "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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)" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "(success) = target.call()", + "name": "address(target).call()", "source_mapping": { - "start": 677, + "start": 1470, "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 31 + 65 ], "starting_column": 9, "ending_column": 42 @@ -662,25 +525,18 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "ethSender", "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -692,9 +548,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -772,52 +628,47 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "ethSender(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "address(target).call{value: 1000}()", + "name": "varChanger()", "source_mapping": { - "start": 747, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 33 + 56 ], - "starting_column": 13, - "ending_column": 49 + "starting_column": 9, + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad5", "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -829,9 +680,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -909,52 +760,46 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad5(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "variables_written", + "variable_name": "anotherVariableToChange" } }, { "type": "node", - "name": "(success) = target.call()", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 677, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 31 + 69 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "varChanger", "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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 + 68, + 69, + 70 ], "starting_column": 5, "ending_column": 6 @@ -966,9 +811,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1046,42 +891,86 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "varChanger()" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "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() (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()](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": "1ae9af101075c35f02db1d683e93595ef26cf79370519b6d52d03f47c5e790ba", + "check": "reentrancy-benign", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ { - "type": "node", - "name": "address(target).call{value: 1000}()", + "type": "function", + "name": "bad4", "source_mapping": { - "start": 747, - "length": 36, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 33 + 47, + 48, + 49, + 50, + 51, + 52 ], - "starting_column": 13, - "ending_column": 49 + "starting_column": 5, + "ending_column": 6 }, "type_specific_fields": { "parent": { - "type": "function", - "name": "bad2", + "type": "contract", + "name": "ReentrancyBenign", "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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, @@ -1091,7 +980,82 @@ 36, 37, 38, - 39 + 39, + 40, + 41, + 42, + 43, + 44, + 45, + 46, + 47, + 48, + 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 @@ -1103,9 +1067,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1183,52 +1147,45 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "counter += 1", + "name": "address(target).call()", "source_mapping": { - "start": 797, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 34 + 61 ], - "starting_column": 13, - "ending_column": 25 + "starting_column": 9, + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "externalCaller", "source_mapping": { - "start": 630, - "length": 243, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -1240,9 +1197,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1320,152 +1277,29 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "externalCaller(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" + "underlying_type": "external_calls_sending_eth" } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad2(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#30-39):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#31)\n\t- address(target).call{value: 1000}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#33)\n\tExternal calls sending eth:\n\t- address(target).call{value: 1000}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#33)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#34)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad2(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L30-L39):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L31)\n\t- [address(target).call{value: 1000}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L33)\n\tExternal calls sending eth:\n\t- [address(target).call{value: 1000}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L33)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L34)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L30-L39", - "id": "6717f4516d88a5c7e163ec2f50f29be4b3ea7e2df36e9fbc688489a69fef5d77", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "bad4", - "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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)", + "name": "ethSender(address(0))", "source_mapping": { - "start": 1057, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 48 + 49 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 30 }, "type_specific_fields": { "parent": { @@ -1474,9 +1308,9 @@ "source_mapping": { "start": 1010, "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47, @@ -1496,9 +1330,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1588,33 +1422,33 @@ "type": "node", "name": "address(target).call()", "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 61 + 65 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "ethSender", "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60, - 61, - 62 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -1626,9 +1460,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1706,7 +1540,7 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "ethSender(address)" } } }, @@ -1716,19 +1550,19 @@ }, { "type": "node", - "name": "ethSender(address(0))", + "name": "externalCaller(target)", "source_mapping": { - "start": 1089, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 49 + 48 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 31 }, "type_specific_fields": { "parent": { @@ -1737,9 +1571,9 @@ "source_mapping": { "start": 1010, "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47, @@ -1759,9 +1593,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1844,40 +1678,40 @@ } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "address(target).call{value: 1}()", + "name": "address(target).call()", "source_mapping": { - "start": 1470, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 65 + 61 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "externalCaller", "source_mapping": { - "start": 1417, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 64, - 65, - 66 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -1889,9 +1723,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -1969,7 +1803,7 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "externalCaller(address)" } } }, @@ -1979,19 +1813,19 @@ }, { "type": "node", - "name": "externalCaller(target)", + "name": "ethSender(address(0))", "source_mapping": { - "start": 1057, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 48 + 49 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 30 }, "type_specific_fields": { "parent": { @@ -2000,9 +1834,9 @@ "source_mapping": { "start": 1010, "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47, @@ -2022,9 +1856,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2114,33 +1948,33 @@ "type": "node", "name": "address(target).call()", "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 61 + 65 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "ethSender", "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60, - 61, - 62 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -2152,9 +1986,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2232,7 +2066,7 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "ethSender(address)" } } }, @@ -2242,19 +2076,19 @@ }, { "type": "node", - "name": "ethSender(address(0))", + "name": "varChanger()", "source_mapping": { - "start": 1089, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 49 + 50 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 21 }, "type_specific_fields": { "parent": { @@ -2263,9 +2097,9 @@ "source_mapping": { "start": 1010, "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 47, @@ -2285,9 +2119,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2370,40 +2204,41 @@ } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "variables_written", + "variable_name": "anotherVariableToChange" } }, { "type": "node", - "name": "address(target).call{value: 1}()", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 1470, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 65 + 69 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "varChanger", "source_mapping": { - "start": 1417, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 64, - 65, - 66 + 68, + 69, + 70 ], "starting_column": 5, "ending_column": 6 @@ -2415,9 +2250,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2495,48 +2330,169 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "varChanger()" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "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() (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()](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": "4aea41e92ea308d2b853acb9757e4ed9b40972b63e140c9ee24f6a8dca6ebbb5", + "check": "reentrancy-benign", + "impact": "Low", + "confidence": "Medium" + }, + { + "elements": [ { - "type": "node", - "name": "varChanger()", + "type": "function", + "name": "bad3", "source_mapping": { - "start": 1120, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 50 + 41, + 42, + 43, + 44, + 45 ], - "starting_column": 9, - "ending_column": 21 + "starting_column": 5, + "ending_column": 6 }, "type_specific_fields": { "parent": { - "type": "function", - "name": "bad4", + "type": "contract", + "name": "ReentrancyBenign", "source_mapping": { - "start": 1010, - "length": 172, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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 + 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 @@ -2548,9 +2504,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2628,46 +2584,45 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad3(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "anotherVariableToChange ++", + "name": "address(target).call()", "source_mapping": { - "start": 1556, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 69 + 61 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "varChanger", + "name": "externalCaller", "source_mapping": { - "start": 1516, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 68, - 69, - 70 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -2679,9 +2634,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -2759,169 +2714,177 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "externalCaller(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls_sending_eth" } - } - ], - "description": "Reentrancy in ReentrancyBenign.bad4(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#47-52):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#48)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#61)\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#49)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tExternal calls sending eth:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#49)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#50)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad4(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L47-L52):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L48)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L61)\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L49)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tExternal calls sending eth:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L49)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L50)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L47-L52", - "id": "a761807476d935cb91dbefd6f8fd28baaf9b805bf4df2fb9066c4c442d768980", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "function", - "name": "bad1", + "type": "node", + "name": "externalCaller(target)", "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 24, - 25, - 26, - 27, - 28 + 42 ], - "starting_column": 5, - "ending_column": 6 + "starting_column": 9, + "ending_column": 31 }, "type_specific_fields": { "parent": { - "type": "contract", - "name": "ReentrancyBenign", + "type": "function", + "name": "bad3", "source_mapping": { - "start": 28, - "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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 + 45 ], - "starting_column": 1, - "ending_column": 0 + "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)" } - }, - "signature": "bad1(address)" + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "(success) = target.call()", + "name": "address(target).call()", "source_mapping": { - "start": 536, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 25 + 61 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "externalCaller", "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 24, - 25, - 26, - 27, - 28 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -2933,9 +2896,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3013,47 +2976,47 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "externalCaller(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "(success) = target.call()", + "name": "varChanger()", "source_mapping": { - "start": 536, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 25 + 43 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad3", "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 24, - 25, - 26, - 27, - 28 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -3065,9 +3028,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3145,47 +3108,46 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad3(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "variables_written", + "variable_name": "anotherVariableToChange" } }, { "type": "node", - "name": "counter += 1", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 605, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 27 + 69 ], "starting_column": 9, - "ending_column": 21 + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "varChanger", "source_mapping": { - "start": 489, - "length": 135, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 24, - 25, - 26, - 27, - 28 + 68, + 69, + 70 ], "starting_column": 5, "ending_column": 6 @@ -3197,9 +3159,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3277,20 +3239,20 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "varChanger()" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "counter" + "variable_name": "anotherVariableToChange" } } ], - "description": "Reentrancy in ReentrancyBenign.bad1(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#24-28):\n\tExternal calls:\n\t- (success) = target.call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#25)\n\tState variables written after the call(s):\n\t- counter += 1 (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#27)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad1(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L24-L28):\n\tExternal calls:\n\t- [(success) = target.call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L25)\n\tState variables written after the call(s):\n\t- [counter += 1](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L27)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L24-L28", - "id": "c80120e0907dee95cc562b53958082d0664ee15a3aaa617ac17e27d25ae48d46", + "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" @@ -3299,20 +3261,25 @@ "elements": [ { "type": "function", - "name": "bad5", + "name": "bad2", "source_mapping": { - "start": 1188, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 54, - 55, - 56, - 57, - 58 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -3324,9 +3291,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3403,43 +3370,185 @@ "starting_column": 1, "ending_column": 0 } - }, - "signature": "bad5(address)" + }, + "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": "ethSender(address(0))", + "name": "address(target).call()", "source_mapping": { - "start": 1235, - "length": 21, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 55 + 33 ], - "starting_column": 9, - "ending_column": 30 + "starting_column": 13, + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad2", "source_mapping": { - "start": 1188, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 54, - 55, - 56, - 57, - 58 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -3451,9 +3560,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3531,7 +3640,7 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad2(address)" } } }, @@ -3541,16 +3650,16 @@ }, { "type": "node", - "name": "address(target).call{value: 1}()", + "name": "success = target.call()", "source_mapping": { - "start": 1470, + "start": 677, "length": 33, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 65 + 31 ], "starting_column": 9, "ending_column": 42 @@ -3558,18 +3667,25 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "bad2", "source_mapping": { - "start": 1417, - "length": 93, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 64, - 65, - 66 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -3581,9 +3697,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3661,7 +3777,7 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "bad2(address)" } } }, @@ -3671,37 +3787,42 @@ }, { "type": "node", - "name": "varChanger()", + "name": "address(target).call()", "source_mapping": { - "start": 1266, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 56 + 33 ], - "starting_column": 9, - "ending_column": 21 + "starting_column": 13, + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad2", "source_mapping": { - "start": 1188, - "length": 128, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 54, - 55, - 56, - 57, - 58 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -3713,9 +3834,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3793,46 +3914,52 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "anotherVariableToChange ++", + "name": "counter += 1", "source_mapping": { - "start": 1556, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 69 + 34 ], - "starting_column": 9, - "ending_column": 34 + "starting_column": 13, + "ending_column": 25 }, "type_specific_fields": { "parent": { "type": "function", - "name": "varChanger", + "name": "bad2", "source_mapping": { - "start": 1516, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 68, - 69, - 70 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -3844,9 +3971,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -3924,20 +4051,20 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "bad2(address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "variable_name": "counter" } } ], - "description": "Reentrancy in ReentrancyBenign.bad5(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#54-58):\n\tExternal calls:\n\t- ethSender(address(0)) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#55)\n\t\t- address(target).call{value: 1}() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#65)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#56)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad5(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L54-L58):\n\tExternal calls:\n\t- [ethSender(address(0))](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L55)\n\t\t- [address(target).call{value: 1}()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L65)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L56)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L54-L58", - "id": "d1495003f18e1d1814ff11bb252ae6d8a0d3a42338e6def154390acf5d1a4d55", + "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() (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()](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": "8a0d0595c5a15f49c181e0fccddebd7783f10f9c4243813eec0c4c99fe5d031a", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" @@ -3946,20 +4073,20 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41, - 42, - 43, - 44, - 45 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -3971,9 +4098,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4051,42 +4178,42 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad1(address)" } }, { "type": "node", - "name": "externalCaller(target)", + "name": "success = target.call()", "source_mapping": { - "start": 926, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 42 + 25 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41, - 42, - 43, - 44, - 45 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -4098,9 +4225,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4178,7 +4305,7 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad1(address)" } } }, @@ -4188,35 +4315,37 @@ }, { "type": "node", - "name": "address(target).call()", + "name": "success = target.call()", "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 61 + 25 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad1", "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60, - 61, - 62 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -4228,9 +4357,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4308,7 +4437,7 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad1(address)" } } }, @@ -4318,37 +4447,37 @@ }, { "type": "node", - "name": "externalCaller(target)", + "name": "counter += 1", "source_mapping": { - "start": 926, - "length": 22, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 42 + 27 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41, - 42, - 43, - 44, - 45 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -4360,9 +4489,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4440,45 +4569,173 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad1(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "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": "9507741c95b0ae83311d2ff96548ef2c8313536e6e2eaf3eb8acb35d421421fc", + "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": "address(target).call()", + "name": "success = msg.sender.call()", "source_mapping": { - "start": 1380, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 61 + 17 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad0", "source_mapping": { - "start": 1322, - "length": 89, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 60, - 61, - 62 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -4490,9 +4747,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4570,47 +4827,49 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad0()" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "varChanger()", + "name": "success = msg.sender.call()", "source_mapping": { - "start": 958, - "length": 12, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 43 + 17 ], "starting_column": 9, - "ending_column": 21 + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad0", "source_mapping": { - "start": 879, - "length": 125, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 41, - 42, - 43, - 44, - 45 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -4622,9 +4881,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4702,46 +4961,49 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad0()" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "anotherVariableToChange ++", + "name": "counter += 1", "source_mapping": { - "start": 1556, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 69 + 21 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "varChanger", + "name": "bad0", "source_mapping": { - "start": 1516, - "length": 72, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "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/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ - 68, - 69, - 70 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -4753,9 +5015,9 @@ "source_mapping": { "start": 28, "length": 1562, - "filename_relative": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol", "is_dependency": false, "lines": [ 3, @@ -4833,20 +5095,20 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "bad0()" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "variable_name": "counter" } } ], - "description": "Reentrancy in ReentrancyBenign.bad3(address) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#41-45):\n\tExternal calls:\n\t- externalCaller(target) (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#42)\n\t\t- address(target).call() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#61)\n\tState variables written after the call(s):\n\t- varChanger() (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#43)\n\t\t- anotherVariableToChange ++ (tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#69)\n", - "markdown": "Reentrancy in [ReentrancyBenign.bad3(address)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L41-L45):\n\tExternal calls:\n\t- [externalCaller(target)](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L42)\n\t\t- [address(target).call()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L61)\n\tState variables written after the call(s):\n\t- [varChanger()](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L43)\n\t\t- [anotherVariableToChange ++](tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L69)\n", - "first_markdown_element": "tests/detectors/reentrancy-benign/0.7.6/reentrancy-benign.sol#L41-L45", - "id": "daed2df217460e31f6b03c385a5256ad0e29f973a06779d9b95c059c3c9c5c48", + "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": "ad5954811d108e6a5b88057caf9f10ee42091132f546342bce1e6a4d99bcfad4", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" diff --git a/tests/detectors/reentrancy-eth/0.4.25/DAO.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.4.25/DAO.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol diff --git a/tests/detectors/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 similarity index 94% rename from tests/detectors/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json rename to tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol.0.4.25.ReentrancyEth.json index fa34208308..325c82826c 100644 --- a/tests/detectors/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 @@ -4,100 +4,30 @@ "elements": [ { "type": "function", - "name": "executeProposal", + "name": "refund", "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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 + 318, + 319, + 320, + 321, + 322, + 323, + 324, + 325, + 326, + 327, + 328, + 329, + 330, + 331, + 332 ], "starting_column": 5, "ending_column": 6 @@ -105,3857 +35,1432 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "DAO", + "name": "TokenCreation", "source_mapping": { - "start": 28296, - "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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 + 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": "executeProposal(uint256,bytes)" + "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 } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" + }, + "signature": "executeProposal(uint256,bytes)" } }, { "type": "node", - "name": "p.proposalPassed = true", + "name": "! isRecipientAllowed(p.recipient)", "source_mapping": { - "start": 35198, - "length": 23, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 918 + 881 ], "starting_column": 13, - "ending_column": 36 + "ending_column": 45 }, "type_specific_fields": { "parent": { @@ -3964,9 +1469,9 @@ "source_mapping": { "start": 32955, "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 853, @@ -4065,9 +1570,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -4610,123 +2115,51 @@ } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "closeProposal(_proposalID)", + "name": "allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput())", "source_mapping": { - "start": 35817, - "length": 26, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 933 + 1159, + 1160, + 1161, + 1162, + 1163 ], - "starting_column": 9, - "ending_column": 35 + "starting_column": 13, + "ending_column": 71 }, "type_specific_fields": { - "parent": { - "type": "function", - "name": "executeProposal", - "source_mapping": { - "start": 32955, - "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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 + "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 @@ -4738,9 +2171,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -5278,49 +2711,127 @@ "ending_column": 2 } }, - "signature": "executeProposal(uint256,bytes)" + "signature": "isRecipientAllowed(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "p.open = false", + "name": "! p.recipient.call.value(p.amount)(_transactionData)", "source_mapping": { - "start": 36121, - "length": 14, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 944 + 915 ], - "starting_column": 9, - "ending_column": 23 + "starting_column": 17, + "ending_column": 68 }, "type_specific_fields": { "parent": { "type": "function", - "name": "closeProposal", + "name": "executeProposal", "source_mapping": { - "start": 35940, - "length": 202, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 940, - 941, - 942, - 943, - 944, - 945 + 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 @@ -5332,9 +2843,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -5872,30 +3383,29 @@ "ending_column": 2 } }, - "signature": "closeProposal(uint256)" + "signature": "executeProposal(uint256,bytes)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "proposals" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "rewardToken[address(this)] += p.amount", + "name": "! p.creator.send(p.proposalDeposit)", "source_mapping": { - "start": 35698, - "length": 38, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 928 + 904 ], "starting_column": 17, - "ending_column": 55 + "ending_column": 51 }, "type_specific_fields": { "parent": { @@ -5904,9 +3414,9 @@ "source_mapping": { "start": 32955, "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 853, @@ -6005,9 +3515,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -6550,25 +4060,24 @@ } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "rewardToken" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "closeProposal(_proposalID)", + "name": "! p.recipient.call.value(p.amount)(_transactionData)", "source_mapping": { - "start": 35817, - "length": 26, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 933 + 915 ], - "starting_column": 9, - "ending_column": 35 + "starting_column": 17, + "ending_column": 68 }, "type_specific_fields": { "parent": { @@ -6577,9 +4086,9 @@ "source_mapping": { "start": 32955, "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 853, @@ -6678,9 +4187,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -7223,44 +4732,122 @@ } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "sumOfProposalDeposits" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "sumOfProposalDeposits -= p.proposalDeposit", + "name": "p.proposalPassed = true", "source_mapping": { - "start": 36069, - "length": 42, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 943 + 918 ], "starting_column": 13, - "ending_column": 55 + "ending_column": 36 }, "type_specific_fields": { "parent": { "type": "function", - "name": "closeProposal", + "name": "executeProposal", "source_mapping": { - "start": 35940, - "length": 202, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 940, - 941, - 942, - 943, - 944, - 945 + 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 @@ -7272,9 +4859,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -7812,30 +5399,30 @@ "ending_column": 2 } }, - "signature": "closeProposal(uint256)" + "signature": "executeProposal(uint256,bytes)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "sumOfProposalDeposits" + "variable_name": "proposals" } }, { "type": "node", - "name": "totalRewardToken += p.amount", + "name": "closeProposal(_proposalID)", "source_mapping": { - "start": 35754, - "length": 28, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 929 + 933 ], - "starting_column": 17, - "ending_column": 45 + "starting_column": 9, + "ending_column": 35 }, "type_specific_fields": { "parent": { @@ -7844,9 +5431,9 @@ "source_mapping": { "start": 32955, "length": 2978, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 853, @@ -7945,9 +5532,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -8381,285 +5968,153 @@ 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/detectors/reentrancy-eth/0.4.25/DAO.sol#853-937):\n\tExternal calls:\n\t- ! isRecipientAllowed(p.recipient) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#881)\n\t\t- allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput()) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1159-1163)\n\t- ! p.recipient.call.value(p.amount)(_transactionData) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#915)\n\tExternal calls sending eth:\n\t- ! p.creator.send(p.proposalDeposit) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#904)\n\t- ! p.recipient.call.value(p.amount)(_transactionData) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#915)\n\tState variables written after the call(s):\n\t- p.proposalPassed = true (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#918)\n\tDAOInterface.proposals (tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#820-850)\n\t- closeProposal(_proposalID) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#933)\n\t\t- p.open = false (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#944)\n\tDAOInterface.proposals (tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#820-850)\n\t- rewardToken[address(this)] += p.amount (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#928)\n\tDAOInterface.rewardToken (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#410) can be used in cross function reentrancies:\n\t- DAO.changeProposalDeposit(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1139-1146)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.minQuorum(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1174-1178)\n\t- DAO.newContract(address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1022-1034)\n\t- DAO.retrieveDAOReward(bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1037-1057)\n\t- DAOInterface.rewardToken (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#410)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- closeProposal(_proposalID) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#933)\n\t\t- sumOfProposalDeposits -= p.proposalDeposit (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#943)\n\tDAOInterface.sumOfProposalDeposits (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#436) can be used in cross function reentrancies:\n\t- DAO.actualBalance() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1169-1171)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#947-1020)\n\t- totalRewardToken += p.amount (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#929)\n\tDAOInterface.totalRewardToken (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#412) can be used in cross function reentrancies:\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.isRecipientAllowed(address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1158-1167)\n\t- DAO.retrieveDAOReward(bool) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#1037-1057)\n\t- DAOInterface.totalRewardToken (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#412)\n", - "markdown": "Reentrancy in [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937):\n\tExternal calls:\n\t- [! isRecipientAllowed(p.recipient)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L881)\n\t\t- [allowedRecipients[_recipient] || (_recipient == address(extraBalance) && totalRewardToken > extraBalance.accumulatedInput())](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1159-L1163)\n\t- [! p.recipient.call.value(p.amount)(_transactionData)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L915)\n\tExternal calls sending eth:\n\t- [! p.creator.send(p.proposalDeposit)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L904)\n\t- [! p.recipient.call.value(p.amount)(_transactionData)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L915)\n\tState variables written after the call(s):\n\t- [p.proposalPassed = true](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L918)\n\t[DAOInterface.proposals](tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L820-L850)\n\t- [closeProposal(_proposalID)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L933)\n\t\t- [p.open = false](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L944)\n\t[DAOInterface.proposals](tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L820-L850)\n\t- [rewardToken[address(this)] += p.amount](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L928)\n\t[DAOInterface.rewardToken](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L410) can be used in cross function reentrancies:\n\t- [DAO.changeProposalDeposit(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1139-L1146)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.minQuorum(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1174-L1178)\n\t- [DAO.newContract(address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1022-L1034)\n\t- [DAO.retrieveDAOReward(bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1037-L1057)\n\t- [DAOInterface.rewardToken](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L410)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [closeProposal(_proposalID)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L933)\n\t\t- [sumOfProposalDeposits -= p.proposalDeposit](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L943)\n\t[DAOInterface.sumOfProposalDeposits](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L436) can be used in cross function reentrancies:\n\t- [DAO.actualBalance()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1169-L1171)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [totalRewardToken += p.amount](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L929)\n\t[DAOInterface.totalRewardToken](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L412) can be used in cross function reentrancies:\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.isRecipientAllowed(address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1158-L1167)\n\t- [DAO.retrieveDAOReward(bool)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L1037-L1057)\n\t- [DAOInterface.totalRewardToken](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L412)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L853-L937", - "id": "b0ba06b4d03ea41bf0a200039964e2095441dddc3ffa19c56a40182a4cba834a", - "check": "reentrancy-eth", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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 + 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)" } - }, - "signature": "refund()" + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "proposals" } }, { "type": "node", - "name": "extraBalance.balance >= extraBalance.accumulatedInput()", + "name": "p.open = false", "source_mapping": { - "start": 11704, - "length": 55, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 321 + 944 ], - "starting_column": 17, - "ending_column": 72 + "starting_column": 9, + "ending_column": 23 }, "type_specific_fields": { "parent": { "type": "function", - "name": "refund", + "name": "closeProposal", "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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 + 940, + 941, + 942, + 943, + 944, + 945 ], "starting_column": 5, "ending_column": 6 @@ -8667,133 +6122,672 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TokenCreation", + "name": "DAO", "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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 + 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": "refund()" + "signature": "closeProposal(uint256)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "variables_written", + "variable_name": "proposals" } }, { "type": "node", - "name": "extraBalance.payOut(address(this),extraBalance.accumulatedInput())", + "name": "rewardToken[address(this)] += p.amount", "source_mapping": { - "start": 11777, - "length": 67, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 322 + 928 ], "starting_column": 17, - "ending_column": 84 + "ending_column": 55 }, "type_specific_fields": { "parent": { "type": "function", - "name": "refund", + "name": "executeProposal", "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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 + 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 @@ -8801,133 +6795,672 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TokenCreation", + "name": "DAO", "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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 + 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": "refund()" + "signature": "executeProposal(uint256,bytes)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "variables_written", + "variable_name": "rewardToken" } }, { "type": "node", - "name": "msg.sender.call.value(weiGiven[msg.sender])()", + "name": "closeProposal(_proposalID)", "source_mapping": { - "start": 11893, - "length": 45, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 325 + 933 ], - "starting_column": 17, - "ending_column": 62 + "starting_column": 9, + "ending_column": 35 }, "type_specific_fields": { "parent": { "type": "function", - "name": "refund", + "name": "executeProposal", "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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 + 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 @@ -8935,267 +7468,1266 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TokenCreation", + "name": "DAO", "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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 + 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": "refund()" + "signature": "executeProposal(uint256,bytes)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "variables_written", + "variable_name": "sumOfProposalDeposits" } }, { "type": "node", - "name": "msg.sender.call.value(weiGiven[msg.sender])()", + "name": "sumOfProposalDeposits -= p.proposalDeposit", "source_mapping": { - "start": 11893, - "length": 45, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 325 + 943 ], - "starting_column": 17, - "ending_column": 62 + "starting_column": 13, + "ending_column": 55 }, "type_specific_fields": { "parent": { "type": "function", - "name": "refund", - "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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 + "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": "refund()" + "signature": "closeProposal(uint256)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "variables_written", + "variable_name": "sumOfProposalDeposits" } }, { "type": "node", - "name": "weiGiven[msg.sender] = 0", + "name": "totalRewardToken += p.amount", "source_mapping": { - "start": 12111, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 329 + 929 ], "starting_column": 17, - "ending_column": 41 + "ending_column": 45 }, "type_specific_fields": { "parent": { "type": "function", - "name": "refund", + "name": "executeProposal", "source_mapping": { - "start": 11531, - "length": 635, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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 + 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 @@ -9203,96 +8735,564 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TokenCreation", + "name": "DAO", "source_mapping": { - "start": 10437, - "length": 2342, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-eth/0.4.25/DAO.sol", + "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 + 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": "refund()" + "signature": "executeProposal(uint256,bytes)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "weiGiven" + "variable_name": "totalRewardToken" } } ], - "description": "Reentrancy in TokenCreation.refund() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#318-332):\n\tExternal calls:\n\t- extraBalance.balance >= extraBalance.accumulatedInput() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#321)\n\t- extraBalance.payOut(address(this),extraBalance.accumulatedInput()) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#322)\n\t- msg.sender.call.value(weiGiven[msg.sender])() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#325)\n\tExternal calls sending eth:\n\t- msg.sender.call.value(weiGiven[msg.sender])() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#325)\n\tState variables written after the call(s):\n\t- weiGiven[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#329)\n\tTokenCreationInterface.weiGiven (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#251) can be used in cross function reentrancies:\n\t- TokenCreation.createTokenProxy(address) (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/detectors/reentrancy-eth/0.4.25/DAO.sol#318-332)\n", - "markdown": "Reentrancy in [TokenCreation.refund()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L318-L332):\n\tExternal calls:\n\t- [extraBalance.balance >= extraBalance.accumulatedInput()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L321)\n\t- [extraBalance.payOut(address(this),extraBalance.accumulatedInput())](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L322)\n\t- [msg.sender.call.value(weiGiven[msg.sender])()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L325)\n\tExternal calls sending eth:\n\t- [msg.sender.call.value(weiGiven[msg.sender])()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L325)\n\tState variables written after the call(s):\n\t- [weiGiven[msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L329)\n\t[TokenCreationInterface.weiGiven](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L251) can be used in cross function reentrancies:\n\t- [TokenCreation.createTokenProxy(address)](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L318-L332)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/DAO.sol#L318-L332", - "id": "ec60469e1cc5d8cd352a86998673bfb43580d5119e501f9a3e58e3b55befb0a9", + "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" diff --git a/tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json rename to tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol.0.4.25.ReentrancyEth.json index c16d1be61e..ffe13665a7 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 2465, "length": 246, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 74, @@ -31,9 +31,9 @@ "source_mapping": { "start": 26, "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -130,9 +130,9 @@ "source_mapping": { "start": 2620, "length": 33, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 77 @@ -147,9 +147,9 @@ "source_mapping": { "start": 2465, "length": 246, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 74, @@ -170,9 +170,9 @@ "source_mapping": { "start": 26, "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -274,9 +274,9 @@ "source_mapping": { "start": 2667, "length": 27, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 78 @@ -291,9 +291,9 @@ "source_mapping": { "start": 2465, "length": 246, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 74, @@ -314,9 +314,9 @@ "source_mapping": { "start": 26, "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -414,10 +414,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdrawBalance_nested() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#74-80):\n\tExternal calls:\n\t- msg.sender.call.value(amount / 2)() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#77)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#78)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#15-22)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#24-31)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#33-41)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#43-50)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#52-60)\n\t- Reentrancy.withdrawBalance_fixed_4() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#61-72)\n\t- Reentrancy.withdrawBalance_nested() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#74-80)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_nested()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80):\n\tExternal calls:\n\t- [msg.sender.call.value(amount / 2)()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L77)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L78)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L15-L22)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L33-L41)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L43-L50)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L52-L60)\n\t- [Reentrancy.withdrawBalance_fixed_4()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L61-L72)\n\t- [Reentrancy.withdrawBalance_nested()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80", - "id": "5853108dfdb4138662a85fbd17c35511950298872f89c124f1869942c6c4e880", + "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" @@ -430,9 +430,9 @@ "source_mapping": { "start": 656, "length": 314, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 24, @@ -454,9 +454,9 @@ "source_mapping": { "start": 26, "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -553,9 +553,9 @@ "source_mapping": { "start": 839, "length": 53, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 27 @@ -570,9 +570,9 @@ "source_mapping": { "start": 656, "length": 314, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 24, @@ -594,9 +594,9 @@ "source_mapping": { "start": 26, "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -698,9 +698,9 @@ "source_mapping": { "start": 936, "length": 27, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 30 @@ -715,9 +715,9 @@ "source_mapping": { "start": 656, "length": 314, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 24, @@ -739,9 +739,9 @@ "source_mapping": { "start": 26, "length": 2691, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -839,10 +839,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#24-31):\n\tExternal calls:\n\t- ! (msg.sender.call.value(userBalance[msg.sender])()) (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#27)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#30)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#15-22)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#24-31)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#33-41)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#43-50)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#52-60)\n\t- Reentrancy.withdrawBalance_fixed_4() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#61-72)\n\t- Reentrancy.withdrawBalance_nested() (tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#74-80)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31):\n\tExternal calls:\n\t- [! (msg.sender.call.value(userBalance[msg.sender])())](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L27)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L30)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L15-L22)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L33-L41)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L43-L50)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L52-L60)\n\t- [Reentrancy.withdrawBalance_fixed_4()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L61-L72)\n\t- [Reentrancy.withdrawBalance_nested()](tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L74-L80)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/reentrancy.sol#L24-L31", - "id": "8746b87cbc0fcd59a17ae20018967719c6ebc9fca41c6a128e5ac18dd4ee27cc", + "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" diff --git a/tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json rename to tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol.0.4.25.ReentrancyEth.json index 4c7ee5e889..1a719e67b9 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 639, "length": 278, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -32,9 +32,9 @@ "source_mapping": { "start": 185, "length": 735, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -75,9 +75,9 @@ "source_mapping": { "start": 742, "length": 76, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 24 @@ -92,9 +92,9 @@ "source_mapping": { "start": 639, "length": 278, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -116,9 +116,9 @@ "source_mapping": { "start": 185, "length": 735, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -164,9 +164,9 @@ "source_mapping": { "start": 681, "length": 51, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 23 @@ -181,9 +181,9 @@ "source_mapping": { "start": 639, "length": 278, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -205,9 +205,9 @@ "source_mapping": { "start": 185, "length": 735, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -253,9 +253,9 @@ "source_mapping": { "start": 829, "length": 34, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 26 @@ -270,9 +270,9 @@ "source_mapping": { "start": 639, "length": 278, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -294,9 +294,9 @@ "source_mapping": { "start": 185, "length": 735, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -343,9 +343,9 @@ "source_mapping": { "start": 873, "length": 36, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 27 @@ -360,9 +360,9 @@ "source_mapping": { "start": 639, "length": 278, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -384,9 +384,9 @@ "source_mapping": { "start": 185, "length": 735, - "filename_relative": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -428,10 +428,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/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/detectors/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/detectors/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/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/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/detectors/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/detectors/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/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.4.25/reentrancy_indirect.sol#L22-L29", - "id": "7ff6a788e1559497246f084096fd10a9fd3a7d30de1b89ac896b7600ba32710d", + "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" diff --git a/tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json rename to tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol.0.5.16.ReentrancyEth.json index 242d7bf7e3..aeb67cc4d4 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 703, "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 25, @@ -33,9 +33,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -115,9 +115,9 @@ "source_mapping": { "start": 882, "length": 81, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 28 @@ -132,9 +132,9 @@ "source_mapping": { "start": 703, "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 25, @@ -157,9 +157,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -244,9 +244,9 @@ "source_mapping": { "start": 1026, "length": 27, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 32 @@ -261,9 +261,9 @@ "source_mapping": { "start": 703, "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 25, @@ -286,9 +286,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -369,10 +369,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#25-33):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#28)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#32)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L28)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L32)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33", - "id": "1fec5eddc1a1f7c95bbaa72099c7f36d9c8768271ba1bb51b2ece7f2dab1a175", + "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" @@ -385,9 +385,9 @@ "source_mapping": { "start": 1839, "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 55, @@ -411,9 +411,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -493,9 +493,9 @@ "source_mapping": { "start": 2084, "length": 64, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 60 @@ -510,9 +510,9 @@ "source_mapping": { "start": 1839, "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 55, @@ -536,9 +536,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -623,9 +623,9 @@ "source_mapping": { "start": 2183, "length": 32, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 62 @@ -640,9 +640,9 @@ "source_mapping": { "start": 1839, "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 55, @@ -666,9 +666,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -749,10 +749,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#55-64):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(amount)() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#60)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#62)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(amount)()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L60)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L62)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.5.16/reentrancy.sol#L55-L64", - "id": "c1a4b6379bd0137d705b0e1994021e4478445b98ba4d23c547338f09e2213ef0", + "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" diff --git a/tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json rename to tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol.0.5.16.ReentrancyEth.json index e489c1d981..3ddbba5065 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 671, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -32,9 +32,9 @@ "source_mapping": { "start": 202, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -75,9 +75,9 @@ "source_mapping": { "start": 782, "length": 76, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 24 @@ -92,9 +92,9 @@ "source_mapping": { "start": 671, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -116,9 +116,9 @@ "source_mapping": { "start": 202, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -164,9 +164,9 @@ "source_mapping": { "start": 721, "length": 51, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 23 @@ -181,9 +181,9 @@ "source_mapping": { "start": 671, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -205,9 +205,9 @@ "source_mapping": { "start": 202, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -253,9 +253,9 @@ "source_mapping": { "start": 869, "length": 34, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 26 @@ -270,9 +270,9 @@ "source_mapping": { "start": 671, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -294,9 +294,9 @@ "source_mapping": { "start": 202, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -343,9 +343,9 @@ "source_mapping": { "start": 913, "length": 36, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 27 @@ -360,9 +360,9 @@ "source_mapping": { "start": 671, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -384,9 +384,9 @@ "source_mapping": { "start": 202, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -428,10 +428,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/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/detectors/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/detectors/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/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/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/detectors/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/detectors/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/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.5.16/reentrancy_indirect.sol#L22-L29", - "id": "52cd1e82b29830aa25a1ea1bbc1b35c0e3097eab1f2922b4ecc98eae8f1ed225", + "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" diff --git a/tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json rename to tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol.0.6.11.ReentrancyEth.json index ed59ee2c07..36070aee3b 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1843, "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 55, @@ -34,9 +34,9 @@ "source_mapping": { "start": 28, "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -116,9 +116,9 @@ "source_mapping": { "start": 2088, "length": 64, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 60 @@ -133,9 +133,9 @@ "source_mapping": { "start": 1843, "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 55, @@ -159,9 +159,9 @@ "source_mapping": { "start": 28, "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -246,9 +246,9 @@ "source_mapping": { "start": 2187, "length": 32, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 62 @@ -263,9 +263,9 @@ "source_mapping": { "start": 1843, "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 55, @@ -289,9 +289,9 @@ "source_mapping": { "start": 28, "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -372,10 +372,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#55-64):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(amount)() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#60)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#62)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(amount)()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L60)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L62)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64", - "id": "bc199b4c8749cb08649e2084ac891e0cb098640e2752bf319ffa79d99ee10cdb", + "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" @@ -388,9 +388,9 @@ "source_mapping": { "start": 707, "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 25, @@ -413,9 +413,9 @@ "source_mapping": { "start": 28, "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -495,9 +495,9 @@ "source_mapping": { "start": 886, "length": 81, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 28 @@ -512,9 +512,9 @@ "source_mapping": { "start": 707, "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 25, @@ -537,9 +537,9 @@ "source_mapping": { "start": 28, "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -624,9 +624,9 @@ "source_mapping": { "start": 1030, "length": 27, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 32 @@ -641,9 +641,9 @@ "source_mapping": { "start": 707, "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 25, @@ -666,9 +666,9 @@ "source_mapping": { "start": 28, "length": 2213, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -749,10 +749,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#25-33):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call.value(userBalance[msg.sender])() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#28)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#32)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call.value(userBalance[msg.sender])()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L28)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L32)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.6.11/reentrancy.sol#L25-L33", - "id": "c8c4106c11c4f1fc4a76fc18e91bb3132d5b8d95d94c707453f64be98f1efa8d", + "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" diff --git a/tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json rename to tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol.0.6.11.ReentrancyEth.json index 1c6cf3b568..da679a2c07 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 696, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -32,9 +32,9 @@ "source_mapping": { "start": 227, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -75,9 +75,9 @@ "source_mapping": { "start": 807, "length": 76, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 24 @@ -92,9 +92,9 @@ "source_mapping": { "start": 696, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -116,9 +116,9 @@ "source_mapping": { "start": 227, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -164,9 +164,9 @@ "source_mapping": { "start": 746, "length": 51, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 23 @@ -181,9 +181,9 @@ "source_mapping": { "start": 696, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -205,9 +205,9 @@ "source_mapping": { "start": 227, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -253,9 +253,9 @@ "source_mapping": { "start": 894, "length": 34, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 26 @@ -270,9 +270,9 @@ "source_mapping": { "start": 696, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -294,9 +294,9 @@ "source_mapping": { "start": 227, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -343,9 +343,9 @@ "source_mapping": { "start": 938, "length": 36, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 27 @@ -360,9 +360,9 @@ "source_mapping": { "start": 696, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -384,9 +384,9 @@ "source_mapping": { "start": 227, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -428,10 +428,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/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/detectors/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/detectors/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/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/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/detectors/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/detectors/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/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.6.11/reentrancy_indirect.sol#L22-L29", - "id": "f892080cd6edb9d73d435cd8c4cea16e1b65098abf2a0df5debcd493787f6654", + "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" diff --git a/tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json rename to tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol.0.7.6.ReentrancyEth.json index 05be376b43..f2ea878856 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 1839, "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 55, @@ -34,9 +34,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -116,9 +116,9 @@ "source_mapping": { "start": 2084, "length": 64, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 60 @@ -133,9 +133,9 @@ "source_mapping": { "start": 1839, "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 55, @@ -159,9 +159,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -246,9 +246,9 @@ "source_mapping": { "start": 2183, "length": 32, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 62 @@ -263,9 +263,9 @@ "source_mapping": { "start": 1839, "length": 393, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 55, @@ -289,9 +289,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -372,10 +372,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#55-64):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call{value: amount}() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#60)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = amount (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#62)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call{value: amount}()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L60)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = amount](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L62)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64", - "id": "75d254de1c95646a633659a0bb8c1cd874b1a83f8bdba6fda28e9092be76beeb", + "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" @@ -388,9 +388,9 @@ "source_mapping": { "start": 703, "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 25, @@ -413,9 +413,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -495,9 +495,9 @@ "source_mapping": { "start": 882, "length": 81, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 28 @@ -512,9 +512,9 @@ "source_mapping": { "start": 703, "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 25, @@ -537,9 +537,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -624,9 +624,9 @@ "source_mapping": { "start": 1026, "length": 27, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 32 @@ -641,9 +641,9 @@ "source_mapping": { "start": 703, "length": 357, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 25, @@ -666,9 +666,9 @@ "source_mapping": { "start": 28, "length": 2209, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol", "is_dependency": false, "lines": [ 3, @@ -749,10 +749,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#25-33):\n\tExternal calls:\n\t- (ret,mem) = msg.sender.call{value: userBalance[msg.sender]}() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#28)\n\tState variables written after the call(s):\n\t- userBalance[msg.sender] = 0 (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#32)\n\tReentrancy.userBalance (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#4) can be used in cross function reentrancies:\n\t- Reentrancy.addToBalance() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#10-12)\n\t- Reentrancy.constructor() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#15-23)\n\t- Reentrancy.getBalance(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#6-8)\n\t- Reentrancy.withdrawBalance() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#25-33)\n\t- Reentrancy.withdrawBalance_fixed() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#35-44)\n\t- Reentrancy.withdrawBalance_fixed_2() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#46-53)\n\t- Reentrancy.withdrawBalance_fixed_3() (tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#55-64)\n", - "markdown": "Reentrancy in [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33):\n\tExternal calls:\n\t- [(ret,mem) = msg.sender.call{value: userBalance[msg.sender]}()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L28)\n\tState variables written after the call(s):\n\t- [userBalance[msg.sender] = 0](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L32)\n\t[Reentrancy.userBalance](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L4) can be used in cross function reentrancies:\n\t- [Reentrancy.addToBalance()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L10-L12)\n\t- [Reentrancy.constructor()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L15-L23)\n\t- [Reentrancy.getBalance(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L6-L8)\n\t- [Reentrancy.withdrawBalance()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33)\n\t- [Reentrancy.withdrawBalance_fixed()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L35-L44)\n\t- [Reentrancy.withdrawBalance_fixed_2()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L46-L53)\n\t- [Reentrancy.withdrawBalance_fixed_3()](tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L55-L64)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.7.6/reentrancy.sol#L25-L33", - "id": "a20a04b25c124d64a595c2dec1a37f745f1594c4f0461622c558d66911ea5235", + "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" diff --git a/tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json rename to tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol.0.7.6.ReentrancyEth.json index 7f45a528f6..93dc2049f8 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 696, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -32,9 +32,9 @@ "source_mapping": { "start": 227, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -75,9 +75,9 @@ "source_mapping": { "start": 807, "length": 76, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 24 @@ -92,9 +92,9 @@ "source_mapping": { "start": 696, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -116,9 +116,9 @@ "source_mapping": { "start": 227, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -164,9 +164,9 @@ "source_mapping": { "start": 746, "length": 51, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 23 @@ -181,9 +181,9 @@ "source_mapping": { "start": 696, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -205,9 +205,9 @@ "source_mapping": { "start": 227, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -253,9 +253,9 @@ "source_mapping": { "start": 894, "length": 34, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 26 @@ -270,9 +270,9 @@ "source_mapping": { "start": 696, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -294,9 +294,9 @@ "source_mapping": { "start": 227, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -343,9 +343,9 @@ "source_mapping": { "start": 938, "length": 36, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 27 @@ -360,9 +360,9 @@ "source_mapping": { "start": 696, "length": 286, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 22, @@ -384,9 +384,9 @@ "source_mapping": { "start": 227, "length": 758, - "filename_relative": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol", "is_dependency": false, "lines": [ 8, @@ -428,10 +428,10 @@ } } ], - "description": "Reentrancy in Reentrancy.withdraw(address) (tests/detectors/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/detectors/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/detectors/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/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#26)\n\tReentrancy.eth_deposed (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#10) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_eth(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#13-15)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29)\n\t- token_deposed[token][msg.sender] = 0 (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#27)\n\tReentrancy.token_deposed (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#11) can be used in cross function reentrancies:\n\t- Reentrancy.deposit_token(address,uint256) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#17-20)\n\t- Reentrancy.withdraw(address) (tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#22-29)\n", - "markdown": "Reentrancy in [Reentrancy.withdraw(address)](tests/detectors/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/detectors/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/detectors/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/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L26)\n\t[Reentrancy.eth_deposed](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L10) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_eth(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L13-L15)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29)\n\t- [token_deposed[token][msg.sender] = 0](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L27)\n\t[Reentrancy.token_deposed](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L11) can be used in cross function reentrancies:\n\t- [Reentrancy.deposit_token(address,uint256)](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L17-L20)\n\t- [Reentrancy.withdraw(address)](tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.7.6/reentrancy_indirect.sol#L22-L29", - "id": "8aacbf836cda179a2f29017ba3fb238dbb3e88837efd207cd07622e5c746f56a", + "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" diff --git a/tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol.0.8.10.ReentrancyEth.json rename to tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol.0.8.10.ReentrancyEth.json index c9754292bd..627829853f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 133, "length": 194, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "is_dependency": false, "lines": [ 8, @@ -29,9 +29,9 @@ "source_mapping": { "start": 67, "length": 534, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "is_dependency": false, "lines": [ 5, @@ -65,9 +65,9 @@ "source_mapping": { "start": 231, "length": 48, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "is_dependency": false, "lines": [ 10 @@ -82,9 +82,9 @@ "source_mapping": { "start": 133, "length": 194, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "is_dependency": false, "lines": [ 8, @@ -103,9 +103,9 @@ "source_mapping": { "start": 67, "length": 534, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "is_dependency": false, "lines": [ 5, @@ -144,9 +144,9 @@ "source_mapping": { "start": 290, "length": 30, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "is_dependency": false, "lines": [ 11 @@ -161,9 +161,9 @@ "source_mapping": { "start": 133, "length": 194, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "is_dependency": false, "lines": [ 8, @@ -182,9 +182,9 @@ "source_mapping": { "start": 67, "length": 534, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol", "is_dependency": false, "lines": [ 5, @@ -219,10 +219,10 @@ } } ], - "description": "Reentrancy in TestWithBug.withdraw(uint256) (tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#8-12):\n\tExternal calls:\n\t- Receiver(msg.sender).send_funds{value: amount}() (tests/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#11)\n\tTestWithBug.balances (tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#6) can be used in cross function reentrancies:\n\t- TestWithBug.withdraw(uint256) (tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#8-12)\n\t- TestWithBug.withdrawFiltered(uint256) (tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#15-19)\n", - "markdown": "Reentrancy in [TestWithBug.withdraw(uint256)](tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L8-L12):\n\tExternal calls:\n\t- [Receiver(msg.sender).send_funds{value: amount}()](tests/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L11)\n\t[TestWithBug.balances](tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L6) can be used in cross function reentrancies:\n\t- [TestWithBug.withdraw(uint256)](tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L8-L12)\n\t- [TestWithBug.withdrawFiltered(uint256)](tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L15-L19)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol#L8-L12", - "id": "176d2b5b09c260c72fd638ff8b5db4709df3ff3eb253daa1cfde254c8299fb94", + "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" diff --git a/tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol b/tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol similarity index 100% rename from tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol rename to tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol.0.8.10.ReentrancyEth.json rename to tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol.0.8.10.ReentrancyEth.json index 9f1dbed3ea..52082ae947 100644 --- a/tests/detectors/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 @@ -4,20 +4,20 @@ "elements": [ { "type": "function", - "name": "withdraw", + "name": "withdraw_internal", "source_mapping": { - "start": 3089, - "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 62, + 63, + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -25,57 +25,64 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestWithBugNonReentrantRead", + "name": "TestWithBugInternal", "source_mapping": { - "start": 2959, - "length": 629, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 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(uint256)" + "signature": "withdraw_internal(uint256)" } }, { "type": "node", "name": "Receiver(msg.sender).send_funds{value: amount}()", "source_mapping": { - "start": 3200, + "start": 1429, "length": 48, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ - 140 + 64 ], "starting_column": 10, "ending_column": 58 @@ -83,20 +90,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "withdraw", + "name": "withdraw_internal", "source_mapping": { - "start": 3089, - "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 62, + 63, + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -104,43 +111,50 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestWithBugNonReentrantRead", + "name": "TestWithBugInternal", "source_mapping": { - "start": 2959, - "length": 629, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 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(uint256)" + "signature": "withdraw_internal(uint256)" } } }, @@ -152,14 +166,14 @@ "type": "node", "name": "balances[msg.sender] -= amount", "source_mapping": { - "start": 3259, + "start": 1488, "length": 30, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ - 141 + 65 ], "starting_column": 10, "ending_column": 40 @@ -167,20 +181,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "withdraw", + "name": "withdraw_internal", "source_mapping": { - "start": 3089, - "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 62, + 63, + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -188,43 +202,50 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestWithBugNonReentrantRead", + "name": "TestWithBugInternal", "source_mapping": { - "start": 2959, - "length": 629, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 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(uint256)" + "signature": "withdraw_internal(uint256)" } } }, @@ -234,10 +255,10 @@ } } ], - "description": "Reentrancy in TestWithBugNonReentrantRead.withdraw(uint256) (tests/detectors/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/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#141)\n\tTestWithBugNonReentrantRead.balances (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#132) can be used in cross function reentrancies:\n\t- TestWithBugNonReentrantRead.read() (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#146-149)\n", - "markdown": "Reentrancy in [TestWithBugNonReentrantRead.withdraw(uint256)](tests/detectors/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/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L141)\n\t[TestWithBugNonReentrantRead.balances](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L132) can be used in cross function reentrancies:\n\t- [TestWithBugNonReentrantRead.read()](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L146-L149)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L138-L142", - "id": "0b2149d8ea8554c24092bad5ce3061d661d4f0447d5d96716893538474bca40f", + "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" @@ -246,20 +267,20 @@ "elements": [ { "type": "function", - "name": "withdraw_internal", + "name": "withdraw", "source_mapping": { - "start": 1320, - "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 13, + 14, + 15, + 16, + 17 ], "starting_column": 5, "ending_column": 6 @@ -267,64 +288,56 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestWithBugInternal", + "name": "TestWithBug", "source_mapping": { - "start": 1100, - "length": 698, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 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_internal(uint256)" + "signature": "withdraw(uint256)" } }, { "type": "node", "name": "Receiver(msg.sender).send_funds{value: amount}()", "source_mapping": { - "start": 1429, + "start": 292, "length": 48, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ - 64 + 15 ], "starting_column": 10, "ending_column": 58 @@ -332,20 +345,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "withdraw_internal", + "name": "withdraw", "source_mapping": { - "start": 1320, - "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 13, + 14, + 15, + 16, + 17 ], "starting_column": 5, "ending_column": 6 @@ -353,50 +366,42 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestWithBugInternal", + "name": "TestWithBug", "source_mapping": { - "start": 1100, - "length": 698, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 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_internal(uint256)" + "signature": "withdraw(uint256)" } } }, @@ -408,14 +413,14 @@ "type": "node", "name": "balances[msg.sender] -= amount", "source_mapping": { - "start": 1488, + "start": 351, "length": 30, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ - 65 + 16 ], "starting_column": 10, "ending_column": 40 @@ -423,20 +428,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "withdraw_internal", + "name": "withdraw", "source_mapping": { - "start": 1320, - "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", - "is_dependency": false, - "lines": [ - 62, - 63, - 64, - 65, - 66 + "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 @@ -444,50 +449,42 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestWithBugInternal", + "name": "TestWithBug", "source_mapping": { - "start": 1100, - "length": 698, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 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_internal(uint256)" + "signature": "withdraw(uint256)" } } }, @@ -497,10 +494,10 @@ } } ], - "description": "Reentrancy in TestWithBugInternal.withdraw_internal(uint256) (tests/detectors/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/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#65)\n\tTestWithBugInternal.balances (tests/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#72-76)\n", - "markdown": "Reentrancy in [TestWithBugInternal.withdraw_internal(uint256)](tests/detectors/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/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L65)\n\t[TestWithBugInternal.balances](tests/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L72-L76)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L62-L66", - "id": "7d618f027540d61d9af79a3a9475677476d1c4d7ad1be68ff8026f6c0d4cdc82", + "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" @@ -513,9 +510,9 @@ "source_mapping": { "start": 2749, "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ 122, @@ -534,9 +531,9 @@ "source_mapping": { "start": 2516, "length": 441, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ 110, @@ -572,9 +569,9 @@ "source_mapping": { "start": 2858, "length": 48, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ 124 @@ -589,9 +586,9 @@ "source_mapping": { "start": 2749, "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ 122, @@ -610,9 +607,9 @@ "source_mapping": { "start": 2516, "length": 441, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ 110, @@ -653,9 +650,9 @@ "source_mapping": { "start": 2917, "length": 30, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ 125 @@ -670,9 +667,9 @@ "source_mapping": { "start": 2749, "length": 205, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ 122, @@ -691,9 +688,9 @@ "source_mapping": { "start": 2516, "length": 441, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ 110, @@ -730,10 +727,10 @@ } } ], - "description": "Reentrancy in TestBugWithPublicVariable.withdraw_internal(uint256) (tests/detectors/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/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#125)\n\tTestBugWithPublicVariable.balances (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#112) can be used in cross function reentrancies:\n\t- TestBugWithPublicVariable.balances (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#112)\n", - "markdown": "Reentrancy in [TestBugWithPublicVariable.withdraw_internal(uint256)](tests/detectors/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/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L125)\n\t[TestBugWithPublicVariable.balances](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L112) can be used in cross function reentrancies:\n\t- [TestBugWithPublicVariable.balances](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L112)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L122-L126", - "id": "a3e52c882aa9fb88119aa3507f4158436bfe3f1abee0828665afa41213587097", + "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" @@ -744,18 +741,18 @@ "type": "function", "name": "withdraw", "source_mapping": { - "start": 181, + "start": 3089, "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 138, + 139, + 140, + 141, + 142 ], "starting_column": 5, "ending_column": 6 @@ -763,36 +760,37 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestWithBug", + "name": "TestWithBugNonReentrantRead", "source_mapping": { - "start": 67, - "length": 506, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 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 @@ -805,14 +803,14 @@ "type": "node", "name": "Receiver(msg.sender).send_funds{value: amount}()", "source_mapping": { - "start": 292, + "start": 3200, "length": 48, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ - 15 + 140 ], "starting_column": 10, "ending_column": 58 @@ -822,18 +820,18 @@ "type": "function", "name": "withdraw", "source_mapping": { - "start": 181, + "start": 3089, "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 138, + 139, + 140, + 141, + 142 ], "starting_column": 5, "ending_column": 6 @@ -841,36 +839,37 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestWithBug", + "name": "TestWithBugNonReentrantRead", "source_mapping": { - "start": 67, - "length": 506, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 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 @@ -888,14 +887,14 @@ "type": "node", "name": "balances[msg.sender] -= amount", "source_mapping": { - "start": 351, + "start": 3259, "length": 30, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "is_dependency": false, "lines": [ - 16 + 141 ], "starting_column": 10, "ending_column": 40 @@ -905,18 +904,18 @@ "type": "function", "name": "withdraw", "source_mapping": { - "start": 181, + "start": 3089, "length": 207, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 138, + 139, + 140, + 141, + 142 ], "starting_column": 5, "ending_column": 6 @@ -924,36 +923,37 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "TestWithBug", + "name": "TestWithBugNonReentrantRead", "source_mapping": { - "start": 67, - "length": 506, - "filename_relative": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol", + "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 + 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 @@ -969,10 +969,10 @@ } } ], - "description": "Reentrancy in TestWithBug.withdraw(uint256) (tests/detectors/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/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#16)\n\tTestWithBug.balances (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#7) can be used in cross function reentrancies:\n\t- TestWithBug.withdraw_all() (tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#19-23)\n", - "markdown": "Reentrancy in [TestWithBug.withdraw(uint256)](tests/detectors/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/detectors/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/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L16)\n\t[TestWithBug.balances](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L7) can be used in cross function reentrancies:\n\t- [TestWithBug.withdraw_all()](tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L19-L23)\n", - "first_markdown_element": "tests/detectors/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol#L13-L17", - "id": "bcfa65e776908d618f202fa48f03dde3fbf8397b752d2e8cc3c8e46019e9e174", + "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" diff --git a/tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol b/tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol similarity index 100% rename from tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol rename to tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json rename to tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol.0.5.16.ReentrancyEvent.json index 649278f4ff..a297bb05e4 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 86, "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "is_dependency": false, "lines": [ 14, @@ -28,9 +28,9 @@ "source_mapping": { "start": 51, "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "is_dependency": false, "lines": [ 11, @@ -61,9 +61,9 @@ "source_mapping": { "start": 120, "length": 5, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "is_dependency": false, "lines": [ 15 @@ -78,9 +78,9 @@ "source_mapping": { "start": 86, "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "is_dependency": false, "lines": [ 14, @@ -98,9 +98,9 @@ "source_mapping": { "start": 51, "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "is_dependency": false, "lines": [ 11, @@ -136,9 +136,9 @@ "source_mapping": { "start": 135, "length": 8, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "is_dependency": false, "lines": [ 16 @@ -153,9 +153,9 @@ "source_mapping": { "start": 86, "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "is_dependency": false, "lines": [ 14, @@ -173,9 +173,9 @@ "source_mapping": { "start": 51, "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol", "is_dependency": false, "lines": [ 11, @@ -206,10 +206,10 @@ } } ], - "description": "Reentrancy in Test.bug(C) (tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#16)\n", - "markdown": "Reentrancy in [Test.bug(C)](tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L16)\n", - "first_markdown_element": "tests/detectors/reentrancy-events/0.5.16/reentrancy-events.sol#L14-L17", - "id": "314eb87452ecb57911a225bbbd538d33f9204518026249a12410e19413554727", + "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" diff --git a/tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol b/tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol similarity index 100% rename from tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol rename to tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json rename to tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol.0.6.11.ReentrancyEvent.json index df705566dc..721b542542 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 86, "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "is_dependency": false, "lines": [ 14, @@ -28,9 +28,9 @@ "source_mapping": { "start": 51, "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "is_dependency": false, "lines": [ 11, @@ -61,9 +61,9 @@ "source_mapping": { "start": 120, "length": 5, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "is_dependency": false, "lines": [ 15 @@ -78,9 +78,9 @@ "source_mapping": { "start": 86, "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "is_dependency": false, "lines": [ 14, @@ -98,9 +98,9 @@ "source_mapping": { "start": 51, "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "is_dependency": false, "lines": [ 11, @@ -136,9 +136,9 @@ "source_mapping": { "start": 135, "length": 8, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "is_dependency": false, "lines": [ 16 @@ -153,9 +153,9 @@ "source_mapping": { "start": 86, "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "is_dependency": false, "lines": [ 14, @@ -173,9 +173,9 @@ "source_mapping": { "start": 51, "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol", "is_dependency": false, "lines": [ 11, @@ -206,10 +206,10 @@ } } ], - "description": "Reentrancy in Test.bug(C) (tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#16)\n", - "markdown": "Reentrancy in [Test.bug(C)](tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L16)\n", - "first_markdown_element": "tests/detectors/reentrancy-events/0.6.11/reentrancy-events.sol#L14-L17", - "id": "1f754abe7a9cadfa9e0ea549a49219ba95c55bb5eaf79698de27f0fa460eb0f2", + "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" diff --git a/tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol b/tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol similarity index 100% rename from tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol rename to tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json rename to tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol.0.7.6.ReentrancyEvent.json index 174b7c5cdb..1b4ea36ae3 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 86, "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "is_dependency": false, "lines": [ 14, @@ -28,9 +28,9 @@ "source_mapping": { "start": 51, "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "is_dependency": false, "lines": [ 11, @@ -61,9 +61,9 @@ "source_mapping": { "start": 120, "length": 5, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "is_dependency": false, "lines": [ 15 @@ -78,9 +78,9 @@ "source_mapping": { "start": 86, "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "is_dependency": false, "lines": [ 14, @@ -98,9 +98,9 @@ "source_mapping": { "start": 51, "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "is_dependency": false, "lines": [ 11, @@ -136,9 +136,9 @@ "source_mapping": { "start": 135, "length": 8, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "is_dependency": false, "lines": [ 16 @@ -153,9 +153,9 @@ "source_mapping": { "start": 86, "length": 68, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "is_dependency": false, "lines": [ 14, @@ -173,9 +173,9 @@ "source_mapping": { "start": 51, "length": 193, - "filename_relative": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol", "is_dependency": false, "lines": [ 11, @@ -206,10 +206,10 @@ } } ], - "description": "Reentrancy in Test.bug(C) (tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#14-17):\n\tExternal calls:\n\t- c.f() (tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#15)\n\tEvent emitted after the call(s):\n\t- E() (tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#16)\n", - "markdown": "Reentrancy in [Test.bug(C)](tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L14-L17):\n\tExternal calls:\n\t- [c.f()](tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L15)\n\tEvent emitted after the call(s):\n\t- [E()](tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L16)\n", - "first_markdown_element": "tests/detectors/reentrancy-events/0.7.6/reentrancy-events.sol#L14-L17", - "id": "959396e18ec2c541dcb7c9e9f318504e794922dd6f48ffd9885d11289b5f83ba", + "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" diff --git a/tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol diff --git a/tests/detectors/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 similarity index 95% rename from tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol.0.4.25.ReentrancyReadBeforeWritten.json index 67304b3a52..dc81e0f5db 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 39505, "length": 735, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 1037, @@ -45,9 +45,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -594,9 +594,9 @@ "source_mapping": { "start": 39789, "length": 145, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 1044, @@ -613,9 +613,9 @@ "source_mapping": { "start": 39505, "length": 735, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 1037, @@ -650,9 +650,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -1204,9 +1204,9 @@ "source_mapping": { "start": 39977, "length": 53, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 1048 @@ -1221,9 +1221,9 @@ "source_mapping": { "start": 39505, "length": 735, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 1037, @@ -1258,9 +1258,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -1812,9 +1812,9 @@ "source_mapping": { "start": 40100, "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 1052 @@ -1829,9 +1829,9 @@ "source_mapping": { "start": 39505, "length": 735, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 1037, @@ -1866,9 +1866,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -2420,9 +2420,9 @@ "source_mapping": { "start": 40180, "length": 32, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 1055 @@ -2437,9 +2437,9 @@ "source_mapping": { "start": 39505, "length": 735, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 1037, @@ -2474,9 +2474,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -3024,10 +3024,10 @@ } } ], - "description": "Reentrancy in DAO.retrieveDAOReward(bool) (tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1044-1046)\n\t- ! DAOrewardAccount.payOut(dao.rewardAccount(),reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1048)\n\t- ! DAOrewardAccount.payOut(dao,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1052)\n\tState variables written after the call(s):\n\t- DAOpaidOut[msg.sender] += reward (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1055)\n\tDAOInterface.DAOpaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#423) can be used in cross function reentrancies:\n\t- DAOInterface.DAOpaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#423)\n\t- DAO.newContract(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1022-1034)\n\t- DAO.retrieveDAOReward(bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1037-1057)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n", - "markdown": "Reentrancy in [DAO.retrieveDAOReward(bool)](tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1044-L1046)\n\t- [! DAOrewardAccount.payOut(dao.rewardAccount(),reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1048)\n\t- [! DAOrewardAccount.payOut(dao,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1052)\n\tState variables written after the call(s):\n\t- [DAOpaidOut[msg.sender] += reward](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1055)\n\t[DAOInterface.DAOpaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L423) can be used in cross function reentrancies:\n\t- [DAOInterface.DAOpaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L423)\n\t- [DAO.newContract(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1022-L1034)\n\t- [DAO.retrieveDAOReward(bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1037-L1057)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1037-L1057", - "id": "46f3602c51aa374d23e5b813ad0fe727cb1ea9b91d446c8e8eee0665554d8752", + "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" @@ -3036,25 +3036,26 @@ "elements": [ { "type": "function", - "name": "transferFromWithoutReward", + "name": "withdrawRewardFor", "source_mapping": { - "start": 41743, - "length": 247, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074 ], "starting_column": 5, "ending_column": 6 @@ -3066,9 +3067,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -3606,47 +3607,49 @@ "ending_column": 2 } }, - "signature": "transferFromWithoutReward(address,address,uint256)" + "signature": "withdrawRewardFor(address)" } }, { "type": "node", - "name": "! withdrawRewardFor(_from)", + "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", "source_mapping": { - "start": 41890, - "length": 25, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1118 + 1068, + 1069 ], - "starting_column": 13, - "ending_column": 38 + "starting_column": 9, + "ending_column": 103 }, "type_specific_fields": { "parent": { "type": "function", - "name": "transferFromWithoutReward", + "name": "withdrawRewardFor", "source_mapping": { - "start": 41743, - "length": 247, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074 ], "starting_column": 5, "ending_column": 6 @@ -3658,9 +3661,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -4198,7 +4201,7 @@ "ending_column": 2 } }, - "signature": "transferFromWithoutReward(address,address,uint256)" + "signature": "withdrawRewardFor(address)" } } }, @@ -4208,19 +4211,19 @@ }, { "type": "node", - "name": "(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]", + "name": "! rewardAccount.payOut(_account,reward)", "source_mapping": { - "start": 40461, - "length": 90, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1065 + 1070 ], "starting_column": 13, - "ending_column": 103 + "ending_column": 52 }, "type_specific_fields": { "parent": { @@ -4229,9 +4232,9 @@ "source_mapping": { "start": 40361, "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 1064, @@ -4256,9 +4259,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -4801,25 +4804,24 @@ } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", + "name": "paidOut[_account] += reward", "source_mapping": { - "start": 40581, - "length": 116, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1068, - 1069 + 1072 ], "starting_column": 9, - "ending_column": 103 + "ending_column": 36 }, "type_specific_fields": { "parent": { @@ -4828,9 +4830,9 @@ "source_mapping": { "start": 40361, "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 1064, @@ -4855,9 +4857,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -5400,9644 +5402,120 @@ } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "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": "node", - "name": "! rewardAccount.payOut(_account,reward)", + "type": "function", + "name": "splitDAO", "source_mapping": { - "start": 40711, - "length": 39, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1070 + 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": 13, - "ending_column": 52 + "starting_column": 5, + "ending_column": 6 }, "type_specific_fields": { "parent": { - "type": "function", - "name": "withdrawRewardFor", + "type": "contract", + "name": "DAO", "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1112-1121):\n\tExternal calls:\n\t- ! withdrawRewardFor(_from) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1118)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- transferFrom(_from,_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1120)\n\t\t- balances[_to] += _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#120)\n\t\t- balances[_from] -= _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#121)\n\tTokenInterface.balances (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies:\n\t- Token.balanceOf(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#95-97)\n\t- TokenCreation.createTokenProxy(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- Token.transfer(address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#99-108)\n\t- Token.transferFrom(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#110-128)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- transferFrom(_from,_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1120)\n\t\t- paidOut[_from] -= transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1133)\n\t\t- paidOut[_to] += transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1134)\n\tDAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.transferFromWithoutReward(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1112-L1121):\n\tExternal calls:\n\t- [! withdrawRewardFor(_from)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1118)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [transferFrom(_from,_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1120)\n\t\t- [balances[_to] += _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L120)\n\t\t- [balances[_from] -= _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L121)\n\t[TokenInterface.balances](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L41) can be used in cross function reentrancies:\n\t- [Token.balanceOf(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L95-L97)\n\t- [TokenCreation.createTokenProxy(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [Token.transfer(address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L99-L108)\n\t- [Token.transferFrom(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L110-L128)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [transferFrom(_from,_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1120)\n\t\t- [paidOut[_from] -= transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1133)\n\t\t- [paidOut[_to] += transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1134)\n\t[DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1112-L1121", - "id": "909a0ca64efee741832ff649b172fed1112e86771da217fea671356d66c42a49", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "splitDAO", - "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020):\n\tExternal calls:\n\t- p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#974)\n\t\t- daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1196)\n\t- withdrawRewardFor(msg.sender) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1015)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- balances[msg.sender] = 0 (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1017)\n\tTokenInterface.balances (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies:\n\t- Token.balanceOf(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#95-97)\n\t- TokenCreation.createTokenProxy(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- Token.transfer(address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#99-108)\n\t- Token.transferFrom(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#110-128)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- paidOut[msg.sender] = 0 (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1018)\n\tDAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n\t- totalSupply -= balances[msg.sender] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1016)\n\tTokenInterface.totalSupply (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#45) can be used in cross function reentrancies:\n\t- TokenCreation.createTokenProxy(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.minQuorum(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1174-1178)\n\t- TokenCreation.refund() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- TokenInterface.totalSupply (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#45)\n\t- DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020):\n\tExternal calls:\n\t- [p.splitData[0].newDAO = createNewDAO(_newCurator)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L974)\n\t\t- [daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1196)\n\t- [withdrawRewardFor(msg.sender)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1015)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [balances[msg.sender] = 0](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1017)\n\t[TokenInterface.balances](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L41) can be used in cross function reentrancies:\n\t- [Token.balanceOf(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L95-L97)\n\t- [TokenCreation.createTokenProxy(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [Token.transfer(address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L99-L108)\n\t- [Token.transferFrom(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L110-L128)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [paidOut[msg.sender] = 0](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1018)\n\t[DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n\t- [totalSupply -= balances[msg.sender]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1016)\n\t[TokenInterface.totalSupply](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L45) can be used in cross function reentrancies:\n\t- [TokenCreation.createTokenProxy(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.minQuorum(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1174-L1178)\n\t- [TokenCreation.refund()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [TokenInterface.totalSupply](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L45)\n\t- [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020", - "id": "963e4c36f1b98773a1c2817e28fb118a93db29d43e20dfa8d001139ba2a4175f", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "function", - "name": "transferWithoutReward", - "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -15366,50 +5844,3356 @@ 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, + 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, @@ -15420,197 +9204,668 @@ 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 + 1074 ], - "starting_column": 1, - "ending_column": 2 + "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)" } - }, - "signature": "transferWithoutReward(address,uint256)" + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "! getMyReward()", + "name": "balances[msg.sender] = 0", "source_mapping": { - "start": 41288, - "length": 14, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1092 + 1017 ], - "starting_column": 13, - "ending_column": 27 + "starting_column": 9, + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "transferWithoutReward", + "name": "splitDAO", "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1091, - 1092, - 1093, - 1094, - 1095 + 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 @@ -15622,9 +9877,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -16162,53 +10417,117 @@ "ending_column": 2 } }, - "signature": "transferWithoutReward(address,uint256)" + "signature": "splitDAO(uint256,address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "variables_written", + "variable_name": "balances" } }, { "type": "node", - "name": "(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]", + "name": "paidOut[msg.sender] = 0", "source_mapping": { - "start": 40461, - "length": 90, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1065 + 1018 ], - "starting_column": 13, - "ending_column": 103 + "starting_column": 9, + "ending_column": 32 }, "type_specific_fields": { "parent": { "type": "function", - "name": "withdrawRewardFor", + "name": "splitDAO", "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 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 @@ -16220,9 +10539,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -16760,54 +11079,117 @@ "ending_column": 2 } }, - "signature": "withdrawRewardFor(address)" + "signature": "splitDAO(uint256,address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "variables_written", + "variable_name": "paidOut" } }, { "type": "node", - "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", + "name": "totalSupply -= balances[msg.sender]", "source_mapping": { - "start": 40581, - "length": 116, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1068, - 1069 + 1016 ], "starting_column": 9, - "ending_column": 103 + "ending_column": 44 }, "type_specific_fields": { "parent": { "type": "function", - "name": "withdrawRewardFor", + "name": "splitDAO", "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 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 @@ -16819,9 +11201,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -17359,53 +11741,767 @@ "ending_column": 2 } }, - "signature": "withdrawRewardFor(address)" + "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 } - } - }, - "additional_fields": { - "underlying_type": "external_calls_sending_eth" + }, + "signature": "splitDAO(uint256,address)" } }, { "type": "node", - "name": "! rewardAccount.payOut(_account,reward)", + "name": "p.splitData[0].newDAO = createNewDAO(_newCurator)", "source_mapping": { - "start": 40711, - "length": 39, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1070 + 974 ], "starting_column": 13, - "ending_column": 52 + "ending_column": 62 }, "type_specific_fields": { "parent": { "type": "function", - "name": "withdrawRewardFor", + "name": "splitDAO", "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 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 @@ -17417,9 +12513,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -17957,47 +13053,46 @@ "ending_column": 2 } }, - "signature": "withdrawRewardFor(address)" + "signature": "splitDAO(uint256,address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "transfer(_to,_value)", + "name": "daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)", "source_mapping": { - "start": 41331, - "length": 28, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1094 + 1196 ], "starting_column": 9, - "ending_column": 37 + "ending_column": 83 }, "type_specific_fields": { "parent": { "type": "function", - "name": "transferWithoutReward", + "name": "createNewDAO", "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1091, - 1092, - 1093, - 1094, - 1095 + 1194, + 1195, + 1196, + 1197 ], "starting_column": 5, "ending_column": 6 @@ -18009,9 +13104,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -18549,171 +13644,116 @@ "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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)" + "signature": "createNewDAO(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "balances" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "balances[_to] += _amount", + "name": "p.splitData[0].splitBalance = actualBalance()", "source_mapping": { - "start": 3965, - "length": 24, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 102 + 981 ], "starting_column": 13, - "ending_column": 37 + "ending_column": 58 }, "type_specific_fields": { "parent": { "type": "function", - "name": "transfer", + "name": "splitDAO", "source_mapping": { - "start": 3765, - "length": 356, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 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 @@ -18721,112 +13761,661 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "Token", + "name": "DAO", "source_mapping": { - "start": 3440, - "length": 1550, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 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": "transfer(address,uint256)" + "signature": "splitDAO(uint256,address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "balances" + "variable_name": "proposals" } }, { "type": "node", - "name": "transfer(_to,_value)", + "name": "p.splitData[0].rewardToken = rewardToken[address(this)]", "source_mapping": { - "start": 41331, - "length": 28, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1094 + 982 ], - "starting_column": 9, - "ending_column": 37 + "starting_column": 13, + "ending_column": 68 }, "type_specific_fields": { "parent": { "type": "function", - "name": "transferWithoutReward", + "name": "splitDAO", "source_mapping": { - "start": 41191, - "length": 175, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1091, - 1092, - 1093, - 1094, - 1095 + 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 @@ -18838,9 +14427,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -19378,56 +14967,117 @@ "ending_column": 2 } }, - "signature": "transferWithoutReward(address,uint256)" + "signature": "splitDAO(uint256,address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "paidOut" + "variable_name": "proposals" } }, { "type": "node", - "name": "paidOut[_from] -= transferPaidOut", + "name": "p.splitData[0].totalSupply = totalSupply", "source_mapping": { - "start": 42279, - "length": 33, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1133 + 983 ], - "starting_column": 9, - "ending_column": 42 + "starting_column": 13, + "ending_column": 53 }, "type_specific_fields": { "parent": { "type": "function", - "name": "transferPaidOut", + "name": "splitDAO", "source_mapping": { - "start": 41997, - "length": 384, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 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 @@ -19439,9 +15089,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -19979,56 +15629,117 @@ "ending_column": 2 } }, - "signature": "transferPaidOut(address,address,uint256)" + "signature": "splitDAO(uint256,address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "paidOut" + "variable_name": "proposals" } }, { "type": "node", - "name": "paidOut[_to] += transferPaidOut", + "name": "p.proposalPassed = true", "source_mapping": { - "start": 42322, - "length": 31, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1134 + 984 ], - "starting_column": 9, - "ending_column": 40 + "starting_column": 13, + "ending_column": 36 }, "type_specific_fields": { "parent": { "type": "function", - "name": "transferPaidOut", + "name": "splitDAO", "source_mapping": { - "start": 41997, - "length": 384, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 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 @@ -20040,9 +15751,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -20580,20 +16291,20 @@ "ending_column": 2 } }, - "signature": "transferPaidOut(address,address,uint256)" + "signature": "splitDAO(uint256,address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "paidOut" + "variable_name": "proposals" } } ], - "description": "Reentrancy in DAO.transferWithoutReward(address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1091-1095):\n\tExternal calls:\n\t- ! getMyReward() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1092)\n\t\t- (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1065)\n\t\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- transfer(_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1094)\n\t\t- balances[msg.sender] -= _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#101)\n\t\t- balances[_to] += _amount (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#102)\n\tTokenInterface.balances (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#41) can be used in cross function reentrancies:\n\t- Token.balanceOf(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#95-97)\n\t- TokenCreation.createTokenProxy(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#299-316)\n\t- TokenCreation.refund() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#318-332)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- Token.transfer(address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#99-108)\n\t- Token.transferFrom(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#110-128)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- transfer(_to,_value) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1094)\n\t\t- paidOut[_from] -= transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1133)\n\t\t- paidOut[_to] += transferPaidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1134)\n\tDAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.transferWithoutReward(address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1091-L1095):\n\tExternal calls:\n\t- [! getMyReward()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1092)\n\t\t- [(balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply < paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1065)\n\t\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [transfer(_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1094)\n\t\t- [balances[msg.sender] -= _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L101)\n\t\t- [balances[_to] += _amount](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L102)\n\t[TokenInterface.balances](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L41) can be used in cross function reentrancies:\n\t- [Token.balanceOf(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L95-L97)\n\t- [TokenCreation.createTokenProxy(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L299-L316)\n\t- [TokenCreation.refund()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L318-L332)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [Token.transfer(address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L99-L108)\n\t- [Token.transferFrom(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L110-L128)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [transfer(_to,_value)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1094)\n\t\t- [paidOut[_from] -= transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1133)\n\t\t- [paidOut[_to] += transferPaidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1134)\n\t[DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1091-L1095", - "id": "ad6f23948098980472bb7aff30e5fff31c6b90fe570d3f9fa5aa33faaddf32e3", + "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" @@ -20602,89 +16313,25 @@ "elements": [ { "type": "function", - "name": "splitDAO", + "name": "transferFromWithoutReward", "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121 ], "starting_column": 5, "ending_column": 6 @@ -20696,9 +16343,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -21232,115 +16879,1248 @@ 1222, 1223 ], - "starting_column": 1, - "ending_column": 2 + "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)" } - }, - "signature": "splitDAO(uint256,address)" + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "p.splitData[0].newDAO = createNewDAO(_newCurator)", + "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", "source_mapping": { - "start": 37159, - "length": 49, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 974 + 1068, + 1069 ], - "starting_column": 13, - "ending_column": 62 + "starting_column": 9, + "ending_column": 103 }, "type_specific_fields": { "parent": { "type": "function", - "name": "splitDAO", + "name": "withdrawRewardFor", "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074 ], "starting_column": 5, "ending_column": 6 @@ -21352,9 +18132,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -21892,46 +18672,53 @@ "ending_column": 2 } }, - "signature": "splitDAO(uint256,address)" + "signature": "withdrawRewardFor(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)", + "name": "! rewardAccount.payOut(_account,reward)", "source_mapping": { - "start": 44544, - "length": 74, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1196 + 1070 ], - "starting_column": 9, - "ending_column": 83 + "starting_column": 13, + "ending_column": 52 }, "type_specific_fields": { "parent": { "type": "function", - "name": "createNewDAO", + "name": "withdrawRewardFor", "source_mapping": { - "start": 44427, - "length": 198, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1194, - 1195, - 1196, - 1197 + 1064, + 1065, + 1066, + 1067, + 1068, + 1069, + 1070, + 1071, + 1072, + 1073, + 1074 ], "starting_column": 5, "ending_column": 6 @@ -21943,9 +18730,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -22483,7 +19270,7 @@ "ending_column": 2 } }, - "signature": "createNewDAO(address)" + "signature": "withdrawRewardFor(address)" } } }, @@ -22493,106 +19280,42 @@ }, { "type": "node", - "name": "p.splitData[0].splitBalance = actualBalance()", + "name": "transferFrom(_from,_to,_value)", "source_mapping": { - "start": 37456, - "length": 45, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 981 + 1120 ], - "starting_column": 13, - "ending_column": 58 + "starting_column": 9, + "ending_column": 48 }, "type_specific_fields": { "parent": { "type": "function", - "name": "splitDAO", + "name": "transferFromWithoutReward", "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1112, + 1113, + 1114, + 1115, + 1116, + 1117, + 1118, + 1119, + 1120, + 1121 ], "starting_column": 5, "ending_column": 6 @@ -22604,9 +19327,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -23144,117 +19867,307 @@ "ending_column": 2 } }, - "signature": "splitDAO(uint256,address)" + "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": "proposals" + "variable_name": "balances" } }, { "type": "node", - "name": "p.splitData[0].rewardToken = rewardToken[address(this)]", + "name": "balances[_from] -= _amount", "source_mapping": { - "start": 37515, - "length": 55, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 982 + 121 ], "starting_column": 13, - "ending_column": 68 + "ending_column": 39 }, "type_specific_fields": { "parent": { "type": "function", - "name": "splitDAO", + "name": "transferFrom", "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 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 @@ -23266,9 +20179,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -23806,117 +20719,56 @@ "ending_column": 2 } }, - "signature": "splitDAO(uint256,address)" + "signature": "transferFromWithoutReward(address,address,uint256)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "proposals" + "variable_name": "paidOut" } }, { "type": "node", - "name": "p.splitData[0].totalSupply = totalSupply", + "name": "paidOut[_from] -= transferPaidOut", "source_mapping": { - "start": 37584, - "length": 40, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1133 + ], + "starting_column": 9, + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "splitDAO", + "name": "transferPaidOut", "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136 ], "starting_column": 5, "ending_column": 6 @@ -23928,9 +20780,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -24468,117 +21320,56 @@ "ending_column": 2 } }, - "signature": "splitDAO(uint256,address)" + "signature": "transferPaidOut(address,address,uint256)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "proposals" + "variable_name": "paidOut" } }, { "type": "node", - "name": "p.proposalPassed = true", + "name": "paidOut[_to] += transferPaidOut", "source_mapping": { - "start": 37638, - "length": 23, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 984 + 1134 ], - "starting_column": 13, - "ending_column": 36 + "starting_column": 9, + "ending_column": 40 }, "type_specific_fields": { "parent": { "type": "function", - "name": "splitDAO", + "name": "transferPaidOut", "source_mapping": { - "start": 36148, - "length": 2849, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136 ], "starting_column": 5, "ending_column": 6 @@ -24590,9 +21381,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -25130,20 +21921,20 @@ "ending_column": 2 } }, - "signature": "splitDAO(uint256,address)" + "signature": "transferPaidOut(address,address,uint256)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "proposals" + "variable_name": "paidOut" } } ], - "description": "Reentrancy in DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020):\n\tExternal calls:\n\t- p.splitData[0].newDAO = createNewDAO(_newCurator) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#974)\n\t\t- daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod) (tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#981)\n\tDAOInterface.proposals (tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- p.splitData[0].rewardToken = rewardToken[address(this)] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#982)\n\tDAOInterface.proposals (tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- p.splitData[0].totalSupply = totalSupply (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#983)\n\tDAOInterface.proposals (tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n\t- p.proposalPassed = true (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#984)\n\tDAOInterface.proposals (tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#702-726)\n\t- DAO.checkProposalCode(uint256,address,uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#809-817)\n\t- DAO.closeProposal(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#940-945)\n\t- DAO.executeProposal(uint256,bytes) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#853-937)\n\t- DAO.getNewDAOAddress(uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1204-1206)\n\t- DAO.isBlocked(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1208-1218)\n\t- DAO.newProposal(address,uint256,string,bytes,uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#741-806)\n\t- DAO.numberOfProposals() (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1199-1202)\n\t- DAOInterface.proposals (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#394)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.vote(uint256,bool) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#820-850)\n", - "markdown": "Reentrancy in [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020):\n\tExternal calls:\n\t- [p.splitData[0].newDAO = createNewDAO(_newCurator)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L974)\n\t\t- [daoCreator.createDAO(_newCurator,0,0,now + splitExecutionPeriod)](tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L981)\n\t[DAOInterface.proposals](tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [p.splitData[0].rewardToken = rewardToken[address(this)]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L982)\n\t[DAOInterface.proposals](tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [p.splitData[0].totalSupply = totalSupply](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L983)\n\t[DAOInterface.proposals](tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n\t- [p.proposalPassed = true](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L984)\n\t[DAOInterface.proposals](tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L702-L726)\n\t- [DAO.checkProposalCode(uint256,address,uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L809-L817)\n\t- [DAO.closeProposal(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L940-L945)\n\t- [DAO.executeProposal(uint256,bytes)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L853-L937)\n\t- [DAO.getNewDAOAddress(uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1204-L1206)\n\t- [DAO.isBlocked(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1208-L1218)\n\t- [DAO.newProposal(address,uint256,string,bytes,uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L741-L806)\n\t- [DAO.numberOfProposals()](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1199-L1202)\n\t- [DAOInterface.proposals](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L394)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.vote(uint256,bool)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L820-L850)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020", - "id": "e68209eb3271625f1c21778f53fe675ae0daaa8c769d3a73d7cc49fc0b9624c0", + "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" @@ -25152,26 +21943,20 @@ "elements": [ { "type": "function", - "name": "withdrawRewardFor", + "name": "transferWithoutReward", "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1091, + 1092, + 1093, + 1094, + 1095 ], "starting_column": 5, "ending_column": 6 @@ -25183,9 +21968,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -25568,204 +22353,3413 @@ 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 + 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": 1, - "ending_column": 2 + "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)" } - }, - "signature": "withdrawRewardFor(address)" + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "balances" } }, { "type": "node", - "name": "reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]", + "name": "transfer(_to,_value)", "source_mapping": { - "start": 40581, - "length": 116, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1068, - 1069 + 1094 ], "starting_column": 9, - "ending_column": 103 + "ending_column": 37 }, "type_specific_fields": { "parent": { "type": "function", - "name": "withdrawRewardFor", + "name": "transferWithoutReward", "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1091, + 1092, + 1093, + 1094, + 1095 ], "starting_column": 5, "ending_column": 6 @@ -25777,9 +25771,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -26317,53 +26311,56 @@ "ending_column": 2 } }, - "signature": "withdrawRewardFor(address)" + "signature": "transferWithoutReward(address,uint256)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "variables_written", + "variable_name": "paidOut" } }, { "type": "node", - "name": "! rewardAccount.payOut(_account,reward)", + "name": "paidOut[_from] -= transferPaidOut", "source_mapping": { - "start": 40711, - "length": 39, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1070 + 1133 ], - "starting_column": 13, - "ending_column": 52 + "starting_column": 9, + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "withdrawRewardFor", + "name": "transferPaidOut", "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136 ], "starting_column": 5, "ending_column": 6 @@ -26375,9 +26372,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -26915,53 +26912,56 @@ "ending_column": 2 } }, - "signature": "withdrawRewardFor(address)" + "signature": "transferPaidOut(address,address,uint256)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "variables_written", + "variable_name": "paidOut" } }, { "type": "node", - "name": "paidOut[_account] += reward", + "name": "paidOut[_to] += transferPaidOut", "source_mapping": { - "start": 40779, - "length": 27, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ - 1072 + 1134 ], "starting_column": 9, - "ending_column": 36 + "ending_column": 40 }, "type_specific_fields": { "parent": { "type": "function", - "name": "withdrawRewardFor", + "name": "transferPaidOut", "source_mapping": { - "start": 40361, - "length": 473, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "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 + 1124, + 1125, + 1126, + 1127, + 1128, + 1129, + 1130, + 1131, + 1132, + 1133, + 1134, + 1135, + 1136 ], "starting_column": 5, "ending_column": 6 @@ -26973,9 +26973,9 @@ "source_mapping": { "start": 28296, "length": 17108, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol", "is_dependency": false, "lines": [ 694, @@ -27513,7 +27513,7 @@ "ending_column": 2 } }, - "signature": "withdrawRewardFor(address)" + "signature": "transferPaidOut(address,address,uint256)" } } }, @@ -27523,10 +27523,10 @@ } } ], - "description": "Reentrancy in DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074):\n\tExternal calls:\n\t- reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account] (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1068-1069)\n\t- ! rewardAccount.payOut(_account,reward) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1070)\n\tState variables written after the call(s):\n\t- paidOut[_account] += reward (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1072)\n\tDAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426) can be used in cross function reentrancies:\n\t- DAOInterface.paidOut (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#426)\n\t- DAO.splitDAO(uint256,address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#947-1020)\n\t- DAO.transferPaidOut(address,address,uint256) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1124-1136)\n\t- DAO.withdrawRewardFor(address) (tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#1064-1074)\n", - "markdown": "Reentrancy in [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074):\n\tExternal calls:\n\t- [reward = (balanceOf(_account) * rewardAccount.accumulatedInput()) / totalSupply - paidOut[_account]](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1068-L1069)\n\t- [! rewardAccount.payOut(_account,reward)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1070)\n\tState variables written after the call(s):\n\t- [paidOut[_account] += reward](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1072)\n\t[DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426) can be used in cross function reentrancies:\n\t- [DAOInterface.paidOut](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L426)\n\t- [DAO.splitDAO(uint256,address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L947-L1020)\n\t- [DAO.transferPaidOut(address,address,uint256)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1124-L1136)\n\t- [DAO.withdrawRewardFor(address)](tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/DAO.sol#L1064-L1074", - "id": "f722fd06c30754e9f97e39e08629bbfc87c8791397463889c85944b9223026dc", + "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" diff --git a/tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol.0.4.25.ReentrancyReadBeforeWritten.json index 56e1888f97..6e78e3971a 100644 --- a/tests/detectors/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 @@ -4,21 +4,22 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 485, - "length": 158, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -30,9 +31,9 @@ "source_mapping": { "start": 28, "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -77,43 +78,44 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad0()" } }, { "type": "node", - "name": "success = msg.sender.call()", + "name": "! (msg.sender.call())", "source_mapping": { - "start": 560, - "length": 34, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ - 26 + 18 ], - "starting_column": 9, - "ending_column": 43 + "starting_column": 13, + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 485, - "length": 158, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -125,9 +127,9 @@ "source_mapping": { "start": 28, "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -172,7 +174,7 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad0()" } } }, @@ -182,38 +184,39 @@ }, { "type": "node", - "name": "bad0()", + "name": "notCalled = false", "source_mapping": { - "start": 630, - "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ - 28 + 21 ], "starting_column": 9, - "ending_column": 15 + "ending_column": 26 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 485, - "length": 158, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -225,9 +228,9 @@ "source_mapping": { "start": 28, "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -272,49 +275,138 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad0()" } } }, "additional_fields": { - "underlying_type": "external_calls" + "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": "node", - "name": "! (msg.sender.call())", + "type": "function", + "name": "bad1", "source_mapping": { - "start": 391, - "length": 20, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ - 18 + 24, + 25, + 26, + 27, + 28, + 29 ], - "starting_column": 13, - "ending_column": 33 + "starting_column": 5, + "ending_column": 6 }, "type_specific_fields": { "parent": { - "type": "function", - "name": "bad0", + "type": "contract", + "name": "ReentrancyWrite", "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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 + 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 @@ -326,9 +418,9 @@ "source_mapping": { "start": 28, "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -373,12 +465,12 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { @@ -387,9 +479,9 @@ "source_mapping": { "start": 630, "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 28 @@ -404,9 +496,9 @@ "source_mapping": { "start": 485, "length": 158, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 24, @@ -426,9 +518,9 @@ "source_mapping": { "start": 28, "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -478,25 +570,24 @@ } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "notCalled = false", + "name": "! (msg.sender.call())", "source_mapping": { - "start": 455, - "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ - 21 + 18 ], - "starting_column": 9, - "ending_column": 26 + "starting_column": 13, + "ending_column": 33 }, "type_specific_fields": { "parent": { @@ -505,9 +596,9 @@ "source_mapping": { "start": 326, "length": 153, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 16, @@ -528,9 +619,9 @@ "source_mapping": { "start": 28, "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -580,135 +671,43 @@ } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" + "underlying_type": "external_calls_sending_eth" } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29):\n\tExternal calls:\n\t- success = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#26)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#28)\n\t\t- ! (msg.sender.call()) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#28)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#21)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#31-37)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29):\n\tExternal calls:\n\t- [success = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L26)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L28)\n\t\t- [! (msg.sender.call())](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L28)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L21)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L31-L37)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29", - "id": "3abbc9e8f73096dd53d7a40513439b00f2bcfb9c594446c25eb8f0845a83f634", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "function", - "name": "bad0", + "type": "node", + "name": "bad0()", "source_mapping": { - "start": 326, - "length": 153, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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 + 28 ], - "starting_column": 5, - "ending_column": 6 + "starting_column": 9, + "ending_column": 15 }, "type_specific_fields": { "parent": { - "type": "contract", - "name": "ReentrancyWrite", + "type": "function", + "name": "bad1", "source_mapping": { - "start": 28, - "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22 + 29 ], "starting_column": 5, "ending_column": 6 @@ -720,9 +719,9 @@ "source_mapping": { "start": 28, "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -767,12 +766,13 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "variables_written", + "variable_name": "notCalled" } }, { @@ -781,9 +781,9 @@ "source_mapping": { "start": 455, "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 21 @@ -798,9 +798,9 @@ "source_mapping": { "start": 326, "length": 153, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 16, @@ -821,9 +821,9 @@ "source_mapping": { "start": 28, "length": 776, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -878,10 +878,10 @@ } } ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22):\n\tExternal calls:\n\t- ! (msg.sender.call()) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#21)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#16-22)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#24-29)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#31-37)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22):\n\tExternal calls:\n\t- [! (msg.sender.call())](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L21)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L24-L29)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L31-L37)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.4.25/reentrancy-write.sol#L16-L22", - "id": "849ca5d32a80a76091f9049ebde3e9267a1c1bc22fd11197246e748b56a31f3b", + "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" diff --git a/tests/detectors/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol.0.5.16.ReentrancyReadBeforeWritten.json rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol.0.5.16.ReentrancyReadBeforeWritten.json diff --git a/tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol.0.5.16.ReentrancyReadBeforeWritten.json index d22a8dc15d..4043620075 100644 --- a/tests/detectors/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 @@ -4,21 +4,23 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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 + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -30,9 +32,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -79,21 +81,21 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad0()" } }, { "type": "node", "name": "(success) = msg.sender.call()", "source_mapping": { - "start": 605, + "start": 397, "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ - 27 + 18 ], "starting_column": 9, "ending_column": 46 @@ -101,21 +103,23 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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 + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -127,9 +131,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -176,7 +180,7 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad0()" } } }, @@ -186,38 +190,40 @@ }, { "type": "node", - "name": "bad0()", + "name": "notCalled = false", "source_mapping": { - "start": 678, - "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ - 29 + 22 ], "starting_column": 9, - "ending_column": 15 + "ending_column": 26 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 530, - "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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 + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23 ], "starting_column": 5, "ending_column": 6 @@ -229,9 +235,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -278,42 +284,72 @@ "ending_column": 2 } }, - "signature": "bad1(address)" + "signature": "bad0()" } } }, "additional_fields": { - "underlying_type": "external_calls" + "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": "node", - "name": "(success) = msg.sender.call()", + "type": "function", + "name": "bad1", "source_mapping": { - "start": 397, - "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ - 18 + 25, + 26, + 27, + 28, + 29, + 30 ], - "starting_column": 9, - "ending_column": 46 + "starting_column": 5, + "ending_column": 6 }, "type_specific_fields": { "parent": { - "type": "function", - "name": "bad0", + "type": "contract", + "name": "ReentrancyWrite", "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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, @@ -321,7 +357,67 @@ 20, 21, 22, - 23 + 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 @@ -333,9 +429,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -382,12 +478,12 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { @@ -396,9 +492,9 @@ "source_mapping": { "start": 678, "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 29 @@ -413,9 +509,9 @@ "source_mapping": { "start": 530, "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 25, @@ -435,9 +531,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -489,25 +585,24 @@ } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "notCalled = false", + "name": "(success) = msg.sender.call()", "source_mapping": { - "start": 500, - "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ - 22 + 18 ], "starting_column": 9, - "ending_column": 26 + "ending_column": 46 }, "type_specific_fields": { "parent": { @@ -516,9 +611,9 @@ "source_mapping": { "start": 336, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 16, @@ -540,9 +635,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -594,139 +689,43 @@ } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "notCalled" + "underlying_type": "external_calls_sending_eth" } - } - ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#27)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29)\n\t\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#29)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L27)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L29)\n\t\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L29)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30", - "id": "80cbbc2ca9b1ec618f677d49ad8c55c3e7b458a8f8f2d5083e5388dabf526d6f", - "check": "reentrancy-no-eth", - "impact": "Medium", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "function", - "name": "bad0", + "type": "node", + "name": "bad0()", "source_mapping": { - "start": 336, - "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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 + 29 ], - "starting_column": 5, - "ending_column": 6 + "starting_column": 9, + "ending_column": 15 }, "type_specific_fields": { "parent": { - "type": "contract", - "name": "ReentrancyWrite", + "type": "function", + "name": "bad1", "source_mapping": { - "start": 28, - "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "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/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", - "is_dependency": false, - "lines": [ - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23 + 30 ], "starting_column": 5, "ending_column": 6 @@ -738,9 +737,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -787,12 +786,13 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "variables_written", + "variable_name": "notCalled" } }, { @@ -801,9 +801,9 @@ "source_mapping": { "start": 500, "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 22 @@ -818,9 +818,9 @@ "source_mapping": { "start": 336, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 16, @@ -842,9 +842,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -901,10 +901,10 @@ } } ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.5.16/reentrancy-write.sol#L16-L23", - "id": "aec3401a9ebdcd0961e5a0f704379be83fc18e5c8ea5e98641b0ea1783184a3d", + "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" diff --git a/tests/detectors/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol.0.6.11.ReentrancyReadBeforeWritten.json rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol.0.6.11.ReentrancyReadBeforeWritten.json diff --git a/tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol.0.6.11.ReentrancyReadBeforeWritten.json index b414073d15..9615749d65 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 336, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 16, @@ -32,9 +32,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -90,9 +90,9 @@ "source_mapping": { "start": 397, "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 18 @@ -107,9 +107,9 @@ "source_mapping": { "start": 336, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 16, @@ -131,9 +131,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -194,9 +194,9 @@ "source_mapping": { "start": 500, "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 22 @@ -211,9 +211,9 @@ "source_mapping": { "start": 336, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 16, @@ -235,9 +235,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -294,10 +294,10 @@ } } ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23", - "id": "92d6df62568c8094a9c5cd5c7e4c7162054281244d3d3a1d4efe7df14d18a35a", + "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" @@ -310,9 +310,9 @@ "source_mapping": { "start": 530, "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 25, @@ -332,9 +332,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -390,9 +390,9 @@ "source_mapping": { "start": 605, "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 27 @@ -407,9 +407,9 @@ "source_mapping": { "start": 530, "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 25, @@ -429,9 +429,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -492,9 +492,9 @@ "source_mapping": { "start": 678, "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 29 @@ -509,9 +509,9 @@ "source_mapping": { "start": 530, "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 25, @@ -531,9 +531,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -594,9 +594,9 @@ "source_mapping": { "start": 397, "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 18 @@ -611,9 +611,9 @@ "source_mapping": { "start": 336, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 16, @@ -635,9 +635,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -698,9 +698,9 @@ "source_mapping": { "start": 678, "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 29 @@ -715,9 +715,9 @@ "source_mapping": { "start": 530, "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 25, @@ -737,9 +737,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -801,9 +801,9 @@ "source_mapping": { "start": 500, "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 22 @@ -818,9 +818,9 @@ "source_mapping": { "start": 336, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 16, @@ -842,9 +842,9 @@ "source_mapping": { "start": 28, "length": 859, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol", "is_dependency": false, "lines": [ 3, @@ -901,10 +901,10 @@ } } ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#27)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#29)\n\t\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#18)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#29)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#22)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#4) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#16-23)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#25-30)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#7-14)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#32-39)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L27)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L29)\n\t\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L18)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L29)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L22)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L4) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L16-L23)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L7-L14)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L32-L39)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.6.11/reentrancy-write.sol#L25-L30", - "id": "b0372b9d2879e62eb13c185a89ae1e80653ef3339cb5521630a9717e1592100e", + "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" diff --git a/tests/detectors/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol.0.7.6.ReentrancyReadBeforeWritten.json rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol.0.7.6.ReentrancyReadBeforeWritten.json diff --git a/tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol.0.7.6.ReentrancyReadBeforeWritten.json index 7c01c5ce05..3105cb9a14 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 383, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 20, @@ -32,9 +32,9 @@ "source_mapping": { "start": 82, "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 7, @@ -90,9 +90,9 @@ "source_mapping": { "start": 444, "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 22 @@ -107,9 +107,9 @@ "source_mapping": { "start": 383, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 20, @@ -131,9 +131,9 @@ "source_mapping": { "start": 82, "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 7, @@ -194,9 +194,9 @@ "source_mapping": { "start": 547, "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 26 @@ -211,9 +211,9 @@ "source_mapping": { "start": 383, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 20, @@ -235,9 +235,9 @@ "source_mapping": { "start": 82, "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 7, @@ -294,10 +294,10 @@ } } ], - "description": "Reentrancy in ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#22)\n\tState variables written after the call(s):\n\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#26)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#11-18)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#36-43)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L22)\n\tState variables written after the call(s):\n\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L26)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L8) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L11-L18)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L36-L43)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27", - "id": "24a6dbb0286f86f1dac424bdc447262dcbfda1a1c637c4c0f21885b82eb9af24", + "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" @@ -310,9 +310,9 @@ "source_mapping": { "start": 577, "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 29, @@ -332,9 +332,9 @@ "source_mapping": { "start": 82, "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 7, @@ -390,9 +390,9 @@ "source_mapping": { "start": 652, "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 31 @@ -407,9 +407,9 @@ "source_mapping": { "start": 577, "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 29, @@ -429,9 +429,9 @@ "source_mapping": { "start": 82, "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 7, @@ -492,9 +492,9 @@ "source_mapping": { "start": 725, "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 33 @@ -509,9 +509,9 @@ "source_mapping": { "start": 577, "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 29, @@ -531,9 +531,9 @@ "source_mapping": { "start": 82, "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 7, @@ -594,9 +594,9 @@ "source_mapping": { "start": 444, "length": 37, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 22 @@ -611,9 +611,9 @@ "source_mapping": { "start": 383, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 20, @@ -635,9 +635,9 @@ "source_mapping": { "start": 82, "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 7, @@ -698,9 +698,9 @@ "source_mapping": { "start": 725, "length": 6, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 33 @@ -715,9 +715,9 @@ "source_mapping": { "start": 577, "length": 161, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 29, @@ -737,9 +737,9 @@ "source_mapping": { "start": 82, "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 7, @@ -801,9 +801,9 @@ "source_mapping": { "start": 547, "length": 17, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 26 @@ -818,9 +818,9 @@ "source_mapping": { "start": 383, "length": 188, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 20, @@ -842,9 +842,9 @@ "source_mapping": { "start": 82, "length": 852, - "filename_relative": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol", + "filename_short": "tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol", "is_dependency": false, "lines": [ 7, @@ -901,10 +901,10 @@ } } ], - "description": "Reentrancy in ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34):\n\tExternal calls:\n\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#31)\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#33)\n\t\t- (success) = msg.sender.call() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#22)\n\tState variables written after the call(s):\n\t- bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#33)\n\t\t- notCalled = false (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#26)\n\tReentrancyWrite.notCalled (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#8) can be used in cross function reentrancies:\n\t- ReentrancyWrite.bad0() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#20-27)\n\t- ReentrancyWrite.bad1(address) (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#29-34)\n\t- ReentrancyWrite.constructor(address) (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#11-18)\n\t- ReentrancyWrite.good() (tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#36-43)\n", - "markdown": "Reentrancy in [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34):\n\tExternal calls:\n\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L31)\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L33)\n\t\t- [(success) = msg.sender.call()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L22)\n\tState variables written after the call(s):\n\t- [bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L33)\n\t\t- [notCalled = false](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L26)\n\t[ReentrancyWrite.notCalled](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L8) can be used in cross function reentrancies:\n\t- [ReentrancyWrite.bad0()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L20-L27)\n\t- [ReentrancyWrite.bad1(address)](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34)\n\t- [ReentrancyWrite.constructor(address)](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L11-L18)\n\t- [ReentrancyWrite.good()](tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L36-L43)\n", - "first_markdown_element": "tests/detectors/reentrancy-no-eth/0.7.6/reentrancy-write.sol#L29-L34", - "id": "e8259d1bbe21b2c12ea23f8ed1c67b9a8f63a1828d3b91db1f7b78ddd43ef7d6", + "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" diff --git a/tests/detectors/reentrancy-no-eth/0.8.2/comment.sol b/tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.8.2/comment.sol rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/reentrancy-no-eth/0.8.2/comment.sol.0.8.2.ReentrancyReadBeforeWritten.json rename to tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol.0.8.2.ReentrancyReadBeforeWritten.json diff --git a/tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol b/tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol similarity index 100% rename from tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol rename to tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol diff --git a/tests/detectors/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 similarity index 59% rename from tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json rename to tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol.0.4.21.ReusedBaseConstructor.json index 973cb0b529..1e736582d5 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 295, "length": 77, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 26, @@ -29,9 +29,9 @@ "source_mapping": { "start": 176, "length": 42, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 15, @@ -48,9 +48,9 @@ "source_mapping": { "start": 155, "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 14, @@ -72,9 +72,9 @@ "source_mapping": { "start": 295, "length": 77, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 26, @@ -93,9 +93,9 @@ "source_mapping": { "start": 222, "length": 71, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -109,9 +109,9 @@ } } ], - "description": "E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor C.C(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [C.C(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30", + "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", @@ -125,9 +125,9 @@ "source_mapping": { "start": 295, "length": 77, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 26, @@ -146,9 +146,9 @@ "source_mapping": { "start": 34, "length": 50, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 3, @@ -165,9 +165,9 @@ "source_mapping": { "start": 0, "length": 86, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 1, @@ -190,9 +190,9 @@ "source_mapping": { "start": 155, "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 14, @@ -211,9 +211,9 @@ "source_mapping": { "start": 88, "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 8, @@ -227,9 +227,9 @@ } } ], - "description": "E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30", + "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", @@ -243,9 +243,9 @@ "source_mapping": { "start": 375, "length": 57, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 33, @@ -265,9 +265,9 @@ "source_mapping": { "start": 34, "length": 50, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 3, @@ -284,9 +284,9 @@ "source_mapping": { "start": 0, "length": 86, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 1, @@ -309,9 +309,9 @@ "source_mapping": { "start": 375, "length": 57, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 33, @@ -331,9 +331,9 @@ "source_mapping": { "start": 88, "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 8, @@ -347,9 +347,9 @@ } } ], - "description": "F (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From F (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#33-38) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[F](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [F](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L33-L38", + "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", @@ -363,9 +363,9 @@ "source_mapping": { "start": 222, "length": 71, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -384,9 +384,9 @@ "source_mapping": { "start": 34, "length": 50, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 3, @@ -403,9 +403,9 @@ "source_mapping": { "start": 0, "length": 86, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 1, @@ -428,9 +428,9 @@ "source_mapping": { "start": 155, "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 14, @@ -449,9 +449,9 @@ "source_mapping": { "start": 88, "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 8, @@ -465,9 +465,9 @@ } } ], - "description": "D (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[D](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24", + "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", @@ -481,9 +481,9 @@ "source_mapping": { "start": 155, "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 14, @@ -502,9 +502,9 @@ "source_mapping": { "start": 34, "length": 50, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 3, @@ -521,9 +521,9 @@ "source_mapping": { "start": 0, "length": 86, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 1, @@ -546,9 +546,9 @@ "source_mapping": { "start": 155, "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 14, @@ -567,9 +567,9 @@ "source_mapping": { "start": 88, "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 8, @@ -583,9 +583,9 @@ } } ], - "description": "C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) gives base constructor A.A(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) gives base constructor [A.A(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L14-L18", + "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", @@ -599,9 +599,9 @@ "source_mapping": { "start": 295, "length": 77, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 26, @@ -620,9 +620,9 @@ "source_mapping": { "start": 109, "length": 42, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 9, @@ -639,9 +639,9 @@ "source_mapping": { "start": 88, "length": 65, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 8, @@ -663,9 +663,9 @@ "source_mapping": { "start": 295, "length": 77, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 26, @@ -684,9 +684,9 @@ "source_mapping": { "start": 222, "length": 71, - "filename_relative": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -700,9 +700,9 @@ } } ], - "description": "E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) gives base constructor B.B(uint256) (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) gives base constructor [B.B(uint256)](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.21/reused_base_constructor.sol#L26-L30", + "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", diff --git a/tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol b/tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol similarity index 100% rename from tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol rename to tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol diff --git a/tests/detectors/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 similarity index 59% rename from tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json rename to tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol.0.4.25.ReusedBaseConstructor.json index c5c42e83a3..0e79524793 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 225, "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -29,9 +29,9 @@ "source_mapping": { "start": 34, "length": 51, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 3, @@ -48,9 +48,9 @@ "source_mapping": { "start": 0, "length": 87, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 1, @@ -73,9 +73,9 @@ "source_mapping": { "start": 157, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 14, @@ -94,9 +94,9 @@ "source_mapping": { "start": 89, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 8, @@ -110,9 +110,9 @@ } } ], - "description": "D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24", + "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", @@ -126,9 +126,9 @@ "source_mapping": { "start": 157, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 14, @@ -147,9 +147,9 @@ "source_mapping": { "start": 34, "length": 51, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 3, @@ -166,9 +166,9 @@ "source_mapping": { "start": 0, "length": 87, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 1, @@ -191,9 +191,9 @@ "source_mapping": { "start": 157, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 14, @@ -212,9 +212,9 @@ "source_mapping": { "start": 89, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 8, @@ -228,9 +228,9 @@ } } ], - "description": "C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18", + "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", @@ -244,9 +244,9 @@ "source_mapping": { "start": 299, "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 26, @@ -265,9 +265,9 @@ "source_mapping": { "start": 178, "length": 43, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 15, @@ -284,9 +284,9 @@ "source_mapping": { "start": 157, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 14, @@ -308,9 +308,9 @@ "source_mapping": { "start": 299, "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 26, @@ -329,9 +329,9 @@ "source_mapping": { "start": 225, "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -350,9 +350,9 @@ "source_mapping": { "start": 225, "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -366,9 +366,9 @@ } } ], - "description": "E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor C.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [C.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30", + "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", @@ -382,9 +382,9 @@ "source_mapping": { "start": 225, "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -403,9 +403,9 @@ "source_mapping": { "start": 110, "length": 43, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 9, @@ -422,9 +422,9 @@ "source_mapping": { "start": 89, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 8, @@ -446,9 +446,9 @@ "source_mapping": { "start": 225, "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -467,9 +467,9 @@ "source_mapping": { "start": 225, "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -483,9 +483,9 @@ } } ], - "description": "D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor B.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [B.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24", + "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", @@ -499,9 +499,9 @@ "source_mapping": { "start": 225, "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -520,9 +520,9 @@ "source_mapping": { "start": 178, "length": 43, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 15, @@ -539,9 +539,9 @@ "source_mapping": { "start": 157, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 14, @@ -563,9 +563,9 @@ "source_mapping": { "start": 225, "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -584,9 +584,9 @@ "source_mapping": { "start": 225, "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -600,9 +600,9 @@ } } ], - "description": "D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) gives base constructor C.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#15-17) arguments more than once in inheritance hierarchy:\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) gives base constructor [C.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L15-L17) arguments more than once in inheritance hierarchy:\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24", + "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", @@ -616,9 +616,9 @@ "source_mapping": { "start": 380, "length": 58, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 33, @@ -638,9 +638,9 @@ "source_mapping": { "start": 34, "length": 51, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 3, @@ -657,9 +657,9 @@ "source_mapping": { "start": 0, "length": 87, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 1, @@ -682,9 +682,9 @@ "source_mapping": { "start": 380, "length": 58, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 33, @@ -704,9 +704,9 @@ "source_mapping": { "start": 89, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 8, @@ -720,9 +720,9 @@ } } ], - "description": "F (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From F (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#33-38) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[F](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [F](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L33-L38", + "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", @@ -736,9 +736,9 @@ "source_mapping": { "start": 299, "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 26, @@ -757,9 +757,9 @@ "source_mapping": { "start": 110, "length": 43, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 9, @@ -776,9 +776,9 @@ "source_mapping": { "start": 89, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 8, @@ -800,9 +800,9 @@ "source_mapping": { "start": 299, "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 26, @@ -821,9 +821,9 @@ "source_mapping": { "start": 299, "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 26, @@ -842,9 +842,9 @@ "source_mapping": { "start": 225, "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -863,9 +863,9 @@ "source_mapping": { "start": 225, "length": 72, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -879,9 +879,9 @@ } } ], - "description": "E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor B.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#9-11) arguments more than once in inheritance hierarchy:\n\t- From E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) contract definition\n\t- From E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) constructor definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) contract definition\n\t- From D (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#20-24) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [B.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L9-L11) arguments more than once in inheritance hierarchy:\n\t- From [E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) contract definition\n\t- From [E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) constructor definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) contract definition\n\t- From [D](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L20-L24) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30", + "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", @@ -895,9 +895,9 @@ "source_mapping": { "start": 299, "length": 78, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 26, @@ -916,9 +916,9 @@ "source_mapping": { "start": 34, "length": 51, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 3, @@ -935,9 +935,9 @@ "source_mapping": { "start": 0, "length": 87, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 1, @@ -960,9 +960,9 @@ "source_mapping": { "start": 157, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 14, @@ -981,9 +981,9 @@ "source_mapping": { "start": 89, "length": 66, - "filename_relative": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_relative": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol", "is_dependency": false, "lines": [ 8, @@ -997,9 +997,9 @@ } } ], - "description": "E (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#26-30) gives base constructor A.constructor(uint256) (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#3-5) arguments more than once in inheritance hierarchy:\n\t- From C (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#14-18) constructor definition\n\t- From B (tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#8-12) constructor definition\n", - "markdown": "[E](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30) gives base constructor [A.constructor(uint256)](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L3-L5) arguments more than once in inheritance hierarchy:\n\t- From [C](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L14-L18) constructor definition\n\t- From [B](tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L8-L12) constructor definition\n", - "first_markdown_element": "tests/detectors/reused-constructor/0.4.25/reused_base_constructor.sol#L26-L30", + "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", diff --git a/tests/detectors/rtlo/0.4.25/right_to_left_override.sol b/tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol similarity index 100% rename from tests/detectors/rtlo/0.4.25/right_to_left_override.sol rename to tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol 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 new file mode 100644 index 0000000000..f274accdf8 --- /dev/null +++ b/tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol.0.4.25.RightToLeftOverride.json @@ -0,0 +1,32 @@ +[ + [ + { + "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/detectors/rtlo/0.5.16/right_to_left_override.sol b/tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol similarity index 100% rename from tests/detectors/rtlo/0.5.16/right_to_left_override.sol rename to tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol 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 new file mode 100644 index 0000000000..6bd7bd6991 --- /dev/null +++ b/tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol.0.5.16.RightToLeftOverride.json @@ -0,0 +1,32 @@ +[ + [ + { + "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/detectors/rtlo/0.6.11/right_to_left_override.sol b/tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol similarity index 100% rename from tests/detectors/rtlo/0.6.11/right_to_left_override.sol rename to tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol 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 new file mode 100644 index 0000000000..3dbac6de82 --- /dev/null +++ b/tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol.0.6.11.RightToLeftOverride.json @@ -0,0 +1,32 @@ +[ + [ + { + "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/detectors/rtlo/0.8.0/unicode_direction_override.sol b/tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol similarity index 100% rename from tests/detectors/rtlo/0.8.0/unicode_direction_override.sol rename to tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol 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 new file mode 100644 index 0000000000..0dc7791463 --- /dev/null +++ b/tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol.0.8.0.RightToLeftOverride.json @@ -0,0 +1,88 @@ +[ + [ + { + "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/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol b/tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol similarity index 100% rename from tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol rename to tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol diff --git a/tests/detectors/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 similarity index 64% rename from tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json rename to tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol.0.4.25.ShadowingAbstractDetection.json index 9cbd66d074..d9f03c8a35 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 92, "length": 13, - "filename_relative": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", "is_dependency": false, "lines": [ 7 @@ -25,9 +25,9 @@ "source_mapping": { "start": 46, "length": 63, - "filename_relative": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", "is_dependency": false, "lines": [ 6, @@ -47,9 +47,9 @@ "source_mapping": { "start": 27, "length": 13, - "filename_relative": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", "is_dependency": false, "lines": [ 2 @@ -64,9 +64,9 @@ "source_mapping": { "start": 0, "length": 44, - "filename_relative": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol", "is_dependency": false, "lines": [ 1, @@ -81,9 +81,9 @@ } } ], - "description": "DerivedContract.owner (tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#7) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#L7) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#L2)\n", - "first_markdown_element": "tests/detectors/shadowing-abstract/0.4.25/shadowing_abstract.sol#L7", + "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", diff --git a/tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol b/tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol similarity index 100% rename from tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol rename to tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol diff --git a/tests/detectors/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 similarity index 64% rename from tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json rename to tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol.0.5.16.ShadowingAbstractDetection.json index c5cd1b3d75..038141f6b8 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 92, "length": 13, - "filename_relative": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", "is_dependency": false, "lines": [ 7 @@ -25,9 +25,9 @@ "source_mapping": { "start": 46, "length": 63, - "filename_relative": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", "is_dependency": false, "lines": [ 6, @@ -47,9 +47,9 @@ "source_mapping": { "start": 27, "length": 13, - "filename_relative": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", "is_dependency": false, "lines": [ 2 @@ -64,9 +64,9 @@ "source_mapping": { "start": 0, "length": 44, - "filename_relative": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol", "is_dependency": false, "lines": [ 1, @@ -81,9 +81,9 @@ } } ], - "description": "DerivedContract.owner (tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#7) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#L7) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#L2)\n", - "first_markdown_element": "tests/detectors/shadowing-abstract/0.5.16/shadowing_abstract.sol#L7", + "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", diff --git a/tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol b/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol similarity index 100% rename from tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol rename to tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol diff --git a/tests/detectors/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 similarity index 64% rename from tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol.0.7.5.ShadowingAbstractDetection.json rename to tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol.0.7.5.ShadowingAbstractDetection.json index 97c3998d4c..a42cbaf6ab 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 127, "length": 24, - "filename_relative": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", "is_dependency": false, "lines": [ 7 @@ -25,9 +25,9 @@ "source_mapping": { "start": 81, "length": 73, - "filename_relative": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", "is_dependency": false, "lines": [ 6, @@ -46,9 +46,9 @@ "source_mapping": { "start": 51, "length": 25, - "filename_relative": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", "is_dependency": false, "lines": [ 3 @@ -63,9 +63,9 @@ "source_mapping": { "start": 24, "length": 55, - "filename_relative": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol", "is_dependency": false, "lines": [ 2, @@ -79,9 +79,9 @@ } } ], - "description": "DerivedContract.__gap (tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol#7) shadows:\n\t- BaseContract.__gap (tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol#3)\n", - "markdown": "[DerivedContract.__gap](tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol#L7) shadows:\n\t- [BaseContract.__gap](tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol#L3)\n", - "first_markdown_element": "tests/detectors/shadowing-abstract/0.7.5/public_gap_variable.sol#L7", + "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", diff --git a/tests/detectors/shadowing-abstract/0.7.5/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-abstract/0.7.5/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/shadowing-abstract/0.7.5/shadowing_state_variable.sol.0.7.5.ShadowingAbstractDetection.json rename to tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol.0.7.5.ShadowingAbstractDetection.json diff --git a/tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol b/tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol similarity index 100% rename from tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol rename to tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol diff --git a/tests/detectors/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 similarity index 68% rename from tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json rename to tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol.0.4.25.BuiltinSymbolShadowing.json index 801bcc38b3..a9e1bc63f7 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 527, "length": 15, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 32 @@ -25,9 +25,9 @@ "source_mapping": { "start": 504, "length": 42, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 31, @@ -42,9 +42,9 @@ } } ], - "description": "Reserved.mutable (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#32) (state variable) shadows built-in symbol\"\n", - "markdown": "[Reserved.mutable](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L32) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L32", + "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", @@ -58,9 +58,9 @@ "source_mapping": { "start": 170, "length": 18, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 11 @@ -75,9 +75,9 @@ "source_mapping": { "start": 122, "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 10, @@ -95,9 +95,9 @@ } } ], - "description": "ExtendedContract.ecrecover (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.ecrecover](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L11) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L11", + "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", @@ -111,9 +111,9 @@ "source_mapping": { "start": 449, "length": 14, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 25 @@ -128,9 +128,9 @@ "source_mapping": { "start": 380, "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 23, @@ -150,9 +150,9 @@ "source_mapping": { "start": 263, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -178,9 +178,9 @@ } } ], - "description": "FurtherExtendedContract.require().keccak256 (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().keccak256](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L25) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L25", + "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", @@ -194,9 +194,9 @@ "source_mapping": { "start": 365, "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 21 @@ -211,9 +211,9 @@ "source_mapping": { "start": 263, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -236,9 +236,9 @@ } } ], - "description": "FurtherExtendedContract.abi (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.abi](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L21) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L21", + "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", @@ -252,9 +252,9 @@ "source_mapping": { "start": 54, "length": 14, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 4 @@ -269,9 +269,9 @@ "source_mapping": { "start": 26, "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 3, @@ -288,9 +288,9 @@ } } ], - "description": "BaseContract.blockhash (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.blockhash](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L4) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L4", + "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", @@ -304,9 +304,9 @@ "source_mapping": { "start": 346, "length": 13, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 20 @@ -321,9 +321,9 @@ "source_mapping": { "start": 263, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -346,9 +346,9 @@ } } ], - "description": "FurtherExtendedContract.this (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.this](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L20) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L20", + "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", @@ -362,9 +362,9 @@ "source_mapping": { "start": 74, "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 5 @@ -379,9 +379,9 @@ "source_mapping": { "start": 26, "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 3, @@ -398,9 +398,9 @@ } } ], - "description": "BaseContract.now (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.now](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L5) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L5", + "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", @@ -414,9 +414,9 @@ "source_mapping": { "start": 89, "length": 29, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 7 @@ -431,9 +431,9 @@ "source_mapping": { "start": 26, "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 3, @@ -451,9 +451,9 @@ } } ], - "description": "BaseContractrevert(bool) (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol\"\n", - "markdown": "[BaseContractrevert(bool)](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L7) (event) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L7", + "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", @@ -467,9 +467,9 @@ "source_mapping": { "start": 244, "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 14 @@ -484,9 +484,9 @@ "source_mapping": { "start": 195, "length": 64, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 13, @@ -503,9 +503,9 @@ "source_mapping": { "start": 122, "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 10, @@ -526,9 +526,9 @@ } } ], - "description": "ExtendedContract.assert(bool).msg (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool).msg](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L14) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L14", + "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", @@ -542,9 +542,9 @@ "source_mapping": { "start": 195, "length": 64, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 13, @@ -561,9 +561,9 @@ "source_mapping": { "start": 122, "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 10, @@ -582,9 +582,9 @@ } } ], - "description": "ExtendedContract.assert(bool) (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool)](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L13-L15) (function) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L13-L15", + "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", @@ -598,9 +598,9 @@ "source_mapping": { "start": 473, "length": 9, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 26 @@ -615,9 +615,9 @@ "source_mapping": { "start": 380, "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 23, @@ -637,9 +637,9 @@ "source_mapping": { "start": 263, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -665,9 +665,9 @@ } } ], - "description": "FurtherExtendedContract.require().sha3 (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().sha3](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L26) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L26", + "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", @@ -681,9 +681,9 @@ "source_mapping": { "start": 322, "length": 18, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 19 @@ -698,9 +698,9 @@ "source_mapping": { "start": 263, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -723,9 +723,9 @@ } } ], - "description": "FurtherExtendedContract.blockhash (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.blockhash](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L19) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L19", + "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", @@ -739,9 +739,9 @@ "source_mapping": { "start": 380, "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 23, @@ -761,9 +761,9 @@ "source_mapping": { "start": 263, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -787,9 +787,9 @@ } } ], - "description": "FurtherExtendedContract.require() (tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require()](tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L23-L28) (modifier) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol#L23-L28", + "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", diff --git a/tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol b/tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol similarity index 100% rename from tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol rename to tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol diff --git a/tests/detectors/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 similarity index 68% rename from tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json rename to tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol.0.5.16.BuiltinSymbolShadowing.json index 6fa7f24131..e12347591d 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 173, "length": 18, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 11 @@ -25,9 +25,9 @@ "source_mapping": { "start": 125, "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 10, @@ -45,9 +45,9 @@ } } ], - "description": "ExtendedContract.ecrecover (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#11) (state variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.ecrecover](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L11) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L11", + "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", @@ -61,9 +61,9 @@ "source_mapping": { "start": 452, "length": 14, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 25 @@ -78,9 +78,9 @@ "source_mapping": { "start": 383, "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 23, @@ -100,9 +100,9 @@ "source_mapping": { "start": 266, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -128,9 +128,9 @@ } } ], - "description": "FurtherExtendedContract.require().keccak256 (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#25) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().keccak256](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L25) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L25", + "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", @@ -144,9 +144,9 @@ "source_mapping": { "start": 368, "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 21 @@ -161,9 +161,9 @@ "source_mapping": { "start": 266, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -186,9 +186,9 @@ } } ], - "description": "FurtherExtendedContract.abi (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#21) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.abi](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L21) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L21", + "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", @@ -202,9 +202,9 @@ "source_mapping": { "start": 57, "length": 14, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 4 @@ -219,9 +219,9 @@ "source_mapping": { "start": 29, "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 3, @@ -238,9 +238,9 @@ } } ], - "description": "BaseContract.blockhash (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#4) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.blockhash](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L4) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L4", + "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", @@ -254,9 +254,9 @@ "source_mapping": { "start": 349, "length": 13, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 20 @@ -271,9 +271,9 @@ "source_mapping": { "start": 266, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -296,9 +296,9 @@ } } ], - "description": "FurtherExtendedContract.this (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#20) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.this](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L20) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L20", + "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", @@ -312,9 +312,9 @@ "source_mapping": { "start": 77, "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 5 @@ -329,9 +329,9 @@ "source_mapping": { "start": 29, "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 3, @@ -348,9 +348,9 @@ } } ], - "description": "BaseContract.now (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#5) (state variable) shadows built-in symbol\"\n", - "markdown": "[BaseContract.now](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L5) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L5", + "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", @@ -364,9 +364,9 @@ "source_mapping": { "start": 92, "length": 29, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 7 @@ -381,9 +381,9 @@ "source_mapping": { "start": 29, "length": 94, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 3, @@ -401,9 +401,9 @@ } } ], - "description": "BaseContractrevert(bool) (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#7) (event) shadows built-in symbol\"\n", - "markdown": "[BaseContractrevert(bool)](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L7) (event) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L7", + "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", @@ -417,9 +417,9 @@ "source_mapping": { "start": 247, "length": 8, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 14 @@ -434,9 +434,9 @@ "source_mapping": { "start": 198, "length": 64, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 13, @@ -453,9 +453,9 @@ "source_mapping": { "start": 125, "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 10, @@ -476,9 +476,9 @@ } } ], - "description": "ExtendedContract.assert(bool).msg (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#14) (local variable) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool).msg](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L14) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L14", + "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", @@ -492,9 +492,9 @@ "source_mapping": { "start": 198, "length": 64, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 13, @@ -511,9 +511,9 @@ "source_mapping": { "start": 125, "length": 139, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 10, @@ -532,9 +532,9 @@ } } ], - "description": "ExtendedContract.assert(bool) (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#13-15) (function) shadows built-in symbol\"\n", - "markdown": "[ExtendedContract.assert(bool)](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L13-L15) (function) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L13-L15", + "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", @@ -548,9 +548,9 @@ "source_mapping": { "start": 476, "length": 9, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 26 @@ -565,9 +565,9 @@ "source_mapping": { "start": 383, "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 23, @@ -587,9 +587,9 @@ "source_mapping": { "start": 266, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -615,9 +615,9 @@ } } ], - "description": "FurtherExtendedContract.require().sha3 (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#26) (local variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require().sha3](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L26) (local variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L26", + "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", @@ -631,9 +631,9 @@ "source_mapping": { "start": 325, "length": 18, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 19 @@ -648,9 +648,9 @@ "source_mapping": { "start": 266, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -673,9 +673,9 @@ } } ], - "description": "FurtherExtendedContract.blockhash (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#19) (state variable) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.blockhash](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L19) (state variable) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L19", + "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", @@ -689,9 +689,9 @@ "source_mapping": { "start": 383, "length": 120, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 23, @@ -711,9 +711,9 @@ "source_mapping": { "start": 266, "length": 239, - "filename_relative": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol", "is_dependency": false, "lines": [ 18, @@ -737,9 +737,9 @@ } } ], - "description": "FurtherExtendedContract.require() (tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#23-28) (modifier) shadows built-in symbol\"\n", - "markdown": "[FurtherExtendedContract.require()](tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L23-L28) (modifier) shadows built-in symbol\"\n", - "first_markdown_element": "tests/detectors/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol#L23-L28", + "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", diff --git a/tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol b/tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol similarity index 100% rename from tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol rename to tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json rename to tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol.0.4.25.LocalShadowing.json index e12b5f26df..01d1ce42cb 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 376, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -25,9 +25,9 @@ "source_mapping": { "start": 351, "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -42,9 +42,9 @@ "source_mapping": { "start": 197, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -74,9 +74,9 @@ "source_mapping": { "start": 256, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 17 @@ -91,9 +91,9 @@ "source_mapping": { "start": 197, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -120,9 +120,9 @@ "source_mapping": { "start": 133, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 9 @@ -137,9 +137,9 @@ "source_mapping": { "start": 85, "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 8, @@ -162,9 +162,9 @@ "source_mapping": { "start": 54, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 4 @@ -179,9 +179,9 @@ "source_mapping": { "start": 26, "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 3, @@ -196,9 +196,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#17) (state variable)\n\t- ExtendedContract.x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#9) (state variable)\n\t- BaseContract.x (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#4) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L17) (state variable)\n\t- [ExtendedContract.x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L9) (state variable)\n\t- [BaseContract.x](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L4) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", + "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", @@ -212,9 +212,9 @@ "source_mapping": { "start": 533, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 30 @@ -229,9 +229,9 @@ "source_mapping": { "start": 486, "length": 88, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 30, @@ -248,9 +248,9 @@ "source_mapping": { "start": 434, "length": 225, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -279,9 +279,9 @@ "source_mapping": { "start": 470, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 29 @@ -296,9 +296,9 @@ "source_mapping": { "start": 434, "length": 225, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -319,9 +319,9 @@ } } ], - "description": "LocalReturnVariables.shadowedState().state (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L30", + "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", @@ -335,9 +335,9 @@ "source_mapping": { "start": 398, "length": 5, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -352,9 +352,9 @@ "source_mapping": { "start": 351, "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -369,9 +369,9 @@ "source_mapping": { "start": 197, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -401,9 +401,9 @@ "source_mapping": { "start": 70, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 5 @@ -418,9 +418,9 @@ "source_mapping": { "start": 26, "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 3, @@ -435,9 +435,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", + "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", @@ -451,9 +451,9 @@ "source_mapping": { "start": 421, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -468,9 +468,9 @@ "source_mapping": { "start": 351, "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -485,9 +485,9 @@ "source_mapping": { "start": 197, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -517,9 +517,9 @@ "source_mapping": { "start": 183, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 13 @@ -534,9 +534,9 @@ "source_mapping": { "start": 85, "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 8, @@ -555,9 +555,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", + "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", @@ -571,9 +571,9 @@ "source_mapping": { "start": 413, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -588,9 +588,9 @@ "source_mapping": { "start": 351, "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -605,9 +605,9 @@ "source_mapping": { "start": 197, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -637,9 +637,9 @@ "source_mapping": { "start": 274, "length": 71, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 20, @@ -657,9 +657,9 @@ "source_mapping": { "start": 197, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -682,9 +682,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", + "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", @@ -698,9 +698,9 @@ "source_mapping": { "start": 405, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -715,9 +715,9 @@ "source_mapping": { "start": 351, "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -732,9 +732,9 @@ "source_mapping": { "start": 197, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -764,9 +764,9 @@ "source_mapping": { "start": 150, "length": 27, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 11 @@ -781,9 +781,9 @@ "source_mapping": { "start": 85, "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 8, @@ -802,9 +802,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.4.25/shadowing_local_variable.sol#L25", + "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", diff --git a/tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol b/tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol similarity index 100% rename from tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol rename to tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol diff --git a/tests/detectors/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 similarity index 72% rename from tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json rename to tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol.0.5.16.LocalShadowing.json index d4d54ad9d9..11c6159138 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 379, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -25,9 +25,9 @@ "source_mapping": { "start": 354, "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -42,9 +42,9 @@ "source_mapping": { "start": 200, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -74,9 +74,9 @@ "source_mapping": { "start": 259, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 17 @@ -91,9 +91,9 @@ "source_mapping": { "start": 200, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -120,9 +120,9 @@ "source_mapping": { "start": 136, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 9 @@ -137,9 +137,9 @@ "source_mapping": { "start": 88, "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 8, @@ -162,9 +162,9 @@ "source_mapping": { "start": 57, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 4 @@ -179,9 +179,9 @@ "source_mapping": { "start": 29, "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 3, @@ -196,9 +196,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#17) (state variable)\n\t- ExtendedContract.x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#9) (state variable)\n\t- BaseContract.x (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#4) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L17) (state variable)\n\t- [ExtendedContract.x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L9) (state variable)\n\t- [BaseContract.x](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L4) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", + "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", @@ -212,9 +212,9 @@ "source_mapping": { "start": 536, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 30 @@ -229,9 +229,9 @@ "source_mapping": { "start": 489, "length": 88, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 30, @@ -248,9 +248,9 @@ "source_mapping": { "start": 437, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -283,9 +283,9 @@ "source_mapping": { "start": 473, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 29 @@ -300,9 +300,9 @@ "source_mapping": { "start": 437, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -327,9 +327,9 @@ } } ], - "description": "LocalReturnVariables.shadowedState().state (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L30", + "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", @@ -343,9 +343,9 @@ "source_mapping": { "start": 401, "length": 5, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -360,9 +360,9 @@ "source_mapping": { "start": 354, "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -377,9 +377,9 @@ "source_mapping": { "start": 200, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -409,9 +409,9 @@ "source_mapping": { "start": 73, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 5 @@ -426,9 +426,9 @@ "source_mapping": { "start": 29, "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 3, @@ -443,9 +443,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", + "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", @@ -459,9 +459,9 @@ "source_mapping": { "start": 424, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -476,9 +476,9 @@ "source_mapping": { "start": 354, "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -493,9 +493,9 @@ "source_mapping": { "start": 200, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -525,9 +525,9 @@ "source_mapping": { "start": 186, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 13 @@ -542,9 +542,9 @@ "source_mapping": { "start": 88, "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 8, @@ -563,9 +563,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", + "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", @@ -579,9 +579,9 @@ "source_mapping": { "start": 416, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -596,9 +596,9 @@ "source_mapping": { "start": 354, "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -613,9 +613,9 @@ "source_mapping": { "start": 200, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -645,9 +645,9 @@ "source_mapping": { "start": 277, "length": 71, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 20, @@ -665,9 +665,9 @@ "source_mapping": { "start": 200, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -690,9 +690,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", + "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", @@ -706,9 +706,9 @@ "source_mapping": { "start": 653, "length": 14, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 34 @@ -723,9 +723,9 @@ "source_mapping": { "start": 583, "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 33, @@ -743,9 +743,9 @@ "source_mapping": { "start": 437, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -778,9 +778,9 @@ "source_mapping": { "start": 631, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 33 @@ -795,9 +795,9 @@ "source_mapping": { "start": 583, "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 33, @@ -815,9 +815,9 @@ "source_mapping": { "start": 437, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -845,9 +845,9 @@ } } ], - "description": "LocalReturnVariables.shadowedReturn().local_scope_0 (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#34) shadows:\n\t- LocalReturnVariables.shadowedReturn().local (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#33) (return variable)\n", - "markdown": "[LocalReturnVariables.shadowedReturn().local_scope_0](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L34) shadows:\n\t- [LocalReturnVariables.shadowedReturn().local](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L33) (return variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L34", + "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", @@ -861,9 +861,9 @@ "source_mapping": { "start": 408, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -878,9 +878,9 @@ "source_mapping": { "start": 354, "length": 79, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -895,9 +895,9 @@ "source_mapping": { "start": 200, "length": 235, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -927,9 +927,9 @@ "source_mapping": { "start": 153, "length": 27, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 11 @@ -944,9 +944,9 @@ "source_mapping": { "start": 88, "length": 110, - "filename_relative": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 8, @@ -965,9 +965,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.5.16/shadowing_local_variable.sol#L25", + "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", diff --git a/tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol b/tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol similarity index 100% rename from tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol rename to tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json rename to tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol.0.6.11.LocalShadowing.json index 2dc747505d..834751662f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 541, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 30 @@ -25,9 +25,9 @@ "source_mapping": { "start": 494, "length": 88, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 30, @@ -44,9 +44,9 @@ "source_mapping": { "start": 442, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -79,9 +79,9 @@ "source_mapping": { "start": 478, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 29 @@ -96,9 +96,9 @@ "source_mapping": { "start": 442, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -123,9 +123,9 @@ } } ], - "description": "LocalReturnVariables.shadowedState().state (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L30", + "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", @@ -139,9 +139,9 @@ "source_mapping": { "start": 406, "length": 5, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -156,9 +156,9 @@ "source_mapping": { "start": 357, "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -173,9 +173,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -205,9 +205,9 @@ "source_mapping": { "start": 73, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 5 @@ -222,9 +222,9 @@ "source_mapping": { "start": 29, "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 3, @@ -239,9 +239,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", + "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", @@ -255,9 +255,9 @@ "source_mapping": { "start": 429, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -272,9 +272,9 @@ "source_mapping": { "start": 357, "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -289,9 +289,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -321,9 +321,9 @@ "source_mapping": { "start": 187, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 13 @@ -338,9 +338,9 @@ "source_mapping": { "start": 88, "length": 111, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 8, @@ -359,9 +359,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", + "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", @@ -375,9 +375,9 @@ "source_mapping": { "start": 421, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -392,9 +392,9 @@ "source_mapping": { "start": 357, "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -409,9 +409,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -441,9 +441,9 @@ "source_mapping": { "start": 280, "length": 71, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 20, @@ -461,9 +461,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -486,9 +486,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", + "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", @@ -502,9 +502,9 @@ "source_mapping": { "start": 382, "length": 8, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -519,9 +519,9 @@ "source_mapping": { "start": 357, "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -536,9 +536,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -568,9 +568,9 @@ "source_mapping": { "start": 260, "length": 12, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 17 @@ -585,9 +585,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -609,9 +609,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).__x (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.__x (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#17) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).__x](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.__x](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L17) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", + "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", @@ -625,9 +625,9 @@ "source_mapping": { "start": 658, "length": 14, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 34 @@ -642,9 +642,9 @@ "source_mapping": { "start": 588, "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 33, @@ -662,9 +662,9 @@ "source_mapping": { "start": 442, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -697,9 +697,9 @@ "source_mapping": { "start": 636, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 33 @@ -714,9 +714,9 @@ "source_mapping": { "start": 588, "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 33, @@ -734,9 +734,9 @@ "source_mapping": { "start": 442, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -764,9 +764,9 @@ } } ], - "description": "LocalReturnVariables.shadowedReturn().local_scope_0 (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#34) shadows:\n\t- LocalReturnVariables.shadowedReturn().local (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#33) (return variable)\n", - "markdown": "[LocalReturnVariables.shadowedReturn().local_scope_0](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L34) shadows:\n\t- [LocalReturnVariables.shadowedReturn().local](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L33) (return variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L34", + "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", @@ -780,9 +780,9 @@ "source_mapping": { "start": 413, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -797,9 +797,9 @@ "source_mapping": { "start": 357, "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -814,9 +814,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -846,9 +846,9 @@ "source_mapping": { "start": 154, "length": 27, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 11 @@ -863,9 +863,9 @@ "source_mapping": { "start": 88, "length": 111, - "filename_relative": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 8, @@ -884,9 +884,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.6.11/shadowing_local_variable.sol#L25", + "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", diff --git a/tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol b/tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol similarity index 100% rename from tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol rename to tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json rename to tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol.0.7.6.LocalShadowing.json index e013dc0eb4..ebeacebd54 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 541, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 30 @@ -25,9 +25,9 @@ "source_mapping": { "start": 494, "length": 88, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 30, @@ -44,9 +44,9 @@ "source_mapping": { "start": 442, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -78,9 +78,9 @@ "source_mapping": { "start": 478, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 29 @@ -95,9 +95,9 @@ "source_mapping": { "start": 442, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -121,9 +121,9 @@ } } ], - "description": "LocalReturnVariables.shadowedState().state (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#30) shadows:\n\t- LocalReturnVariables.state (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#29) (state variable)\n", - "markdown": "[LocalReturnVariables.shadowedState().state](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L30) shadows:\n\t- [LocalReturnVariables.state](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L29) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L30", + "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", @@ -137,9 +137,9 @@ "source_mapping": { "start": 406, "length": 5, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -154,9 +154,9 @@ "source_mapping": { "start": 357, "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -171,9 +171,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -203,9 +203,9 @@ "source_mapping": { "start": 73, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 5 @@ -220,9 +220,9 @@ "source_mapping": { "start": 29, "length": 57, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 3, @@ -237,9 +237,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).y (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- BaseContract.y (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#5) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).y](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [BaseContract.y](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L5) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", + "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", @@ -253,9 +253,9 @@ "source_mapping": { "start": 429, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -270,9 +270,9 @@ "source_mapping": { "start": 357, "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -287,9 +287,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -319,9 +319,9 @@ "source_mapping": { "start": 187, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 13 @@ -336,9 +336,9 @@ "source_mapping": { "start": 88, "length": 111, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 8, @@ -357,9 +357,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).v (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContractv() (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#13) (event)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).v](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContractv()](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L13) (event)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", + "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", @@ -373,9 +373,9 @@ "source_mapping": { "start": 421, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -390,9 +390,9 @@ "source_mapping": { "start": 357, "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -407,9 +407,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -439,9 +439,9 @@ "source_mapping": { "start": 280, "length": 71, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 20, @@ -459,9 +459,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -484,9 +484,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).w (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.w() (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#20-23) (modifier)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).w](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.w()](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L20-L23) (modifier)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", + "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", @@ -500,9 +500,9 @@ "source_mapping": { "start": 382, "length": 8, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -517,9 +517,9 @@ "source_mapping": { "start": 357, "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -534,9 +534,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -566,9 +566,9 @@ "source_mapping": { "start": 260, "length": 12, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 17 @@ -583,9 +583,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -607,9 +607,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).__x (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- FurtherExtendedContract.__x (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#17) (state variable)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).__x](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [FurtherExtendedContract.__x](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L17) (state variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", + "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", @@ -623,9 +623,9 @@ "source_mapping": { "start": 658, "length": 14, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 34 @@ -640,9 +640,9 @@ "source_mapping": { "start": 588, "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 33, @@ -660,9 +660,9 @@ "source_mapping": { "start": 442, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -694,9 +694,9 @@ "source_mapping": { "start": 636, "length": 10, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 33 @@ -711,9 +711,9 @@ "source_mapping": { "start": 588, "length": 113, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 33, @@ -731,9 +731,9 @@ "source_mapping": { "start": 442, "length": 344, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 28, @@ -760,9 +760,9 @@ } } ], - "description": "LocalReturnVariables.shadowedReturn().local_scope_0 (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#34) shadows:\n\t- LocalReturnVariables.shadowedReturn().local (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#33) (return variable)\n", - "markdown": "[LocalReturnVariables.shadowedReturn().local_scope_0](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L34) shadows:\n\t- [LocalReturnVariables.shadowedReturn().local](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L33) (return variable)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L34", + "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", @@ -776,9 +776,9 @@ "source_mapping": { "start": 413, "length": 6, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -793,9 +793,9 @@ "source_mapping": { "start": 357, "length": 81, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 25 @@ -810,9 +810,9 @@ "source_mapping": { "start": 201, "length": 239, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 16, @@ -842,9 +842,9 @@ "source_mapping": { "start": 154, "length": 27, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 11 @@ -859,9 +859,9 @@ "source_mapping": { "start": 88, "length": 111, - "filename_relative": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol", "is_dependency": false, "lines": [ 8, @@ -880,9 +880,9 @@ } } ], - "description": "FurtherExtendedContract.shadowingParent(uint256).z (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#25) shadows:\n\t- ExtendedContract.z() (tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#11) (function)\n", - "markdown": "[FurtherExtendedContract.shadowingParent(uint256).z](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25) shadows:\n\t- [ExtendedContract.z()](tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L11) (function)\n", - "first_markdown_element": "tests/detectors/shadowing-local/0.7.6/shadowing_local_variable.sol#L25", + "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", diff --git a/tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json rename to tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol.0.4.25.StateShadowing.json index 648750110e..7a085c8ba6 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 172, "length": 13, - "filename_relative": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", "is_dependency": false, "lines": [ 12 @@ -25,9 +25,9 @@ "source_mapping": { "start": 126, "length": 210, - "filename_relative": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", "is_dependency": false, "lines": [ 11, @@ -54,9 +54,9 @@ "source_mapping": { "start": 27, "length": 13, - "filename_relative": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", "is_dependency": false, "lines": [ 2 @@ -71,9 +71,9 @@ "source_mapping": { "start": 0, "length": 124, - "filename_relative": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol", "is_dependency": false, "lines": [ 1, @@ -93,9 +93,9 @@ } } ], - "description": "DerivedContract.owner (tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#12) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#L12) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#L2)\n", - "first_markdown_element": "tests/detectors/shadowing-state/0.4.25/shadowing_state_variable.sol#L12", + "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", diff --git a/tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json rename to tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol.0.5.16.StateShadowing.json index 953f9c825e..ddbd655edf 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 172, "length": 13, - "filename_relative": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", "is_dependency": false, "lines": [ 12 @@ -25,9 +25,9 @@ "source_mapping": { "start": 126, "length": 227, - "filename_relative": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", "is_dependency": false, "lines": [ 11, @@ -54,9 +54,9 @@ "source_mapping": { "start": 27, "length": 13, - "filename_relative": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", "is_dependency": false, "lines": [ 2 @@ -71,9 +71,9 @@ "source_mapping": { "start": 0, "length": 124, - "filename_relative": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol", "is_dependency": false, "lines": [ 1, @@ -93,9 +93,9 @@ } } ], - "description": "DerivedContract.owner (tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#12) shadows:\n\t- BaseContract.owner (tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#2)\n", - "markdown": "[DerivedContract.owner](tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#L12) shadows:\n\t- [BaseContract.owner](tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#L2)\n", - "first_markdown_element": "tests/detectors/shadowing-state/0.5.16/shadowing_state_variable.sol#L12", + "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", diff --git a/tests/detectors/shadowing-state/0.6.11/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.6.11/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/shadowing-state/0.6.11/shadowing_state_variable.sol.0.6.11.StateShadowing.json rename to tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol.0.6.11.StateShadowing.json diff --git a/tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol diff --git a/tests/detectors/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 similarity index 65% rename from tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol.0.7.5.StateShadowing.json rename to tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol.0.7.5.StateShadowing.json index fb9824ca13..93578d8549 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 156, "length": 24, - "filename_relative": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", "is_dependency": false, "lines": [ 8 @@ -25,9 +25,9 @@ "source_mapping": { "start": 110, "length": 102, - "filename_relative": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", "is_dependency": false, "lines": [ 7, @@ -47,9 +47,9 @@ "source_mapping": { "start": 51, "length": 25, - "filename_relative": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", "is_dependency": false, "lines": [ 3 @@ -64,9 +64,9 @@ "source_mapping": { "start": 24, "length": 84, - "filename_relative": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol", "is_dependency": false, "lines": [ 2, @@ -81,9 +81,9 @@ } } ], - "description": "DerivedContract.__gap (tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol#8) shadows:\n\t- BaseContract.__gap (tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol#3)\n", - "markdown": "[DerivedContract.__gap](tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol#L8) shadows:\n\t- [BaseContract.__gap](tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol#L3)\n", - "first_markdown_element": "tests/detectors/shadowing-state/0.7.5/public_gap_variable.sol#L8", + "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", diff --git a/tests/detectors/shadowing-state/0.7.5/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.7.5/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/shadowing-state/0.7.5/shadowing_state_variable.sol.0.7.5.StateShadowing.json rename to tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol.0.7.5.StateShadowing.json diff --git a/tests/detectors/shadowing-state/0.7.6/shadowing_state_variable.sol b/tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol similarity index 100% rename from tests/detectors/shadowing-state/0.7.6/shadowing_state_variable.sol rename to tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/shadowing-state/0.7.6/shadowing_state_variable.sol.0.7.6.StateShadowing.json rename to tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol.0.7.6.StateShadowing.json diff --git a/tests/detectors/similar-names/0.4.25/similar_variables.sol b/tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol similarity index 100% rename from tests/detectors/similar-names/0.4.25/similar_variables.sol rename to tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/similar-names/0.4.25/similar_variables.sol.0.4.25.SimilarVarsDetection.json rename to tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol.0.4.25.SimilarVarsDetection.json index 71d0228f9c..ca8ff4d95a 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 69, "length": 21, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "is_dependency": false, "lines": [ 3 @@ -25,9 +25,9 @@ "source_mapping": { "start": 23, "length": 149, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "is_dependency": false, "lines": [ 2, @@ -46,9 +46,9 @@ "source_mapping": { "start": 0, "length": 174, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "is_dependency": false, "lines": [ 1, @@ -75,9 +75,9 @@ "source_mapping": { "start": 100, "length": 21, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "is_dependency": false, "lines": [ 4 @@ -92,9 +92,9 @@ "source_mapping": { "start": 23, "length": 149, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "is_dependency": false, "lines": [ 2, @@ -113,9 +113,9 @@ "source_mapping": { "start": 0, "length": 174, - "filename_relative": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.4.25/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol", "is_dependency": false, "lines": [ 1, @@ -137,9 +137,9 @@ } } ], - "description": "Variable Similar.f().testVariable (tests/detectors/similar-names/0.4.25/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/detectors/similar-names/0.4.25/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/detectors/similar-names/0.4.25/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/detectors/similar-names/0.4.25/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/detectors/similar-names/0.4.25/similar_variables.sol#L3", + "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", diff --git a/tests/detectors/similar-names/0.5.16/similar_variables.sol b/tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol similarity index 100% rename from tests/detectors/similar-names/0.5.16/similar_variables.sol rename to tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/similar-names/0.5.16/similar_variables.sol.0.5.16.SimilarVarsDetection.json rename to tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol.0.5.16.SimilarVarsDetection.json index 29a08ad8ad..6bdc717e67 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 69, "length": 21, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "is_dependency": false, "lines": [ 3 @@ -25,9 +25,9 @@ "source_mapping": { "start": 23, "length": 149, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "is_dependency": false, "lines": [ 2, @@ -46,9 +46,9 @@ "source_mapping": { "start": 0, "length": 174, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "is_dependency": false, "lines": [ 1, @@ -75,9 +75,9 @@ "source_mapping": { "start": 100, "length": 21, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "is_dependency": false, "lines": [ 4 @@ -92,9 +92,9 @@ "source_mapping": { "start": 23, "length": 149, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "is_dependency": false, "lines": [ 2, @@ -113,9 +113,9 @@ "source_mapping": { "start": 0, "length": 174, - "filename_relative": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.5.16/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol", "is_dependency": false, "lines": [ 1, @@ -137,9 +137,9 @@ } } ], - "description": "Variable Similar.f().testVariable (tests/detectors/similar-names/0.5.16/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/detectors/similar-names/0.5.16/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/detectors/similar-names/0.5.16/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/detectors/similar-names/0.5.16/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/detectors/similar-names/0.5.16/similar_variables.sol#L3", + "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", diff --git a/tests/detectors/similar-names/0.6.11/similar_variables.sol b/tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol similarity index 100% rename from tests/detectors/similar-names/0.6.11/similar_variables.sol rename to tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/similar-names/0.6.11/similar_variables.sol.0.6.11.SimilarVarsDetection.json rename to tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol.0.6.11.SimilarVarsDetection.json index 18be023a0c..cb4140fff3 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 69, "length": 21, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "is_dependency": false, "lines": [ 3 @@ -25,9 +25,9 @@ "source_mapping": { "start": 23, "length": 149, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "is_dependency": false, "lines": [ 2, @@ -46,9 +46,9 @@ "source_mapping": { "start": 0, "length": 174, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "is_dependency": false, "lines": [ 1, @@ -75,9 +75,9 @@ "source_mapping": { "start": 100, "length": 21, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "is_dependency": false, "lines": [ 4 @@ -92,9 +92,9 @@ "source_mapping": { "start": 23, "length": 149, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "is_dependency": false, "lines": [ 2, @@ -113,9 +113,9 @@ "source_mapping": { "start": 0, "length": 174, - "filename_relative": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.6.11/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol", "is_dependency": false, "lines": [ 1, @@ -137,9 +137,9 @@ } } ], - "description": "Variable Similar.f().testVariable (tests/detectors/similar-names/0.6.11/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/detectors/similar-names/0.6.11/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/detectors/similar-names/0.6.11/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/detectors/similar-names/0.6.11/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/detectors/similar-names/0.6.11/similar_variables.sol#L3", + "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", diff --git a/tests/detectors/similar-names/0.7.6/similar_variables.sol b/tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol similarity index 100% rename from tests/detectors/similar-names/0.7.6/similar_variables.sol rename to tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/similar-names/0.7.6/similar_variables.sol.0.7.6.SimilarVarsDetection.json rename to tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol.0.7.6.SimilarVarsDetection.json index fbb5dd766d..959b534040 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 69, "length": 21, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "is_dependency": false, "lines": [ 3 @@ -25,9 +25,9 @@ "source_mapping": { "start": 23, "length": 149, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "is_dependency": false, "lines": [ 2, @@ -46,9 +46,9 @@ "source_mapping": { "start": 0, "length": 174, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "is_dependency": false, "lines": [ 1, @@ -75,9 +75,9 @@ "source_mapping": { "start": 100, "length": 21, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "is_dependency": false, "lines": [ 4 @@ -92,9 +92,9 @@ "source_mapping": { "start": 23, "length": 149, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "is_dependency": false, "lines": [ 2, @@ -113,9 +113,9 @@ "source_mapping": { "start": 0, "length": 174, - "filename_relative": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_relative": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/similar-names/0.7.6/similar_variables.sol", + "filename_short": "tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol", "is_dependency": false, "lines": [ 1, @@ -137,9 +137,9 @@ } } ], - "description": "Variable Similar.f().testVariable (tests/detectors/similar-names/0.7.6/similar_variables.sol#3) is too similar to Similar.f().textVariable (tests/detectors/similar-names/0.7.6/similar_variables.sol#4)\n", - "markdown": "Variable [Similar.f().testVariable](tests/detectors/similar-names/0.7.6/similar_variables.sol#L3) is too similar to [Similar.f().textVariable](tests/detectors/similar-names/0.7.6/similar_variables.sol#L4)\n", - "first_markdown_element": "tests/detectors/similar-names/0.7.6/similar_variables.sol#L3", + "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", diff --git a/tests/detectors/solc-version/0.4.25/static.sol b/tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol similarity index 100% rename from tests/detectors/solc-version/0.4.25/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol.0.4.25.IncorrectSolc.json index 9dea129b57..20ffda2211 100644 --- a/tests/detectors/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 @@ -1,5 +1,15 @@ [ [ + { + "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": [ { @@ -8,9 +18,9 @@ "source_mapping": { "start": 0, "length": 23, - "filename_relative": "tests/detectors/solc-version/0.4.25/static.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.4.25/static.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol", "is_dependency": false, "lines": [ 1 @@ -27,20 +37,10 @@ } } ], - "description": "Pragma version0.4.25 (tests/detectors/solc-version/0.4.25/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.4.25](tests/detectors/solc-version/0.4.25/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.4.25/static.sol#L1", - "id": "029e1373a8867a45707d0ef3f6d0895191b9a4c60e71980c2ac58b5589c6256c", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, - { - "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", + "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" diff --git a/tests/detectors/solc-version/0.5.14/static.sol b/tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol similarity index 100% rename from tests/detectors/solc-version/0.5.14/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol diff --git a/tests/detectors/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 similarity index 64% rename from tests/detectors/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol.0.5.14.IncorrectSolc.json index 03aded254f..a43f586bc9 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 0, "length": 23, - "filename_relative": "tests/detectors/solc-version/0.5.14/static.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.5.14/static.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol", "is_dependency": false, "lines": [ 1 @@ -27,10 +27,10 @@ } } ], - "description": "Pragma version0.5.14 (tests/detectors/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/detectors/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/detectors/solc-version/0.5.14/static.sol#L1", - "id": "cf9412fdac7f959dea885dbcebb2f9cfb0f3b0ca55f8fc84ebdc51e09eaf6957", + "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" diff --git a/tests/detectors/solc-version/0.5.16/dynamic_1.sol b/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol similarity index 100% rename from tests/detectors/solc-version/0.5.16/dynamic_1.sol rename to tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol diff --git a/tests/detectors/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 similarity index 57% rename from tests/detectors/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol.0.5.16.IncorrectSolc.json index 599392dc8b..b957668f09 100644 --- a/tests/detectors/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 @@ -1,15 +1,5 @@ [ [ - { - "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": [ { @@ -18,9 +8,9 @@ "source_mapping": { "start": 0, "length": 24, - "filename_relative": "tests/detectors/solc-version/0.5.16/dynamic_1.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.5.16/dynamic_1.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol", "is_dependency": false, "lines": [ 1 @@ -38,10 +28,20 @@ } } ], - "description": "Pragma version^0.5.15 (tests/detectors/solc-version/0.5.16/dynamic_1.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.5.15](tests/detectors/solc-version/0.5.16/dynamic_1.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.5.16/dynamic_1.sol#L1", - "id": "b837ad353716586dca5845e185efa85b1ed38c36ff731820ea9a42fc72171527", + "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.15 is not recommended for deployment\n", + "markdown": "solc-0.5.15 is not recommended for deployment\n", + "first_markdown_element": "", + "id": "f968b391557275cb3d691dfc65ba75d1e189238446ae8e37060e0a9af12a48c8", "check": "solc-version", "impact": "Informational", "confidence": "High" diff --git a/tests/detectors/solc-version/0.5.16/dynamic_2.sol b/tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol similarity index 100% rename from tests/detectors/solc-version/0.5.16/dynamic_2.sol rename to tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol diff --git a/tests/detectors/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 similarity index 58% rename from tests/detectors/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol.0.5.16.IncorrectSolc.json index 8eacb56636..6e4b0e0697 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 0, "length": 31, - "filename_relative": "tests/detectors/solc-version/0.5.16/dynamic_2.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.5.16/dynamic_2.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol", "is_dependency": false, "lines": [ 1 @@ -31,20 +31,20 @@ } } ], - "description": "Pragma version>=0.5.0<0.6.0 (tests/detectors/solc-version/0.5.16/dynamic_2.sol#1) allows old versions\n", - "markdown": "Pragma version[>=0.5.0<0.6.0](tests/detectors/solc-version/0.5.16/dynamic_2.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.5.16/dynamic_2.sol#L1", - "id": "0f9930eec9fe7848abc3ded6a5fc053e0208ffa1510b01518fb1348e0f0b01b1", + "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", + "description": "solc-0.5.0 is not recommended for deployment\n", + "markdown": "solc-0.5.0 is not recommended for deployment\n", "first_markdown_element": "", - "id": "94ddf430efb860e471a768a108c851848fa998e8a2c489c6fb23ed71d3ef4b09", + "id": "21539c75e015cde5bdae3a77b39cf5d17be24d0b87a05da1d6b5d5020b7aef22", "check": "solc-version", "impact": "Informational", "confidence": "High" diff --git a/tests/detectors/solc-version/0.5.16/static.sol b/tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol similarity index 100% rename from tests/detectors/solc-version/0.5.16/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/solc-version/0.5.16/static.sol.0.5.16.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol.0.5.16.IncorrectSolc.json index df4bac19d6..28fb98f0a9 100644 --- a/tests/detectors/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 @@ -1,5 +1,15 @@ [ [ + { + "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": [ { @@ -8,9 +18,9 @@ "source_mapping": { "start": 0, "length": 23, - "filename_relative": "tests/detectors/solc-version/0.5.16/static.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.5.16/static.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol", "is_dependency": false, "lines": [ 1 @@ -27,20 +37,10 @@ } } ], - "description": "Pragma version0.5.16 (tests/detectors/solc-version/0.5.16/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.5.16](tests/detectors/solc-version/0.5.16/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.5.16/static.sol#L1", - "id": "2407d991de90e57d2f6b6bdbc61bb939845a5c0bb2d82910ed4c49abff2ab6e3", - "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", + "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" diff --git a/tests/detectors/solc-version/0.6.10/static.sol b/tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol similarity index 100% rename from tests/detectors/solc-version/0.6.10/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol.0.6.10.IncorrectSolc.json index 10d0a03fc7..fc324892ef 100644 --- a/tests/detectors/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 @@ -18,9 +18,9 @@ "source_mapping": { "start": 0, "length": 23, - "filename_relative": "tests/detectors/solc-version/0.6.10/static.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.6.10/static.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol", "is_dependency": false, "lines": [ 1 @@ -37,10 +37,10 @@ } } ], - "description": "Pragma version0.6.10 (tests/detectors/solc-version/0.6.10/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.6.10](tests/detectors/solc-version/0.6.10/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.6.10/static.sol#L1", - "id": "f8fa962b3064cc35b3504cfbd7bd2067f90239895c1c23a55ce6666803131780", + "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" diff --git a/tests/detectors/solc-version/0.6.11/dynamic_1.sol b/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol similarity index 100% rename from tests/detectors/solc-version/0.6.11/dynamic_1.sol rename to tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol diff --git a/tests/detectors/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 similarity index 57% rename from tests/detectors/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol.0.6.11.IncorrectSolc.json index a71fa64067..b3e1d84205 100644 --- a/tests/detectors/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 @@ -1,5 +1,15 @@ [ [ + { + "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": [ { @@ -8,9 +18,9 @@ "source_mapping": { "start": 0, "length": 24, - "filename_relative": "tests/detectors/solc-version/0.6.11/dynamic_1.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.6.11/dynamic_1.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol", "is_dependency": false, "lines": [ 1 @@ -28,20 +38,10 @@ } } ], - "description": "Pragma version^0.6.10 (tests/detectors/solc-version/0.6.11/dynamic_1.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.6.10](tests/detectors/solc-version/0.6.11/dynamic_1.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.6.11/dynamic_1.sol#L1", - "id": "ba2de3955a664b3846697e1ad89d5eb477b9992d67d86bf5ac36b904a8ccca4b", - "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", + "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" diff --git a/tests/detectors/solc-version/0.6.11/dynamic_2.sol b/tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol similarity index 100% rename from tests/detectors/solc-version/0.6.11/dynamic_2.sol rename to tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol diff --git a/tests/detectors/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 similarity index 58% rename from tests/detectors/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol.0.6.11.IncorrectSolc.json index d6cac106b2..09d9bab0fe 100644 --- a/tests/detectors/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 @@ -1,5 +1,15 @@ [ [ + { + "elements": [], + "description": "solc-0.6.0 is not recommended for deployment\n", + "markdown": "solc-0.6.0 is not recommended for deployment\n", + "first_markdown_element": "", + "id": "7740810b9fcfaf3efb5f0190072038a7d60dee014bb62485850611033bd7a5f0", + "check": "solc-version", + "impact": "Informational", + "confidence": "High" + }, { "elements": [ { @@ -8,9 +18,9 @@ "source_mapping": { "start": 0, "length": 31, - "filename_relative": "tests/detectors/solc-version/0.6.11/dynamic_2.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.6.11/dynamic_2.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol", "is_dependency": false, "lines": [ 1 @@ -31,20 +41,10 @@ } } ], - "description": "Pragma version>=0.6.0<0.7.0 (tests/detectors/solc-version/0.6.11/dynamic_2.sol#1) allows old versions\n", - "markdown": "Pragma version[>=0.6.0<0.7.0](tests/detectors/solc-version/0.6.11/dynamic_2.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.6.11/dynamic_2.sol#L1", - "id": "8c08bc3809d977ad0253b208683307501206a69d53c84f78e68fad3ae144117c", - "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", + "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" diff --git a/tests/detectors/solc-version/0.6.11/static.sol b/tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol similarity index 100% rename from tests/detectors/solc-version/0.6.11/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/solc-version/0.6.11/static.sol.0.6.11.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol.0.6.11.IncorrectSolc.json index 61ea21e160..97f46f0303 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 0, "length": 23, - "filename_relative": "tests/detectors/solc-version/0.6.11/static.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.6.11/static.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol", "is_dependency": false, "lines": [ 1 @@ -27,10 +27,10 @@ } } ], - "description": "Pragma version0.6.11 (tests/detectors/solc-version/0.6.11/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.6.11](tests/detectors/solc-version/0.6.11/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.6.11/static.sol#L1", - "id": "ad7b24eed22ac098a57ae02ade0ccffb4cb094e851effe93cad1d0a65b489816", + "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" diff --git a/tests/detectors/solc-version/0.7.4/static.sol b/tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol similarity index 100% rename from tests/detectors/solc-version/0.7.4/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol.0.7.4.IncorrectSolc.json index 6c3c37cde9..a1927027b9 100644 --- a/tests/detectors/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 @@ -1,15 +1,5 @@ [ [ - { - "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" - }, { "elements": [ { @@ -18,9 +8,9 @@ "source_mapping": { "start": 0, "length": 22, - "filename_relative": "tests/detectors/solc-version/0.7.4/static.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.7.4/static.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol", "is_dependency": false, "lines": [ 1 @@ -37,10 +27,20 @@ } } ], - "description": "Pragma version0.7.4 (tests/detectors/solc-version/0.7.4/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.7.4](tests/detectors/solc-version/0.7.4/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.7.4/static.sol#L1", - "id": "770bd3666c605dc3b8e7422296714d365b70b9bf6b75b35ef42c2068568dd6f2", + "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" diff --git a/tests/detectors/solc-version/0.7.6/dynamic_1.sol b/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol similarity index 100% rename from tests/detectors/solc-version/0.7.6/dynamic_1.sol rename to tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol diff --git a/tests/detectors/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 similarity index 57% rename from tests/detectors/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol.0.7.6.IncorrectSolc.json index 7633024457..15bebfe029 100644 --- a/tests/detectors/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 @@ -2,10 +2,10 @@ [ { "elements": [], - "description": "solc-0.7.6 is not recommended for deployment\n", - "markdown": "solc-0.7.6 is not recommended for deployment\n", + "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": "ddb8ee36d9dd69b14eab702506268f8f9ef3283777d042e197277e29407b386e", + "id": "27e54a3813c974274b355c03bd742d4f2b8cd63fa57143b4fb741cbecd022dd2", "check": "solc-version", "impact": "Informational", "confidence": "High" @@ -18,9 +18,9 @@ "source_mapping": { "start": 0, "length": 23, - "filename_relative": "tests/detectors/solc-version/0.7.6/dynamic_1.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.7.6/dynamic_1.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol", "is_dependency": false, "lines": [ 1 @@ -38,10 +38,10 @@ } } ], - "description": "Pragma version^0.7.4 (tests/detectors/solc-version/0.7.6/dynamic_1.sol#1) allows old versions\n", - "markdown": "Pragma version[^0.7.4](tests/detectors/solc-version/0.7.6/dynamic_1.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.7.6/dynamic_1.sol#L1", - "id": "e46d6be1a19a445ff20b2e96a37cb7355cf88d3c93d72bfc963db2a86f303d11", + "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" diff --git a/tests/detectors/solc-version/0.7.6/dynamic_2.sol b/tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol similarity index 100% rename from tests/detectors/solc-version/0.7.6/dynamic_2.sol rename to tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol diff --git a/tests/detectors/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 similarity index 62% rename from tests/detectors/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol.0.7.6.IncorrectSolc.json index 516f3142b3..6e78655a1b 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 0, "length": 32, - "filename_relative": "tests/detectors/solc-version/0.7.6/dynamic_2.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.7.6/dynamic_2.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol", "is_dependency": false, "lines": [ 1 @@ -31,20 +31,20 @@ } } ], - "description": "Pragma version>=0.7.0<=0.7.6 (tests/detectors/solc-version/0.7.6/dynamic_2.sol#1) is too complex\n", - "markdown": "Pragma version[>=0.7.0<=0.7.6](tests/detectors/solc-version/0.7.6/dynamic_2.sol#L1) is too complex\n", - "first_markdown_element": "tests/detectors/solc-version/0.7.6/dynamic_2.sol#L1", - "id": "d63860d6851dda74b9cb989aa5ef5bbb9bcc22c1b6f217b9356c0fc843b78386", + "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", + "description": "solc-0.7.0 is not recommended for deployment\n", + "markdown": "solc-0.7.0 is not recommended for deployment\n", "first_markdown_element": "", - "id": "ddb8ee36d9dd69b14eab702506268f8f9ef3283777d042e197277e29407b386e", + "id": "a25ebaec6910184d3cb938f8638d2eeeb46edf25c444b137264555e9743d67bd", "check": "solc-version", "impact": "Informational", "confidence": "High" diff --git a/tests/detectors/solc-version/0.7.6/static.sol b/tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol similarity index 100% rename from tests/detectors/solc-version/0.7.6/static.sol rename to tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/solc-version/0.7.6/static.sol.0.7.6.IncorrectSolc.json rename to tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol.0.7.6.IncorrectSolc.json index 426786fffe..2feda0b822 100644 --- a/tests/detectors/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 @@ -1,15 +1,5 @@ [ [ - { - "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" - }, { "elements": [ { @@ -18,9 +8,9 @@ "source_mapping": { "start": 0, "length": 22, - "filename_relative": "tests/detectors/solc-version/0.7.6/static.sol", + "filename_relative": "tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/solc-version/0.7.6/static.sol", + "filename_short": "tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol", "is_dependency": false, "lines": [ 1 @@ -37,10 +27,20 @@ } } ], - "description": "Pragma version0.7.6 (tests/detectors/solc-version/0.7.6/static.sol#1) allows old versions\n", - "markdown": "Pragma version[0.7.6](tests/detectors/solc-version/0.7.6/static.sol#L1) allows old versions\n", - "first_markdown_element": "tests/detectors/solc-version/0.7.6/static.sol#L1", - "id": "e7a5c0ee3d0af7a59907908f88499f79435e302745284c6279167a1cc209b4ed", + "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" diff --git a/tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol b/tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol similarity index 100% rename from tests/detectors/storage-array/0.5.10/storage_signed_integer_array.sol rename to tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol 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 new file mode 100644 index 0000000000..8e6c6b2d95 --- /dev/null +++ b/tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol.0.5.10.StorageSignedIntegerArray.json @@ -0,0 +1,757 @@ +[ + [ + { + "elements": [ + { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + { + "type": "function", + "name": "good3", + "source_mapping": { + "start": 1823, + "length": 267, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 35, + 36, + 37 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "good3(int256[3])" + } + }, + { + "type": "node", + "name": "intArray = userArray", + "source_mapping": { + "start": 1964, + "length": 20, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 36 + ], + "starting_column": 5, + "ending_column": 25 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "good3", + "source_mapping": { + "start": 1823, + "length": 267, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 35, + 36, + 37 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "good3(int256[3])" + } + } + } + } + ], + "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#3-45) \n\t- Function A.good3(int256[3]) (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#35-37)\n\t\t- intArray = userArray (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#36) has a storage signed integer array assignment\n", + "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.good3(int256[3])](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L35-L37)\n\t\t- [intArray = userArray](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L36) has a storage signed integer array assignment\n", + "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45", + "id": "3948ae5e1f85032e07e32463f54e7ae97c3c144e228797680240014ea725f94d", + "check": "storage-array", + "impact": "High", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + { + "type": "function", + "name": "bad1", + "source_mapping": { + "start": 601, + "length": 170, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 15, + 16, + 17 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "bad1(int128[3])" + } + }, + { + "type": "node", + "name": "intArray = userArray", + "source_mapping": { + "start": 746, + "length": 20, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 16 + ], + "starting_column": 5, + "ending_column": 25 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bad1", + "source_mapping": { + "start": 601, + "length": 170, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 15, + 16, + 17 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "bad1(int128[3])" + } + } + } + } + ], + "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#3-45) \n\t- Function A.bad1(int128[3]) (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#15-17)\n\t\t- intArray = userArray (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#16) has a storage signed integer array assignment\n", + "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.bad1(int128[3])](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L15-L17)\n\t\t- [intArray = userArray](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L16) has a storage signed integer array assignment\n", + "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45", + "id": "631aef0a5d3c7759d489e7ceb2e9721bc723e92fddfb55fbb6d16837104dee99", + "check": "storage-array", + "impact": "High", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + { + "type": "function", + "name": "bad0", + "source_mapping": { + "start": 355, + "length": 132, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 10, + 11, + 12 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "bad0()" + } + }, + { + "type": "node", + "name": "intArray = (- 1,- 2,- 3)", + "source_mapping": { + "start": 384, + "length": 23, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 11 + ], + "starting_column": 5, + "ending_column": 28 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bad0", + "source_mapping": { + "start": 355, + "length": 132, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 10, + 11, + 12 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "bad0()" + } + } + } + } + ], + "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#3-45) \n\t- Function A.bad0() (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#10-12)\n\t\t- intArray = (- 1,- 2,- 3) (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#11) has a storage signed integer array assignment\n", + "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.bad0()](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L10-L12)\n\t\t- [intArray = (- 1,- 2,- 3)](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L11) has a storage signed integer array assignment\n", + "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45", + "id": "6b15bf486dbb4488d1a70536ede22b1ede312e7d03479557fb43c125b82f1f92", + "check": "storage-array", + "impact": "High", + "confidence": "Medium" + } + ] +] \ No newline at end of file diff --git a/tests/detectors/storage-array/0.5.16/storage_signed_integer_array.sol b/tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol similarity index 100% rename from tests/detectors/storage-array/0.5.16/storage_signed_integer_array.sol rename to tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol 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 new file mode 100644 index 0000000000..043d0e6072 --- /dev/null +++ b/tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol.0.5.16.StorageSignedIntegerArray.json @@ -0,0 +1,757 @@ +[ + [ + { + "elements": [ + { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + { + "type": "function", + "name": "good3", + "source_mapping": { + "start": 1823, + "length": 267, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 35, + 36, + 37 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "good3(int256[3])" + } + }, + { + "type": "node", + "name": "intArray = userArray", + "source_mapping": { + "start": 1964, + "length": 20, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 36 + ], + "starting_column": 5, + "ending_column": 25 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "good3", + "source_mapping": { + "start": 1823, + "length": 267, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 35, + 36, + 37 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "good3(int256[3])" + } + } + } + } + ], + "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#3-45) \n\t- Function A.good3(int256[3]) (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#35-37)\n\t\t- intArray = userArray (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#36) has a storage signed integer array assignment\n", + "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.good3(int256[3])](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L35-L37)\n\t\t- [intArray = userArray](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L36) has a storage signed integer array assignment\n", + "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45", + "id": "0109ebb10600cb7b9f9f3bb49a6e72e29b9a1bcac9011f8a2fcf8b8cf1be1ccc", + "check": "storage-array", + "impact": "High", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + { + "type": "function", + "name": "bad0", + "source_mapping": { + "start": 355, + "length": 132, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 10, + 11, + 12 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "bad0()" + } + }, + { + "type": "node", + "name": "intArray = (- 1,- 2,- 3)", + "source_mapping": { + "start": 384, + "length": 23, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 11 + ], + "starting_column": 5, + "ending_column": 28 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bad0", + "source_mapping": { + "start": 355, + "length": 132, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 10, + 11, + 12 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "bad0()" + } + } + } + } + ], + "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#3-45) \n\t- Function A.bad0() (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#10-12)\n\t\t- intArray = (- 1,- 2,- 3) (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#11) has a storage signed integer array assignment\n", + "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.bad0()](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L10-L12)\n\t\t- [intArray = (- 1,- 2,- 3)](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L11) has a storage signed integer array assignment\n", + "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45", + "id": "79c53128e44603485fdf502967c92aa6ad8fb1af52343835a44655c101218f75", + "check": "storage-array", + "impact": "High", + "confidence": "Medium" + }, + { + "elements": [ + { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + { + "type": "function", + "name": "bad1", + "source_mapping": { + "start": 601, + "length": 170, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 15, + 16, + 17 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "bad1(int128[3])" + } + }, + { + "type": "node", + "name": "intArray = userArray", + "source_mapping": { + "start": 746, + "length": 20, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 16 + ], + "starting_column": 5, + "ending_column": 25 + }, + "type_specific_fields": { + "parent": { + "type": "function", + "name": "bad1", + "source_mapping": { + "start": 601, + "length": 170, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "is_dependency": false, + "lines": [ + 15, + 16, + 17 + ], + "starting_column": 3, + "ending_column": 4 + }, + "type_specific_fields": { + "parent": { + "type": "contract", + "name": "A", + "source_mapping": { + "start": 25, + "length": 2256, + "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 + ], + "starting_column": 1, + "ending_column": 2 + } + }, + "signature": "bad1(int128[3])" + } + } + } + } + ], + "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#3-45) \n\t- Function A.bad1(int128[3]) (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#15-17)\n\t\t- intArray = userArray (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#16) has a storage signed integer array assignment\n", + "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.bad1(int128[3])](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L15-L17)\n\t\t- [intArray = userArray](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L16) has a storage signed integer array assignment\n", + "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45", + "id": "ff29abd9707859837debdb3c3bc5261fbc5146642353819d17853729a516faf9", + "check": "storage-array", + "impact": "High", + "confidence": "Medium" + } + ] +] \ No newline at end of file diff --git a/tests/detectors/suicidal/0.4.25/suicidal.sol b/tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol similarity index 100% rename from tests/detectors/suicidal/0.4.25/suicidal.sol rename to tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol diff --git a/tests/detectors/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 similarity index 68% rename from tests/detectors/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json rename to tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol.0.4.25.Suicidal.json index 2bd3d62ff4..4f1d5835f2 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 18, "length": 74, - "filename_relative": "tests/detectors/suicidal/0.4.25/suicidal.sol", + "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.4.25/suicidal.sol", + "filename_short": "tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol", "is_dependency": false, "lines": [ 4, @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 94, - "filename_relative": "tests/detectors/suicidal/0.4.25/suicidal.sol", + "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.4.25/suicidal.sol", + "filename_short": "tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol", "is_dependency": false, "lines": [ 2, @@ -48,9 +48,9 @@ } } ], - "description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.4.25/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.4.25/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/detectors/suicidal/0.4.25/suicidal.sol#L4-L6", + "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", diff --git a/tests/detectors/suicidal/0.5.16/suicidal.sol b/tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol similarity index 100% rename from tests/detectors/suicidal/0.5.16/suicidal.sol rename to tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol diff --git a/tests/detectors/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 similarity index 68% rename from tests/detectors/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json rename to tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol.0.5.16.Suicidal.json index de2db58c06..d7999c9d95 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 18, "length": 74, - "filename_relative": "tests/detectors/suicidal/0.5.16/suicidal.sol", + "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.5.16/suicidal.sol", + "filename_short": "tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol", "is_dependency": false, "lines": [ 4, @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 94, - "filename_relative": "tests/detectors/suicidal/0.5.16/suicidal.sol", + "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.5.16/suicidal.sol", + "filename_short": "tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol", "is_dependency": false, "lines": [ 2, @@ -48,9 +48,9 @@ } } ], - "description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.5.16/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.5.16/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/detectors/suicidal/0.5.16/suicidal.sol#L4-L6", + "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", diff --git a/tests/detectors/suicidal/0.6.11/suicidal.sol b/tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol similarity index 100% rename from tests/detectors/suicidal/0.6.11/suicidal.sol rename to tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol diff --git a/tests/detectors/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 similarity index 68% rename from tests/detectors/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json rename to tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol.0.6.11.Suicidal.json index 8423448091..bec2457664 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 18, "length": 74, - "filename_relative": "tests/detectors/suicidal/0.6.11/suicidal.sol", + "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.6.11/suicidal.sol", + "filename_short": "tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol", "is_dependency": false, "lines": [ 4, @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 94, - "filename_relative": "tests/detectors/suicidal/0.6.11/suicidal.sol", + "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.6.11/suicidal.sol", + "filename_short": "tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol", "is_dependency": false, "lines": [ 2, @@ -48,9 +48,9 @@ } } ], - "description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.6.11/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.6.11/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/detectors/suicidal/0.6.11/suicidal.sol#L4-L6", + "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", diff --git a/tests/detectors/suicidal/0.7.6/suicidal.sol b/tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol similarity index 100% rename from tests/detectors/suicidal/0.7.6/suicidal.sol rename to tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol diff --git a/tests/detectors/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 similarity index 69% rename from tests/detectors/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json rename to tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol.0.7.6.Suicidal.json index 0dd3f119f3..01b0dde938 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 18, "length": 74, - "filename_relative": "tests/detectors/suicidal/0.7.6/suicidal.sol", + "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.7.6/suicidal.sol", + "filename_short": "tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol", "is_dependency": false, "lines": [ 4, @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 94, - "filename_relative": "tests/detectors/suicidal/0.7.6/suicidal.sol", + "filename_relative": "tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/suicidal/0.7.6/suicidal.sol", + "filename_short": "tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol", "is_dependency": false, "lines": [ 2, @@ -48,9 +48,9 @@ } } ], - "description": "C.i_am_a_backdoor() (tests/detectors/suicidal/0.7.6/suicidal.sol#4-6) allows anyone to destruct the contract\n", - "markdown": "[C.i_am_a_backdoor()](tests/detectors/suicidal/0.7.6/suicidal.sol#L4-L6) allows anyone to destruct the contract\n", - "first_markdown_element": "tests/detectors/suicidal/0.7.6/suicidal.sol#L4-L6", + "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", diff --git a/tests/detectors/tautology/0.4.25/type_based_tautology.sol b/tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol similarity index 100% rename from tests/detectors/tautology/0.4.25/type_based_tautology.sol rename to tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/tautology/0.4.25/type_based_tautology.sol.0.4.25.TypeBasedTautology.json rename to tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol.0.4.25.TypeBasedTautology.json index 6164ab1c64..c407051232 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 150, "length": 80, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "is_dependency": false, "lines": [ 9, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -59,9 +59,9 @@ "source_mapping": { "start": 202, "length": 16, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "is_dependency": false, "lines": [ 10 @@ -76,9 +76,9 @@ "source_mapping": { "start": 150, "length": 80, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "is_dependency": false, "lines": [ 9, @@ -95,9 +95,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -124,10 +124,10 @@ } } ], - "description": "A.g(uint8) (tests/detectors/tautology/0.4.25/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/detectors/tautology/0.4.25/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/detectors/tautology/0.4.25/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/detectors/tautology/0.4.25/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/detectors/tautology/0.4.25/type_based_tautology.sol#L9-L11", - "id": "75dfe0b8776a8cf490a4e3f30366dec173fd0dc7418335f77c68ba5bca536382", + "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" @@ -140,9 +140,9 @@ "source_mapping": { "start": 14, "length": 133, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "is_dependency": false, "lines": [ 2, @@ -162,9 +162,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -194,9 +194,9 @@ "source_mapping": { "start": 69, "length": 6, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "is_dependency": false, "lines": [ 3 @@ -211,9 +211,9 @@ "source_mapping": { "start": 14, "length": 133, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "is_dependency": false, "lines": [ 2, @@ -233,9 +233,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.4.25/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -262,10 +262,10 @@ } } ], - "description": "A.f(uint256) (tests/detectors/tautology/0.4.25/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/detectors/tautology/0.4.25/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/detectors/tautology/0.4.25/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/detectors/tautology/0.4.25/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/detectors/tautology/0.4.25/type_based_tautology.sol#L2-L7", - "id": "c9b8085dbb7e6d0dfc2ee5711ac45a70e4c0f494ac4efcae42a6b947e3170ddb", + "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" diff --git a/tests/detectors/tautology/0.5.16/type_based_tautology.sol b/tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol similarity index 100% rename from tests/detectors/tautology/0.5.16/type_based_tautology.sol rename to tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/tautology/0.5.16/type_based_tautology.sol.0.5.16.TypeBasedTautology.json rename to tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol.0.5.16.TypeBasedTautology.json index 35a608c61f..ae70b276ac 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 150, "length": 80, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "is_dependency": false, "lines": [ 9, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -59,9 +59,9 @@ "source_mapping": { "start": 202, "length": 16, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "is_dependency": false, "lines": [ 10 @@ -76,9 +76,9 @@ "source_mapping": { "start": 150, "length": 80, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "is_dependency": false, "lines": [ 9, @@ -95,9 +95,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -124,10 +124,10 @@ } } ], - "description": "A.g(uint8) (tests/detectors/tautology/0.5.16/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/detectors/tautology/0.5.16/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/detectors/tautology/0.5.16/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/detectors/tautology/0.5.16/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/detectors/tautology/0.5.16/type_based_tautology.sol#L9-L11", - "id": "0c29aa92764cb30104a4c4ba02e307d5949143b4cbfa2d8a52d9473140907872", + "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" @@ -140,9 +140,9 @@ "source_mapping": { "start": 14, "length": 133, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "is_dependency": false, "lines": [ 2, @@ -162,9 +162,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -194,9 +194,9 @@ "source_mapping": { "start": 69, "length": 6, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "is_dependency": false, "lines": [ 3 @@ -211,9 +211,9 @@ "source_mapping": { "start": 14, "length": 133, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "is_dependency": false, "lines": [ 2, @@ -233,9 +233,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.5.16/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -262,10 +262,10 @@ } } ], - "description": "A.f(uint256) (tests/detectors/tautology/0.5.16/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/detectors/tautology/0.5.16/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/detectors/tautology/0.5.16/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/detectors/tautology/0.5.16/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/detectors/tautology/0.5.16/type_based_tautology.sol#L2-L7", - "id": "764eb2c7aa5cd1a30d16deb620e0dc3b8a9e9170978908bcc1f6fc1ac5a8daa1", + "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" diff --git a/tests/detectors/tautology/0.6.11/type_based_tautology.sol b/tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol similarity index 100% rename from tests/detectors/tautology/0.6.11/type_based_tautology.sol rename to tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/tautology/0.6.11/type_based_tautology.sol.0.6.11.TypeBasedTautology.json rename to tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol.0.6.11.TypeBasedTautology.json index 38090fa5bf..b3484d6aca 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 150, "length": 80, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "is_dependency": false, "lines": [ 9, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -59,9 +59,9 @@ "source_mapping": { "start": 202, "length": 16, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "is_dependency": false, "lines": [ 10 @@ -76,9 +76,9 @@ "source_mapping": { "start": 150, "length": 80, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "is_dependency": false, "lines": [ 9, @@ -95,9 +95,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -124,10 +124,10 @@ } } ], - "description": "A.g(uint8) (tests/detectors/tautology/0.6.11/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/detectors/tautology/0.6.11/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/detectors/tautology/0.6.11/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/detectors/tautology/0.6.11/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/detectors/tautology/0.6.11/type_based_tautology.sol#L9-L11", - "id": "51bc777574da16aab9aefb9d0294fdad9ef3a44136e9e7b1f7e05cfd9c1d4e54", + "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" @@ -140,9 +140,9 @@ "source_mapping": { "start": 14, "length": 133, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "is_dependency": false, "lines": [ 2, @@ -162,9 +162,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -194,9 +194,9 @@ "source_mapping": { "start": 69, "length": 6, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "is_dependency": false, "lines": [ 3 @@ -211,9 +211,9 @@ "source_mapping": { "start": 14, "length": 133, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "is_dependency": false, "lines": [ 2, @@ -233,9 +233,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.6.11/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -262,10 +262,10 @@ } } ], - "description": "A.f(uint256) (tests/detectors/tautology/0.6.11/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/detectors/tautology/0.6.11/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/detectors/tautology/0.6.11/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/detectors/tautology/0.6.11/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/detectors/tautology/0.6.11/type_based_tautology.sol#L2-L7", - "id": "fec3df769045cbe4984e50b2f651f60ffc36b116bc7273a64f761e8fbfc674b9", + "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" diff --git a/tests/detectors/tautology/0.7.6/type_based_tautology.sol b/tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol similarity index 100% rename from tests/detectors/tautology/0.7.6/type_based_tautology.sol rename to tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/tautology/0.7.6/type_based_tautology.sol.0.7.6.TypeBasedTautology.json rename to tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol.0.7.6.TypeBasedTautology.json index a667c15519..54356483e1 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 150, "length": 80, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "is_dependency": false, "lines": [ 9, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -59,9 +59,9 @@ "source_mapping": { "start": 202, "length": 16, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "is_dependency": false, "lines": [ 10 @@ -76,9 +76,9 @@ "source_mapping": { "start": 150, "length": 80, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "is_dependency": false, "lines": [ 9, @@ -95,9 +95,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -124,10 +124,10 @@ } } ], - "description": "A.g(uint8) (tests/detectors/tautology/0.7.6/type_based_tautology.sol#9-11) contains a tautology or contradiction:\n\t- (y < 512) (tests/detectors/tautology/0.7.6/type_based_tautology.sol#10)\n", - "markdown": "[A.g(uint8)](tests/detectors/tautology/0.7.6/type_based_tautology.sol#L9-L11) contains a tautology or contradiction:\n\t- [(y < 512)](tests/detectors/tautology/0.7.6/type_based_tautology.sol#L10)\n", - "first_markdown_element": "tests/detectors/tautology/0.7.6/type_based_tautology.sol#L9-L11", - "id": "036b1ecab6ee0dcb07806dbd8ffb05abf29941bbbcbb161da0013b31be51b3de", + "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" @@ -140,9 +140,9 @@ "source_mapping": { "start": 14, "length": 133, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "is_dependency": false, "lines": [ 2, @@ -162,9 +162,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -194,9 +194,9 @@ "source_mapping": { "start": 69, "length": 6, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "is_dependency": false, "lines": [ 3 @@ -211,9 +211,9 @@ "source_mapping": { "start": 14, "length": 133, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "is_dependency": false, "lines": [ 2, @@ -233,9 +233,9 @@ "source_mapping": { "start": 0, "length": 232, - "filename_relative": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_relative": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tautology/0.7.6/type_based_tautology.sol", + "filename_short": "tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol", "is_dependency": false, "lines": [ 1, @@ -262,10 +262,10 @@ } } ], - "description": "A.f(uint256) (tests/detectors/tautology/0.7.6/type_based_tautology.sol#2-7) contains a tautology or contradiction:\n\t- x >= 0 (tests/detectors/tautology/0.7.6/type_based_tautology.sol#3)\n", - "markdown": "[A.f(uint256)](tests/detectors/tautology/0.7.6/type_based_tautology.sol#L2-L7) contains a tautology or contradiction:\n\t- [x >= 0](tests/detectors/tautology/0.7.6/type_based_tautology.sol#L3)\n", - "first_markdown_element": "tests/detectors/tautology/0.7.6/type_based_tautology.sol#L2-L7", - "id": "e444c1c7287bff97cae3505472d10d8ef5e01aa1f2e7660c81a3beb11eeaea0e", + "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" diff --git a/tests/detectors/timestamp/0.4.25/timestamp.sol b/tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol similarity index 100% rename from tests/detectors/timestamp/0.4.25/timestamp.sol rename to tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json rename to tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol.0.4.25.Timestamp.json index aaaffd91c3..2bac9145f7 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "start": 47, + "length": 70, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ - 13, - 14, - 15 + 4, + 5, + 6 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -57,40 +57,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad0()" } }, { "type": "node", - "name": "block.timestamp > 0", + "name": "require(bool)(block.timestamp == 0)", "source_mapping": { - "start": 279, - "length": 24, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "start": 81, + "length": 29, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ - 14 + 5 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 38 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "start": 47, + "length": 70, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ - 13, - 14, - 15 + 4, + 5, + 6 ], "starting_column": 5, "ending_column": 6 @@ -102,9 +102,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -132,16 +132,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad0()" } } } } ], - "description": "Timestamp.bad2() (tests/detectors/timestamp/0.4.25/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.4.25/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.4.25/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.4.25/timestamp.sol#L14)\n", - "first_markdown_element": "tests/detectors/timestamp/0.4.25/timestamp.sol#L13-L15", - "id": "2182d79d032d47fdf8137bc06dd7d4c1796356e19fab558e282f5d596391ec58", + "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" @@ -150,18 +150,19 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "start": 126, + "length": 96, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ - 4, - 5, - 6 + 8, + 9, + 10, + 11 ], "starting_column": 5, "ending_column": 6 @@ -173,9 +174,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -203,40 +204,41 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1()" } }, { "type": "node", - "name": "require(bool)(block.timestamp == 0)", + "name": "require(bool)(time == 0)", "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "start": 197, + "length": 18, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ - 5 + 10 ], "starting_column": 9, - "ending_column": 38 + "ending_column": 27 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "start": 126, + "length": 96, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ - 4, - 5, - 6 + 8, + 9, + 10, + 11 ], "starting_column": 5, "ending_column": 6 @@ -248,9 +250,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -278,16 +280,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad1()" } } } } ], - "description": "Timestamp.bad0() (tests/detectors/timestamp/0.4.25/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.4.25/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.4.25/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.4.25/timestamp.sol#L5)\n", - "first_markdown_element": "tests/detectors/timestamp/0.4.25/timestamp.sol#L4-L6", - "id": "9d7c44d1a332d53aacc312d316891fc85c62db8b5a5a638a64cdb718c9f20029", + "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" @@ -296,19 +298,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "start": 231, + "length": 79, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10, - 11 + 13, + 14, + 15 ], "starting_column": 5, "ending_column": 6 @@ -320,9 +321,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -350,41 +351,40 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad2()" } }, { "type": "node", - "name": "require(bool)(time == 0)", + "name": "block.timestamp > 0", "source_mapping": { - "start": 197, - "length": 18, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "start": 279, + "length": 24, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ - 10 + 14 ], "starting_column": 9, - "ending_column": 27 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "start": 231, + "length": 79, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10, - 11 + 13, + 14, + 15 ], "starting_column": 5, "ending_column": 6 @@ -396,9 +396,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.4.25/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -426,16 +426,16 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad2()" } } } } ], - "description": "Timestamp.bad1() (tests/detectors/timestamp/0.4.25/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.4.25/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.4.25/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.4.25/timestamp.sol#L10)\n", - "first_markdown_element": "tests/detectors/timestamp/0.4.25/timestamp.sol#L8-L11", - "id": "d2f6167c2351e267210692e16350d8426db102519fe3eaeeadb6d17d2445dbbd", + "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" diff --git a/tests/detectors/timestamp/0.5.16/timestamp.sol b/tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol similarity index 100% rename from tests/detectors/timestamp/0.5.16/timestamp.sol rename to tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json rename to tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol.0.5.16.Timestamp.json index 9a73beb8bb..18f29cbee3 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 126, "length": 96, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 8, @@ -28,9 +28,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -67,9 +67,9 @@ "source_mapping": { "start": 197, "length": 18, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 10 @@ -84,9 +84,9 @@ "source_mapping": { "start": 126, "length": 96, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 8, @@ -104,9 +104,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -140,10 +140,10 @@ } } ], - "description": "Timestamp.bad1() (tests/detectors/timestamp/0.5.16/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.5.16/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.5.16/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.5.16/timestamp.sol#L10)\n", - "first_markdown_element": "tests/detectors/timestamp/0.5.16/timestamp.sol#L8-L11", - "id": "95b42362b948094ddfa2507b20840e67789d4c5d92e8e3ddac30f5b6577dc1cb", + "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" @@ -156,9 +156,9 @@ "source_mapping": { "start": 47, "length": 70, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 4, @@ -175,9 +175,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -214,9 +214,9 @@ "source_mapping": { "start": 81, "length": 29, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 5 @@ -231,9 +231,9 @@ "source_mapping": { "start": 47, "length": 70, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 4, @@ -250,9 +250,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -286,10 +286,10 @@ } } ], - "description": "Timestamp.bad0() (tests/detectors/timestamp/0.5.16/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.5.16/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.5.16/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.5.16/timestamp.sol#L5)\n", - "first_markdown_element": "tests/detectors/timestamp/0.5.16/timestamp.sol#L4-L6", - "id": "ae9cf69893e0e1a3487dc6ce8a8ae0f5ea9628607d77d32b3dfcb0202617d6e3", + "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" @@ -302,9 +302,9 @@ "source_mapping": { "start": 231, "length": 79, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 13, @@ -321,9 +321,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -360,9 +360,9 @@ "source_mapping": { "start": 279, "length": 24, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 14 @@ -377,9 +377,9 @@ "source_mapping": { "start": 231, "length": 79, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 13, @@ -396,9 +396,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.5.16/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -432,10 +432,10 @@ } } ], - "description": "Timestamp.bad2() (tests/detectors/timestamp/0.5.16/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.5.16/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.5.16/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.5.16/timestamp.sol#L14)\n", - "first_markdown_element": "tests/detectors/timestamp/0.5.16/timestamp.sol#L13-L15", - "id": "d4fe55a5e15b7b87f60c4156128807b333a4a630b25b18eb3a495b3613f764db", + "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" diff --git a/tests/detectors/timestamp/0.6.11/timestamp.sol b/tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol similarity index 100% rename from tests/detectors/timestamp/0.6.11/timestamp.sol rename to tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json rename to tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol.0.6.11.Timestamp.json index 669ce43ffd..09671e31b1 100644 --- a/tests/detectors/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 @@ -4,19 +4,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "start": 47, + "length": 70, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10, - 11 + 4, + 5, + 6 ], "starting_column": 5, "ending_column": 6 @@ -28,9 +27,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -58,41 +57,40 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad0()" } }, { "type": "node", - "name": "require(bool)(time == 0)", + "name": "require(bool)(block.timestamp == 0)", "source_mapping": { - "start": 197, - "length": 18, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "start": 81, + "length": 29, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ - 10 + 5 ], "starting_column": 9, - "ending_column": 27 + "ending_column": 38 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 126, - "length": 96, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "start": 47, + "length": 70, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10, - 11 + 4, + 5, + 6 ], "starting_column": 5, "ending_column": 6 @@ -104,9 +102,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -134,16 +132,16 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad0()" } } } } ], - "description": "Timestamp.bad1() (tests/detectors/timestamp/0.6.11/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.6.11/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.6.11/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.6.11/timestamp.sol#L10)\n", - "first_markdown_element": "tests/detectors/timestamp/0.6.11/timestamp.sol#L8-L11", - "id": "5d42d80cf0c66675f78bbf7717e2c532f05e8b0641d100c436ef8e1d6dc02f61", + "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" @@ -152,18 +150,19 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "start": 126, + "length": 96, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ - 13, - 14, - 15 + 8, + 9, + 10, + 11 ], "starting_column": 5, "ending_column": 6 @@ -175,9 +174,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -205,40 +204,41 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad1()" } }, { "type": "node", - "name": "block.timestamp > 0", + "name": "require(bool)(time == 0)", "source_mapping": { - "start": 279, - "length": 24, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "start": 197, + "length": 18, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ - 14 + 10 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 27 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 231, - "length": 79, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "start": 126, + "length": 96, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ - 13, - 14, - 15 + 8, + 9, + 10, + 11 ], "starting_column": 5, "ending_column": 6 @@ -250,9 +250,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -280,16 +280,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad1()" } } } } ], - "description": "Timestamp.bad2() (tests/detectors/timestamp/0.6.11/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.6.11/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.6.11/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.6.11/timestamp.sol#L14)\n", - "first_markdown_element": "tests/detectors/timestamp/0.6.11/timestamp.sol#L13-L15", - "id": "c2c1fc5eaaf8498a2f03135fb61180314cbd104df5ab6b2447620b8ac3978cac", + "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" @@ -298,18 +298,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "start": 231, + "length": 79, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ - 4, - 5, - 6 + 13, + 14, + 15 ], "starting_column": 5, "ending_column": 6 @@ -321,9 +321,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -351,40 +351,40 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2()" } }, { "type": "node", - "name": "require(bool)(block.timestamp == 0)", + "name": "block.timestamp > 0", "source_mapping": { - "start": 81, - "length": 29, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "start": 279, + "length": 24, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ - 5 + 14 ], "starting_column": 9, - "ending_column": 38 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 47, - "length": 70, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "start": 231, + "length": 79, + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ - 4, - 5, - 6 + 13, + 14, + 15 ], "starting_column": 5, "ending_column": 6 @@ -396,9 +396,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.6.11/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -426,16 +426,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2()" } } } } ], - "description": "Timestamp.bad0() (tests/detectors/timestamp/0.6.11/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.6.11/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.6.11/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.6.11/timestamp.sol#L5)\n", - "first_markdown_element": "tests/detectors/timestamp/0.6.11/timestamp.sol#L4-L6", - "id": "e4e3a8ade3a3bd11b4788b70785548f81395e776a86f2940834731e8f5e05bdc", + "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" diff --git a/tests/detectors/timestamp/0.7.6/timestamp.sol b/tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol similarity index 100% rename from tests/detectors/timestamp/0.7.6/timestamp.sol rename to tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol diff --git a/tests/detectors/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 similarity index 76% rename from tests/detectors/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json rename to tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol.0.7.6.Timestamp.json index 95883faa25..5606861c1b 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 231, "length": 79, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 13, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -66,9 +66,9 @@ "source_mapping": { "start": 279, "length": 24, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 14 @@ -83,9 +83,9 @@ "source_mapping": { "start": 231, "length": 79, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 13, @@ -102,9 +102,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -138,10 +138,10 @@ } } ], - "description": "Timestamp.bad2() (tests/detectors/timestamp/0.7.6/timestamp.sol#13-15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- block.timestamp > 0 (tests/detectors/timestamp/0.7.6/timestamp.sol#14)\n", - "markdown": "[Timestamp.bad2()](tests/detectors/timestamp/0.7.6/timestamp.sol#L13-L15) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [block.timestamp > 0](tests/detectors/timestamp/0.7.6/timestamp.sol#L14)\n", - "first_markdown_element": "tests/detectors/timestamp/0.7.6/timestamp.sol#L13-L15", - "id": "11b3472709ff3f3a4b3ec47abaa5a62f8dbfcd3b0b6bea0972f5b3d790049130", + "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" @@ -154,9 +154,9 @@ "source_mapping": { "start": 47, "length": 70, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 4, @@ -173,9 +173,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -212,9 +212,9 @@ "source_mapping": { "start": 81, "length": 29, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 5 @@ -229,9 +229,9 @@ "source_mapping": { "start": 47, "length": 70, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 4, @@ -248,9 +248,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -284,10 +284,10 @@ } } ], - "description": "Timestamp.bad0() (tests/detectors/timestamp/0.7.6/timestamp.sol#4-6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(block.timestamp == 0) (tests/detectors/timestamp/0.7.6/timestamp.sol#5)\n", - "markdown": "[Timestamp.bad0()](tests/detectors/timestamp/0.7.6/timestamp.sol#L4-L6) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(block.timestamp == 0)](tests/detectors/timestamp/0.7.6/timestamp.sol#L5)\n", - "first_markdown_element": "tests/detectors/timestamp/0.7.6/timestamp.sol#L4-L6", - "id": "e776b1a35c5ff7cecd1cf6eba25c7017c852dfab68d0aaa8b2c8ecaf97b69a6b", + "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" @@ -300,9 +300,9 @@ "source_mapping": { "start": 126, "length": 96, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 8, @@ -320,9 +320,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -359,9 +359,9 @@ "source_mapping": { "start": 197, "length": 18, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 10 @@ -376,9 +376,9 @@ "source_mapping": { "start": 126, "length": 96, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 8, @@ -396,9 +396,9 @@ "source_mapping": { "start": 0, "length": 402, - "filename_relative": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_relative": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/timestamp/0.7.6/timestamp.sol", + "filename_short": "tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol", "is_dependency": false, "lines": [ 1, @@ -432,10 +432,10 @@ } } ], - "description": "Timestamp.bad1() (tests/detectors/timestamp/0.7.6/timestamp.sol#8-11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- require(bool)(time == 0) (tests/detectors/timestamp/0.7.6/timestamp.sol#10)\n", - "markdown": "[Timestamp.bad1()](tests/detectors/timestamp/0.7.6/timestamp.sol#L8-L11) uses timestamp for comparisons\n\tDangerous comparisons:\n\t- [require(bool)(time == 0)](tests/detectors/timestamp/0.7.6/timestamp.sol#L10)\n", - "first_markdown_element": "tests/detectors/timestamp/0.7.6/timestamp.sol#L8-L11", - "id": "fc05e44a41cc99fb6e68c9d8bfc8cbc97377f3327ed7a3c75ba170c9e75394d1", + "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" diff --git a/tests/detectors/too-many-digits/0.4.25/too_many_digits.sol b/tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol similarity index 100% rename from tests/detectors/too-many-digits/0.4.25/too_many_digits.sol rename to tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json rename to tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol.0.4.25.TooManyDigits.json index 975e66c22a..47eb60ef03 100644 --- a/tests/detectors/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 @@ -4,22 +4,20 @@ "elements": [ { "type": "function", - "name": "f", + "name": "h", "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "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/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 5, "ending_column": 6 @@ -31,9 +29,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -82,44 +80,42 @@ "ending_column": 2 } }, - "signature": "f()" + "signature": "h()" } }, { "type": "node", - "name": "x3 = 1000000000000000000", + "name": "x2 = 100000", "source_mapping": { - "start": 272, - "length": 29, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "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/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ - 12 + 22 ], "starting_column": 9, - "ending_column": 38 + "ending_column": 25 }, "type_specific_fields": { "parent": { "type": "function", - "name": "f", + "name": "h", "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "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/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 5, "ending_column": 6 @@ -131,9 +127,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -182,16 +178,16 @@ "ending_column": 2 } }, - "signature": "f()" + "signature": "h()" } } } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "07b9feef94432fdda97b5b5f32b4b6acfa23801e48f9fbd9997c5c3142c56474", + "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" @@ -200,20 +196,22 @@ "elements": [ { "type": "function", - "name": "h", + "name": "f", "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "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/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "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 + 9, + 10, + 11, + 12, + 13, + 14, + 15 ], "starting_column": 5, "ending_column": 6 @@ -225,9 +223,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -276,21 +274,21 @@ "ending_column": 2 } }, - "signature": "h()" + "signature": "f()" } }, { "type": "node", - "name": "x2 = 100000", + "name": "x4 = 100000", "source_mapping": { - "start": 512, + "start": 311, "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ - 22 + 13 ], "starting_column": 9, "ending_column": 25 @@ -298,20 +296,22 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "h", + "name": "f", "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "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/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "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 + 9, + 10, + 11, + 12, + 13, + 14, + 15 ], "starting_column": 5, "ending_column": 6 @@ -323,9 +323,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -374,16 +374,16 @@ "ending_column": 2 } }, - "signature": "h()" + "signature": "f()" } } } } ], - "description": "C.h() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L20-L24", - "id": "2ae61bfeb6a9bad69fe9cb1990583dae50614da8a86cc9a720493218e11e0aa5", + "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" @@ -396,9 +396,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -419,9 +419,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -479,9 +479,9 @@ "source_mapping": { "start": 209, "length": 18, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 10 @@ -496,9 +496,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -519,9 +519,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -576,10 +576,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "33591d733ce2e17a001b912024d5bbe2fd89b63811968c715cf1feed5e302ef1", + "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" @@ -592,9 +592,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -615,9 +615,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -671,19 +671,19 @@ }, { "type": "node", - "name": "x2 = 0x0000000000001", + "name": "x3 = 1000000000000000000", "source_mapping": { - "start": 237, - "length": 25, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "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/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ - 11 + 12 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 38 }, "type_specific_fields": { "parent": { @@ -692,9 +692,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -715,9 +715,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -772,10 +772,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "3e08ab6e8312a9489e23b50c6252a0ae7db88a7fc2c9d83c34d6d8aceb634d08", + "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" @@ -788,9 +788,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -811,9 +811,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -867,19 +867,19 @@ }, { "type": "node", - "name": "x4 = 100000", + "name": "x2 = 0x0000000000001", "source_mapping": { - "start": 311, - "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "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/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ - 13 + 11 ], "starting_column": 9, - "ending_column": 25 + "ending_column": 34 }, "type_specific_fields": { "parent": { @@ -888,9 +888,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -911,9 +911,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -968,10 +968,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.4.25/too_many_digits.sol#L9-L15", - "id": "809a1adef5afed04cc3371628a1595dd47bb1b1003a9e0cc6be72987c4034345", + "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" diff --git a/tests/detectors/too-many-digits/0.5.16/too_many_digits.sol b/tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol similarity index 100% rename from tests/detectors/too-many-digits/0.5.16/too_many_digits.sol rename to tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json rename to tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol.0.5.16.TooManyDigits.json index 48de35e9e1..a90452e7b3 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -31,9 +31,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -87,19 +87,19 @@ }, { "type": "node", - "name": "x1 = 0x000001", + "name": "x2 = 0x0000000000001", "source_mapping": { - "start": 209, - "length": 18, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "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/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ - 10 + 11 ], "starting_column": 9, - "ending_column": 27 + "ending_column": 34 }, "type_specific_fields": { "parent": { @@ -108,9 +108,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -131,9 +131,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -188,10 +188,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "1ad454f157e4c16e1b79b5905e83eff1b82192d65933847f4b39548bc170b7ea", + "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" @@ -204,9 +204,9 @@ "source_mapping": { "start": 456, "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 20, @@ -225,9 +225,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -285,9 +285,9 @@ "source_mapping": { "start": 512, "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 22 @@ -302,9 +302,9 @@ "source_mapping": { "start": 456, "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 20, @@ -323,9 +323,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -380,10 +380,10 @@ } } ], - "description": "C.h() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L20-L24", - "id": "2ca6b97b24a0e595f484c9a0090c3b17b654c167be300e04d9c2cc9a44406d10", + "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" @@ -396,9 +396,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -419,9 +419,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -475,19 +475,19 @@ }, { "type": "node", - "name": "x4 = 100000", + "name": "x3 = 1000000000000000000", "source_mapping": { - "start": 311, - "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "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/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ - 13 + 12 ], "starting_column": 9, - "ending_column": 25 + "ending_column": 38 }, "type_specific_fields": { "parent": { @@ -496,9 +496,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -519,9 +519,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -576,10 +576,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "7e07e946fcdb14de3e3d3bc796f8f6aff17f22002129db4937e0d12767260d3d", + "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" @@ -592,9 +592,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -615,9 +615,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -671,19 +671,19 @@ }, { "type": "node", - "name": "x2 = 0x0000000000001", + "name": "x1 = 0x000001", "source_mapping": { - "start": 237, - "length": 25, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "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/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ - 11 + 10 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 27 }, "type_specific_fields": { "parent": { @@ -692,9 +692,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -715,9 +715,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -772,10 +772,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "ae48ab82ba202c409ec056e498d7255162ef5ab54ddb9ced3b46feb51f4c5021", + "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" @@ -788,9 +788,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -811,9 +811,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -867,19 +867,19 @@ }, { "type": "node", - "name": "x3 = 1000000000000000000", + "name": "x4 = 100000", "source_mapping": { - "start": 272, - "length": 29, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "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/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ - 12 + 13 ], "starting_column": 9, - "ending_column": 38 + "ending_column": 25 }, "type_specific_fields": { "parent": { @@ -888,9 +888,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -911,9 +911,9 @@ "source_mapping": { "start": 28, "length": 999, - "filename_relative": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -968,10 +968,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.5.16/too_many_digits.sol#L9-L15", - "id": "c295b48b8aece38cfd41bceca05ef1953bf5bf0018073076809087a4580ff086", + "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" diff --git a/tests/detectors/too-many-digits/0.6.11/too_many_digits.sol b/tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol similarity index 100% rename from tests/detectors/too-many-digits/0.6.11/too_many_digits.sol rename to tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json rename to tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol.0.6.11.TooManyDigits.json index c140503cfb..6ad103d2ba 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -31,9 +31,9 @@ "source_mapping": { "start": 28, "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -88,19 +88,19 @@ }, { "type": "node", - "name": "x2 = 0x0000000000001", + "name": "x3 = 1000000000000000000", "source_mapping": { - "start": 237, - "length": 25, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ - 11 + 12 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 38 }, "type_specific_fields": { "parent": { @@ -109,9 +109,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -132,9 +132,9 @@ "source_mapping": { "start": 28, "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -190,10 +190,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "302b9a771b1009999d212d50adb2b938ccf41f2c26880fe17060a8922ea4836a", + "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" @@ -202,20 +202,22 @@ "elements": [ { "type": "function", - "name": "h", + "name": "f", "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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 + 9, + 10, + 11, + 12, + 13, + 14, + 15 ], "starting_column": 5, "ending_column": 6 @@ -227,9 +229,9 @@ "source_mapping": { "start": 28, "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -279,42 +281,44 @@ "ending_column": 2 } }, - "signature": "h()" + "signature": "f()" } }, { "type": "node", - "name": "x2 = 100000", + "name": "x2 = 0x0000000000001", "source_mapping": { - "start": 512, - "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ - 22 + 11 ], "starting_column": 9, - "ending_column": 25 + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "h", + "name": "f", "source_mapping": { - "start": 456, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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 + 9, + 10, + 11, + 12, + 13, + 14, + 15 ], "starting_column": 5, "ending_column": 6 @@ -326,9 +330,9 @@ "source_mapping": { "start": 28, "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -378,16 +382,16 @@ "ending_column": 2 } }, - "signature": "h()" + "signature": "f()" } } } } ], - "description": "C.h() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L20-L24", - "id": "7cd1e51c89ae28bc9bf2c7e406b39f97a648cde765fc2a05c14697648ad27e92", + "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" @@ -400,9 +404,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -423,9 +427,9 @@ "source_mapping": { "start": 28, "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -484,9 +488,9 @@ "source_mapping": { "start": 311, "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 13 @@ -501,9 +505,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -524,9 +528,9 @@ "source_mapping": { "start": 28, "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -582,10 +586,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "b8986c1b09fc9896372df90e6b43a08dfb3e3a920bd002ab5ee9eb4a29f92d95", + "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" @@ -594,22 +598,20 @@ "elements": [ { "type": "function", - "name": "f", + "name": "h", "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 5, "ending_column": 6 @@ -621,9 +623,9 @@ "source_mapping": { "start": 28, "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -673,44 +675,42 @@ "ending_column": 2 } }, - "signature": "f()" + "signature": "h()" } }, { "type": "node", - "name": "x1 = 0x000001", + "name": "x2 = 100000", "source_mapping": { - "start": 209, - "length": 18, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ - 10 + 22 ], "starting_column": 9, - "ending_column": 27 + "ending_column": 25 }, "type_specific_fields": { "parent": { "type": "function", - "name": "f", + "name": "h", "source_mapping": { - "start": 177, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 5, "ending_column": 6 @@ -722,9 +722,9 @@ "source_mapping": { "start": 28, "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -774,16 +774,16 @@ "ending_column": 2 } }, - "signature": "f()" + "signature": "h()" } } } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "d467d1c664634fc17c861de567ef53f0ce8964e9b337127308dad5d3cb0bc343", + "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" @@ -796,9 +796,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -819,9 +819,9 @@ "source_mapping": { "start": 28, "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -876,19 +876,19 @@ }, { "type": "node", - "name": "x3 = 1000000000000000000", + "name": "x1 = 0x000001", "source_mapping": { - "start": 272, - "length": 29, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "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/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ - 12 + 10 ], "starting_column": 9, - "ending_column": 38 + "ending_column": 27 }, "type_specific_fields": { "parent": { @@ -897,9 +897,9 @@ "source_mapping": { "start": 177, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -920,9 +920,9 @@ "source_mapping": { "start": 28, "length": 1000, - "filename_relative": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -978,10 +978,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.6.11/too_many_digits.sol#L9-L15", - "id": "ed4cd26212cad644e275c3784912d9fe2d0789a9cb731a1a20bfdb30554f6f3a", + "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" diff --git a/tests/detectors/too-many-digits/0.7.6/too_many_digits.sol b/tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol similarity index 100% rename from tests/detectors/too-many-digits/0.7.6/too_many_digits.sol rename to tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json rename to tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol.0.7.6.TooManyDigits.json index 43842a92be..84ebdae377 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 151, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -31,9 +31,9 @@ "source_mapping": { "start": 2, "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -86,19 +86,19 @@ }, { "type": "node", - "name": "x2 = 0x0000000000001", + "name": "x3 = 1000000000000000000", "source_mapping": { - "start": 211, - "length": 25, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "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/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ - 11 + 12 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 38 }, "type_specific_fields": { "parent": { @@ -107,9 +107,9 @@ "source_mapping": { "start": 151, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -130,9 +130,9 @@ "source_mapping": { "start": 2, "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -186,10 +186,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x2 = 0x0000000000001 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#11)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x2 = 0x0000000000001](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L11)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "41a60e2fb1f3a88adafd67ca77db4633849be26e1b8b9973b8bf9e8ea5a9d024", + "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" @@ -202,9 +202,9 @@ "source_mapping": { "start": 151, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -225,9 +225,9 @@ "source_mapping": { "start": 2, "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -280,19 +280,19 @@ }, { "type": "node", - "name": "x3 = 1000000000000000000", + "name": "x2 = 0x0000000000001", "source_mapping": { - "start": 246, - "length": 29, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "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/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ - 12 + 11 ], "starting_column": 9, - "ending_column": 38 + "ending_column": 34 }, "type_specific_fields": { "parent": { @@ -301,9 +301,9 @@ "source_mapping": { "start": 151, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -324,9 +324,9 @@ "source_mapping": { "start": 2, "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -380,10 +380,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x3 = 1000000000000000000 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#12)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x3 = 1000000000000000000](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L12)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "4876b33b2a9fb13f6def960f7f9060cbf858f117079526017b1b35a928771680", + "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" @@ -396,9 +396,9 @@ "source_mapping": { "start": 151, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -419,9 +419,9 @@ "source_mapping": { "start": 2, "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -478,9 +478,9 @@ "source_mapping": { "start": 183, "length": 18, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 10 @@ -495,9 +495,9 @@ "source_mapping": { "start": 151, "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 9, @@ -518,9 +518,9 @@ "source_mapping": { "start": 2, "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -574,10 +574,10 @@ } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x1 = 0x000001 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#10)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x1 = 0x000001](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L10)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "a053c2f439e1e4ac84469e1aab54f4403d4ab14bf81bae6e7a3d2e489b3514bd", + "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" @@ -586,22 +586,20 @@ "elements": [ { "type": "function", - "name": "f", + "name": "h", "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "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/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 5, "ending_column": 6 @@ -613,9 +611,9 @@ "source_mapping": { "start": 2, "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -663,21 +661,21 @@ "ending_column": 2 } }, - "signature": "f()" + "signature": "h()" } }, { "type": "node", - "name": "x4 = 100000", + "name": "x2 = 100000", "source_mapping": { - "start": 285, + "start": 486, "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ - 13 + 22 ], "starting_column": 9, "ending_column": 25 @@ -685,22 +683,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "f", + "name": "h", "source_mapping": { - "start": 151, - "length": 195, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "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/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 5, "ending_column": 6 @@ -712,9 +708,9 @@ "source_mapping": { "start": 2, "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -762,16 +758,16 @@ "ending_column": 2 } }, - "signature": "f()" + "signature": "h()" } } } } ], - "description": "C.f() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#9-15) uses literals with too many digits:\n\t- x4 = 100000 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#13)\n", - "markdown": "[C.f()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15) uses literals with too many digits:\n\t- [x4 = 100000](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L13)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L9-L15", - "id": "cb3b2fdb9be68cc3ddd7d4eb949471b64b62cf93ba43c377682cbdca2f81321e", + "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" @@ -780,20 +776,22 @@ "elements": [ { "type": "function", - "name": "h", + "name": "f", "source_mapping": { - "start": 430, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "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/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "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 + 9, + 10, + 11, + 12, + 13, + 14, + 15 ], "starting_column": 5, "ending_column": 6 @@ -805,9 +803,9 @@ "source_mapping": { "start": 2, "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -855,21 +853,21 @@ "ending_column": 2 } }, - "signature": "h()" + "signature": "f()" } }, { "type": "node", - "name": "x2 = 100000", + "name": "x4 = 100000", "source_mapping": { - "start": 486, + "start": 285, "length": 16, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ - 22 + 13 ], "starting_column": 9, "ending_column": 25 @@ -877,20 +875,22 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "h", + "name": "f", "source_mapping": { - "start": 430, - "length": 113, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "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/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "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 + 9, + 10, + 11, + 12, + 13, + 14, + 15 ], "starting_column": 5, "ending_column": 6 @@ -902,9 +902,9 @@ "source_mapping": { "start": 2, "length": 917, - "filename_relative": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_relative": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol", + "filename_short": "tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol", "is_dependency": false, "lines": [ 3, @@ -952,16 +952,16 @@ "ending_column": 2 } }, - "signature": "h()" + "signature": "f()" } } } } ], - "description": "C.h() (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#20-24) uses literals with too many digits:\n\t- x2 = 100000 (tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#22)\n", - "markdown": "[C.h()](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L20-L24) uses literals with too many digits:\n\t- [x2 = 100000](tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L22)\n", - "first_markdown_element": "tests/detectors/too-many-digits/0.7.6/too_many_digits.sol#L20-L24", - "id": "dc1ea18f753ecea6946e89eb6676abb3813a16bc6a407e6a54ce87beeee261af", + "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" diff --git a/tests/detectors/tx-origin/0.4.25/tx_origin.sol b/tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol similarity index 100% rename from tests/detectors/tx-origin/0.4.25/tx_origin.sol rename to tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json rename to tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol.0.4.25.TxOrigin.json index e1d62e6845..02b43f0d10 100644 --- a/tests/detectors/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 @@ -4,20 +4,18 @@ "elements": [ { "type": "function", - "name": "bug2", + "name": "bug0", "source_mapping": { - "start": 182, - "length": 89, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "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/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "is_dependency": false, "lines": [ - 13, - 14, - 15, - 16, - 17 + 9, + 10, + 11 ], "starting_column": 5, "ending_column": 6 @@ -29,9 +27,9 @@ "source_mapping": { "start": 28, "length": 393, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -63,42 +61,40 @@ "ending_column": 2 } }, - "signature": "bug2()" + "signature": "bug0()" } }, { "type": "node", - "name": "tx.origin != owner", + "name": "require(bool)(tx.origin == owner)", "source_mapping": { - "start": 212, - "length": 18, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "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/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "is_dependency": false, "lines": [ - 14 + 10 ], - "starting_column": 13, - "ending_column": 31 + "starting_column": 9, + "ending_column": 36 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bug2", + "name": "bug0", "source_mapping": { - "start": 182, - "length": 89, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "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/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "is_dependency": false, "lines": [ - 13, - 14, - 15, - 16, - 17 + 9, + 10, + 11 ], "starting_column": 5, "ending_column": 6 @@ -110,9 +106,9 @@ "source_mapping": { "start": 28, "length": 393, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -144,16 +140,16 @@ "ending_column": 2 } }, - "signature": "bug2()" + "signature": "bug0()" } } } } ], - "description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.4.25/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.4.25/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.4.25/tx_origin.sol#L13-L17", - "id": "7abecda0c73eb43dadcd93458222d0848b1dee58af66887f81b9381c90e656f6", + "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" @@ -162,18 +158,20 @@ "elements": [ { "type": "function", - "name": "bug0", + "name": "bug2", "source_mapping": { - "start": 116, - "length": 60, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "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/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "is_dependency": false, "lines": [ - 9, - 10, - 11 + 13, + 14, + 15, + 16, + 17 ], "starting_column": 5, "ending_column": 6 @@ -185,9 +183,9 @@ "source_mapping": { "start": 28, "length": 393, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -219,40 +217,42 @@ "ending_column": 2 } }, - "signature": "bug0()" + "signature": "bug2()" } }, { "type": "node", - "name": "require(bool)(tx.origin == owner)", + "name": "tx.origin != owner", "source_mapping": { - "start": 142, - "length": 27, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "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/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "is_dependency": false, "lines": [ - 10 + 14 ], - "starting_column": 9, - "ending_column": 36 + "starting_column": 13, + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bug0", + "name": "bug2", "source_mapping": { - "start": 116, - "length": 60, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "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/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "is_dependency": false, "lines": [ - 9, - 10, - 11 + 13, + 14, + 15, + 16, + 17 ], "starting_column": 5, "ending_column": 6 @@ -264,9 +264,9 @@ "source_mapping": { "start": 28, "length": 393, - "filename_relative": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.4.25/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -298,16 +298,16 @@ "ending_column": 2 } }, - "signature": "bug0()" + "signature": "bug2()" } } } } ], - "description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.4.25/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.4.25/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.4.25/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.4.25/tx_origin.sol#L9-L11", - "id": "b8173796b90a23f4587ed67d7100dfd3c890bf9f96910e177630bb8a6f1703fe", + "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" diff --git a/tests/detectors/tx-origin/0.5.16/tx_origin.sol b/tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol similarity index 100% rename from tests/detectors/tx-origin/0.5.16/tx_origin.sol rename to tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json rename to tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol.0.5.16.TxOrigin.json index 4039d42a72..77cd977b2d 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 127, "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "is_dependency": false, "lines": [ 9, @@ -27,9 +27,9 @@ "source_mapping": { "start": 25, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -70,9 +70,9 @@ "source_mapping": { "start": 159, "length": 27, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "is_dependency": false, "lines": [ 10 @@ -87,9 +87,9 @@ "source_mapping": { "start": 127, "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "is_dependency": false, "lines": [ 9, @@ -106,9 +106,9 @@ "source_mapping": { "start": 25, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -146,10 +146,10 @@ } } ], - "description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.5.16/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.5.16/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.5.16/tx_origin.sol#L9-L11", - "id": "17b0e5d0ce8741c95b5fd54f143d62588a291db7741897da6704c30d9e3abccd", + "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" @@ -162,9 +162,9 @@ "source_mapping": { "start": 199, "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "is_dependency": false, "lines": [ 13, @@ -183,9 +183,9 @@ "source_mapping": { "start": 25, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -226,9 +226,9 @@ "source_mapping": { "start": 235, "length": 18, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "is_dependency": false, "lines": [ 14 @@ -243,9 +243,9 @@ "source_mapping": { "start": 199, "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "is_dependency": false, "lines": [ 13, @@ -264,9 +264,9 @@ "source_mapping": { "start": 25, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.5.16/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -304,10 +304,10 @@ } } ], - "description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.5.16/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.5.16/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.5.16/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.5.16/tx_origin.sol#L13-L17", - "id": "f3508f86e8e1e9edd815558ff94afc9428e8c0e2363a447efb86ceeefbc70ee3", + "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" diff --git a/tests/detectors/tx-origin/0.6.11/tx_origin.sol b/tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol similarity index 100% rename from tests/detectors/tx-origin/0.6.11/tx_origin.sol rename to tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json rename to tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol.0.6.11.TxOrigin.json index c400e5d095..fbc904ae33 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 130, "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "is_dependency": false, "lines": [ 9, @@ -27,9 +27,9 @@ "source_mapping": { "start": 28, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -70,9 +70,9 @@ "source_mapping": { "start": 162, "length": 27, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "is_dependency": false, "lines": [ 10 @@ -87,9 +87,9 @@ "source_mapping": { "start": 130, "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "is_dependency": false, "lines": [ 9, @@ -106,9 +106,9 @@ "source_mapping": { "start": 28, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -146,10 +146,10 @@ } } ], - "description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.6.11/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.6.11/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.6.11/tx_origin.sol#L9-L11", - "id": "5eb57935f1e4650e5340de788d03401c5f010c2bf5f0240254d2235bbe1b970b", + "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" @@ -162,9 +162,9 @@ "source_mapping": { "start": 202, "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "is_dependency": false, "lines": [ 13, @@ -183,9 +183,9 @@ "source_mapping": { "start": 28, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -226,9 +226,9 @@ "source_mapping": { "start": 238, "length": 18, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "is_dependency": false, "lines": [ 14 @@ -243,9 +243,9 @@ "source_mapping": { "start": 202, "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "is_dependency": false, "lines": [ 13, @@ -264,9 +264,9 @@ "source_mapping": { "start": 28, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.6.11/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -304,10 +304,10 @@ } } ], - "description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.6.11/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.6.11/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.6.11/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.6.11/tx_origin.sol#L13-L17", - "id": "817a27177f073d8ab4a011817ea1e6ebb8b7cba8691c8dea621ee65a77871ee0", + "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" diff --git a/tests/detectors/tx-origin/0.7.6/tx_origin.sol b/tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol similarity index 100% rename from tests/detectors/tx-origin/0.7.6/tx_origin.sol rename to tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json rename to tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol.0.7.6.TxOrigin.json index 63fee8fe26..d0e7139c77 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 202, "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "is_dependency": false, "lines": [ 13, @@ -29,9 +29,9 @@ "source_mapping": { "start": 28, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -72,9 +72,9 @@ "source_mapping": { "start": 238, "length": 18, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "is_dependency": false, "lines": [ 14 @@ -89,9 +89,9 @@ "source_mapping": { "start": 202, "length": 95, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "is_dependency": false, "lines": [ 13, @@ -110,9 +110,9 @@ "source_mapping": { "start": 28, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -150,10 +150,10 @@ } } ], - "description": "TxOrigin.bug2() (tests/detectors/tx-origin/0.7.6/tx_origin.sol#13-17) uses tx.origin for authorization: tx.origin != owner (tests/detectors/tx-origin/0.7.6/tx_origin.sol#14)\n", - "markdown": "[TxOrigin.bug2()](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L13-L17) uses tx.origin for authorization: [tx.origin != owner](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L14)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.7.6/tx_origin.sol#L13-L17", - "id": "1c195c6a3ea5b7e77c12b7580544ef2320699359862c22961726f112ab27b3a5", + "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" @@ -166,9 +166,9 @@ "source_mapping": { "start": 130, "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "is_dependency": false, "lines": [ 9, @@ -185,9 +185,9 @@ "source_mapping": { "start": 28, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -228,9 +228,9 @@ "source_mapping": { "start": 162, "length": 27, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "is_dependency": false, "lines": [ 10 @@ -245,9 +245,9 @@ "source_mapping": { "start": 130, "length": 66, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "is_dependency": false, "lines": [ 9, @@ -264,9 +264,9 @@ "source_mapping": { "start": 28, "length": 442, - "filename_relative": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_relative": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/tx-origin/0.7.6/tx_origin.sol", + "filename_short": "tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol", "is_dependency": false, "lines": [ 3, @@ -304,10 +304,10 @@ } } ], - "description": "TxOrigin.bug0() (tests/detectors/tx-origin/0.7.6/tx_origin.sol#9-11) uses tx.origin for authorization: require(bool)(tx.origin == owner) (tests/detectors/tx-origin/0.7.6/tx_origin.sol#10)\n", - "markdown": "[TxOrigin.bug0()](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L9-L11) uses tx.origin for authorization: [require(bool)(tx.origin == owner)](tests/detectors/tx-origin/0.7.6/tx_origin.sol#L10)\n", - "first_markdown_element": "tests/detectors/tx-origin/0.7.6/tx_origin.sol#L9-L11", - "id": "d3d9d4cb2307781870af54ebca528052197b021adcabf4d0c3a897e96affece3", + "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" diff --git a/tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol similarity index 100% rename from tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol.0.4.25.UncheckedLowLevel.json index dfdbd5f129..6e32d2a64a 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 21, "length": 88, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 214, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 1, @@ -56,9 +56,9 @@ "source_mapping": { "start": 73, "length": 29, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 3 @@ -73,9 +73,9 @@ "source_mapping": { "start": 21, "length": 88, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 2, @@ -92,9 +92,9 @@ "source_mapping": { "start": 0, "length": 214, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 1, @@ -118,10 +118,10 @@ } } ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol#L2-L4", - "id": "5e99856e75f5f5937a5b9f8f90fc9ce01eabfcf97c0d3e2b59f5cd057add9c19", + "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" diff --git a/tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol similarity index 100% rename from tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol.0.5.16.UncheckedLowLevel.json index 2056620b30..8cbe3b1bc3 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 21, "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 1, @@ -57,9 +57,9 @@ "source_mapping": { "start": 81, "length": 29, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 3 @@ -74,9 +74,9 @@ "source_mapping": { "start": 21, "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 2, @@ -93,9 +93,9 @@ "source_mapping": { "start": 0, "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 1, @@ -120,10 +120,10 @@ } } ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol#L2-L4", - "id": "f03d14053bc8c0d4a6cacad0f9915b9d1be3a711767d92e994ae01f690e2b9ca", + "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" diff --git a/tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol similarity index 100% rename from tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol.0.6.11.UncheckedLowLevel.json index 65f0da15f1..5c462303cb 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 21, "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 1, @@ -57,9 +57,9 @@ "source_mapping": { "start": 81, "length": 29, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 3 @@ -74,9 +74,9 @@ "source_mapping": { "start": 21, "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 2, @@ -93,9 +93,9 @@ "source_mapping": { "start": 0, "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 1, @@ -120,10 +120,10 @@ } } ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#2-4) ignores return value by dst.call.value(msg.value)() (tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call.value(msg.value)()](tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol#L2-L4", - "id": "9b10d50510f386ab6f8cbfed4486317d581fcb6795ccc773bb0e7922b4e2512f", + "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" diff --git a/tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol b/tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol similarity index 100% rename from tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol diff --git a/tests/detectors/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 similarity index 71% rename from tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json rename to tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol.0.7.6.UncheckedLowLevel.json index 60d55a8a90..4fb9e18e76 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 21, "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 1, @@ -57,9 +57,9 @@ "source_mapping": { "start": 81, "length": 29, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 3 @@ -74,9 +74,9 @@ "source_mapping": { "start": 21, "length": 96, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 2, @@ -93,9 +93,9 @@ "source_mapping": { "start": 0, "length": 274, - "filename_relative": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol", "is_dependency": false, "lines": [ 1, @@ -120,10 +120,10 @@ } } ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#2-4) ignores return value by dst.call{value: msg.value}() (tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L2-L4) ignores return value by [dst.call{value: msg.value}()](tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol#L2-L4", - "id": "55182dfa175ac27adc4625cf672f25b6b759d8f4645fed76e35bbeace0733169", + "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" diff --git a/tests/detectors/unchecked-send/0.4.25/unchecked_send.sol b/tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol similarity index 100% rename from tests/detectors/unchecked-send/0.4.25/unchecked_send.sol rename to tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json rename to tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol.0.4.25.UncheckedSend.json index 1a15631fd3..039c36d9e9 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 21, "length": 78, - "filename_relative": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 395, - "filename_relative": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", "is_dependency": false, "lines": [ 1, @@ -64,9 +64,9 @@ "source_mapping": { "start": 73, "length": 19, - "filename_relative": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", "is_dependency": false, "lines": [ 3 @@ -81,9 +81,9 @@ "source_mapping": { "start": 21, "length": 78, - "filename_relative": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", "is_dependency": false, "lines": [ 2, @@ -100,9 +100,9 @@ "source_mapping": { "start": 0, "length": 395, - "filename_relative": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol", "is_dependency": false, "lines": [ 1, @@ -134,10 +134,10 @@ } } ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-send/0.4.25/unchecked_send.sol#L2-L4", - "id": "b94e1c9425182d05c61d316caea5bc02b4b68478b0640db50f80f3a8af690cf8", + "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" diff --git a/tests/detectors/unchecked-send/0.5.16/unchecked_send.sol b/tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol similarity index 100% rename from tests/detectors/unchecked-send/0.5.16/unchecked_send.sol rename to tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json rename to tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol.0.5.16.UncheckedSend.json index a24ca9ef95..fd3a9775e2 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 21, "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", "is_dependency": false, "lines": [ 1, @@ -64,9 +64,9 @@ "source_mapping": { "start": 81, "length": 19, - "filename_relative": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", "is_dependency": false, "lines": [ 3 @@ -81,9 +81,9 @@ "source_mapping": { "start": 21, "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", "is_dependency": false, "lines": [ 2, @@ -100,9 +100,9 @@ "source_mapping": { "start": 0, "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol", "is_dependency": false, "lines": [ 1, @@ -134,10 +134,10 @@ } } ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-send/0.5.16/unchecked_send.sol#L2-L4", - "id": "0a6498f517f4ce099f69fa38244cd23d58ea065fced5890d0cbbc1e5d3cc2c67", + "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" diff --git a/tests/detectors/unchecked-send/0.6.11/unchecked_send.sol b/tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol similarity index 100% rename from tests/detectors/unchecked-send/0.6.11/unchecked_send.sol rename to tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json rename to tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol.0.6.11.UncheckedSend.json index 736dfeb3d8..f74efaa705 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 21, "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", "is_dependency": false, "lines": [ 1, @@ -64,9 +64,9 @@ "source_mapping": { "start": 81, "length": 19, - "filename_relative": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", "is_dependency": false, "lines": [ 3 @@ -81,9 +81,9 @@ "source_mapping": { "start": 21, "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", "is_dependency": false, "lines": [ 2, @@ -100,9 +100,9 @@ "source_mapping": { "start": 0, "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol", "is_dependency": false, "lines": [ 1, @@ -134,10 +134,10 @@ } } ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-send/0.6.11/unchecked_send.sol#L2-L4", - "id": "9050ea44b0aae908f94739cc228af9e1964fe0b0305fd90797259305f9344b5e", + "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" diff --git a/tests/detectors/unchecked-send/0.7.6/unchecked_send.sol b/tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol similarity index 100% rename from tests/detectors/unchecked-send/0.7.6/unchecked_send.sol rename to tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json rename to tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol.0.7.6.UncheckedSend.json index 8f8a6ab233..3984b49e96 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 21, "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", "is_dependency": false, "lines": [ 2, @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", "is_dependency": false, "lines": [ 1, @@ -64,9 +64,9 @@ "source_mapping": { "start": 81, "length": 19, - "filename_relative": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", "is_dependency": false, "lines": [ 3 @@ -81,9 +81,9 @@ "source_mapping": { "start": 21, "length": 86, - "filename_relative": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", "is_dependency": false, "lines": [ 2, @@ -100,9 +100,9 @@ "source_mapping": { "start": 0, "length": 419, - "filename_relative": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol", "is_dependency": false, "lines": [ 1, @@ -134,10 +134,10 @@ } } ], - "description": "MyConc.bad(address) (tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#2-4) ignores return value by dst.send(msg.value) (tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#3)\n", - "markdown": "[MyConc.bad(address)](tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#L2-L4) ignores return value by [dst.send(msg.value)](tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#L3)\n", - "first_markdown_element": "tests/detectors/unchecked-send/0.7.6/unchecked_send.sol#L2-L4", - "id": "74d3637eb50def7c93e85041859377832449a73e2546ab915ac91aef6d9a30e8", + "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" diff --git a/tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol b/tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol similarity index 100% rename from tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol rename to tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol diff --git a/tests/detectors/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 similarity index 80% rename from tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json rename to tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol.0.7.6.UncheckedTransfer.json index 46c6b365bb..7e14b9765e 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 461, "length": 70, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "is_dependency": false, "lines": [ 20, @@ -27,9 +27,9 @@ "source_mapping": { "start": 330, "length": 1456, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "is_dependency": false, "lines": [ 12, @@ -99,9 +99,9 @@ "source_mapping": { "start": 493, "length": 31, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "is_dependency": false, "lines": [ 21 @@ -116,9 +116,9 @@ "source_mapping": { "start": 461, "length": 70, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "is_dependency": false, "lines": [ 20, @@ -135,9 +135,9 @@ "source_mapping": { "start": 330, "length": 1456, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "is_dependency": false, "lines": [ 12, @@ -204,10 +204,10 @@ } } ], - "description": "C.bad0() (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#20-22) ignores return value by t.transfer(address(0),1000000000000000000) (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#21)\n", - "markdown": "[C.bad0()](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L20-L22) ignores return value by [t.transfer(address(0),1000000000000000000)](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L21)\n", - "first_markdown_element": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L20-L22", - "id": "80065ea26ff38c396f5e90355b471bae6064c77a22e2c248d2cb8212542fd685", + "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" @@ -220,9 +220,9 @@ "source_mapping": { "start": 1043, "length": 90, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "is_dependency": false, "lines": [ 40, @@ -239,9 +239,9 @@ "source_mapping": { "start": 330, "length": 1456, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "is_dependency": false, "lines": [ 12, @@ -311,9 +311,9 @@ "source_mapping": { "start": 1076, "length": 50, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "is_dependency": false, "lines": [ 41 @@ -328,9 +328,9 @@ "source_mapping": { "start": 1043, "length": 90, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "is_dependency": false, "lines": [ 40, @@ -347,9 +347,9 @@ "source_mapping": { "start": 330, "length": 1456, - "filename_relative": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_relative": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol", + "filename_short": "tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol", "is_dependency": false, "lines": [ 12, @@ -416,10 +416,10 @@ } } ], - "description": "C.bad1() (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#40-42) ignores return value by t.transferFrom(address(this),address(0),1000000000000000000) (tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#41)\n", - "markdown": "[C.bad1()](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L40-L42) ignores return value by [t.transferFrom(address(this),address(0),1000000000000000000)](tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L41)\n", - "first_markdown_element": "tests/detectors/unchecked-transfer/0.7.6/unused_return_transfers.sol#L40-L42", - "id": "f5cc3050f74f696eb02ce0887fca6c8b0a4a8a663974a8eddec9206ad787295d", + "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" diff --git a/tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol diff --git a/tests/detectors/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 similarity index 63% rename from tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json rename to tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol.0.4.25.UnimplementedFunctionDetection.json index c9d7e2df86..002670feab 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 775, "length": 243, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 35, @@ -31,9 +31,9 @@ "source_mapping": { "start": 495, "length": 42, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 24 @@ -48,9 +48,9 @@ "source_mapping": { "start": 465, "length": 74, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 23, @@ -65,9 +65,9 @@ } } ], - "description": "DerivedContract_good (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#35-41) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_good](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L35-L41) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L35-L41", + "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", @@ -81,9 +81,9 @@ "source_mapping": { "start": 541, "length": 232, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 27, @@ -104,9 +104,9 @@ "source_mapping": { "start": 495, "length": 42, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 24 @@ -121,9 +121,9 @@ "source_mapping": { "start": 465, "length": 74, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 23, @@ -138,9 +138,9 @@ } } ], - "description": "DerivedContract_bad2 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_bad2](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L27-L33", + "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", @@ -154,9 +154,9 @@ "source_mapping": { "start": 185, "length": 133, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 10, @@ -175,9 +175,9 @@ "source_mapping": { "start": 72, "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 3 @@ -192,9 +192,9 @@ "source_mapping": { "start": 0, "length": 111, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 1, @@ -215,9 +215,9 @@ "source_mapping": { "start": 144, "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 7 @@ -232,9 +232,9 @@ "source_mapping": { "start": 113, "length": 70, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 6, @@ -249,9 +249,9 @@ } } ], - "description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L10-L14", + "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", @@ -265,9 +265,9 @@ "source_mapping": { "start": 320, "length": 143, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 16, @@ -287,9 +287,9 @@ "source_mapping": { "start": 357, "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 17 @@ -304,9 +304,9 @@ "source_mapping": { "start": 320, "length": 143, - "filename_relative": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol", "is_dependency": false, "lines": [ 16, @@ -324,9 +324,9 @@ } } ], - "description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.4.25/unimplemented.sol#L16-L21", + "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", diff --git a/tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol diff --git a/tests/detectors/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 similarity index 63% rename from tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json rename to tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol.0.5.16.UnimplementedFunctionDetection.json index 83eed49522..ea4ac759e0 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 185, "length": 133, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "is_dependency": false, "lines": [ 10, @@ -29,9 +29,9 @@ "source_mapping": { "start": 72, "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "is_dependency": false, "lines": [ 3 @@ -46,9 +46,9 @@ "source_mapping": { "start": 0, "length": 111, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "is_dependency": false, "lines": [ 1, @@ -69,9 +69,9 @@ "source_mapping": { "start": 144, "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "is_dependency": false, "lines": [ 7 @@ -86,9 +86,9 @@ "source_mapping": { "start": 113, "length": 70, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "is_dependency": false, "lines": [ 6, @@ -103,9 +103,9 @@ } } ], - "description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L10-L14", + "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", @@ -119,9 +119,9 @@ "source_mapping": { "start": 320, "length": 143, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "is_dependency": false, "lines": [ 16, @@ -141,9 +141,9 @@ "source_mapping": { "start": 357, "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "is_dependency": false, "lines": [ 17 @@ -158,9 +158,9 @@ "source_mapping": { "start": 320, "length": 143, - "filename_relative": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol", "is_dependency": false, "lines": [ 16, @@ -178,9 +178,9 @@ } } ], - "description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.5.16/unimplemented.sol#L16-L21", + "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", diff --git a/tests/detectors/unimplemented-functions/0.5.16/unimplemented_interfaces.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.5.16/unimplemented_interfaces.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unimplemented-functions/0.5.16/unimplemented_interfaces.sol.0.5.16.UnimplementedFunctionDetection.json rename to tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol.0.5.16.UnimplementedFunctionDetection.json diff --git a/tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol diff --git a/tests/detectors/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 similarity index 63% rename from tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json rename to tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol.0.6.11.UnimplementedFunctionDetection.json index ffe53cf282..9d5db3cbcd 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 593, "length": 344, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "is_dependency": false, "lines": [ 27, @@ -31,9 +31,9 @@ "source_mapping": { "start": 539, "length": 50, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "is_dependency": false, "lines": [ 24 @@ -48,9 +48,9 @@ "source_mapping": { "start": 500, "length": 91, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "is_dependency": false, "lines": [ 23, @@ -65,9 +65,9 @@ } } ], - "description": "DerivedContract_bad2 (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_bad2](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L27-L33", + "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", @@ -81,9 +81,9 @@ "source_mapping": { "start": 185, "length": 151, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "is_dependency": false, "lines": [ 10, @@ -102,9 +102,9 @@ "source_mapping": { "start": 72, "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "is_dependency": false, "lines": [ 3 @@ -119,9 +119,9 @@ "source_mapping": { "start": 0, "length": 111, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "is_dependency": false, "lines": [ 1, @@ -142,9 +142,9 @@ "source_mapping": { "start": 144, "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "is_dependency": false, "lines": [ 7 @@ -159,9 +159,9 @@ "source_mapping": { "start": 113, "length": 70, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "is_dependency": false, "lines": [ 6, @@ -176,9 +176,9 @@ } } ], - "description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L10-L14", + "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", @@ -192,9 +192,9 @@ "source_mapping": { "start": 338, "length": 160, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "is_dependency": false, "lines": [ 16, @@ -214,9 +214,9 @@ "source_mapping": { "start": 384, "length": 45, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "is_dependency": false, "lines": [ 17 @@ -231,9 +231,9 @@ "source_mapping": { "start": 338, "length": 160, - "filename_relative": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol", "is_dependency": false, "lines": [ 16, @@ -251,9 +251,9 @@ } } ], - "description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.6.11/unimplemented.sol#L16-L21", + "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", diff --git a/tests/detectors/unimplemented-functions/0.6.11/unimplemented_interfaces.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.6.11/unimplemented_interfaces.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unimplemented-functions/0.6.11/unimplemented_interfaces.sol.0.6.11.UnimplementedFunctionDetection.json rename to tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol.0.6.11.UnimplementedFunctionDetection.json diff --git a/tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol diff --git a/tests/detectors/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 similarity index 63% rename from tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json rename to tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol.0.7.6.UnimplementedFunctionDetection.json index 9f65c2b125..a8a2dcc4a6 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 593, "length": 344, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "is_dependency": false, "lines": [ 27, @@ -31,9 +31,9 @@ "source_mapping": { "start": 539, "length": 50, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "is_dependency": false, "lines": [ 24 @@ -48,9 +48,9 @@ "source_mapping": { "start": 500, "length": 91, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "is_dependency": false, "lines": [ 23, @@ -65,9 +65,9 @@ } } ], - "description": "DerivedContract_bad2 (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#27-33) does not implement functions:\n\t- BaseInterface3.get(uint256) (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#24)\n", - "markdown": "[DerivedContract_bad2](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L27-L33) does not implement functions:\n\t- [BaseInterface3.get(uint256)](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L24)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L27-L33", + "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", @@ -81,9 +81,9 @@ "source_mapping": { "start": 185, "length": 151, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "is_dependency": false, "lines": [ 10, @@ -102,9 +102,9 @@ "source_mapping": { "start": 72, "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "is_dependency": false, "lines": [ 3 @@ -119,9 +119,9 @@ "source_mapping": { "start": 0, "length": 111, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "is_dependency": false, "lines": [ 1, @@ -142,9 +142,9 @@ "source_mapping": { "start": 144, "length": 37, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "is_dependency": false, "lines": [ 7 @@ -159,9 +159,9 @@ "source_mapping": { "start": 113, "length": 70, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "is_dependency": false, "lines": [ 6, @@ -176,9 +176,9 @@ } } ], - "description": "DerivedContract_bad0 (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#10-14) does not implement functions:\n\t- BaseInterface.f2() (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#3)\n\t- BaseInterface2.f3() (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#7)\n", - "markdown": "[DerivedContract_bad0](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L10-L14) does not implement functions:\n\t- [BaseInterface.f2()](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L3)\n\t- [BaseInterface2.f3()](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L7)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L10-L14", + "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", @@ -192,9 +192,9 @@ "source_mapping": { "start": 338, "length": 160, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "is_dependency": false, "lines": [ 16, @@ -214,9 +214,9 @@ "source_mapping": { "start": 384, "length": 45, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "is_dependency": false, "lines": [ 17 @@ -231,9 +231,9 @@ "source_mapping": { "start": 338, "length": 160, - "filename_relative": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_relative": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol", + "filename_short": "tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol", "is_dependency": false, "lines": [ 16, @@ -251,9 +251,9 @@ } } ], - "description": "AbstractContract_bad1 (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#16-21) does not implement functions:\n\t- AbstractContract_bad1.f1() (tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#17)\n", - "markdown": "[AbstractContract_bad1](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L16-L21) does not implement functions:\n\t- [AbstractContract_bad1.f1()](tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L17)\n", - "first_markdown_element": "tests/detectors/unimplemented-functions/0.7.6/unimplemented.sol#L16-L21", + "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", diff --git a/tests/detectors/unimplemented-functions/0.7.6/unimplemented_interfaces.sol b/tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol similarity index 100% rename from tests/detectors/unimplemented-functions/0.7.6/unimplemented_interfaces.sol rename to tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unimplemented-functions/0.7.6/unimplemented_interfaces.sol.0.7.6.UnimplementedFunctionDetection.json rename to tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol.0.7.6.UnimplementedFunctionDetection.json diff --git a/tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol similarity index 100% rename from tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol rename to tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol diff --git a/tests/detectors/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.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json similarity index 65% rename from tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json rename to tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json index b7f62a48e7..3d768545e7 100644 --- a/tests/detectors/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.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json @@ -1,108 +1,5 @@ [ [ - { - "elements": [ - { - "type": "contract", - "name": "bad1", - "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#11-18) \n\t b(10) (tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L11-L18) \n\t [b(10)](tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L11-L18", - "id": "0a6083d96a9a819c3ddc6d0dc1440fb8e8ec096abe5a7b6bf8951a2dacc11c56", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - }, { "elements": [ { @@ -111,9 +8,9 @@ "source_mapping": { "start": 486, "length": 199, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -137,9 +34,9 @@ "source_mapping": { "start": 671, "length": 7, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 27 @@ -154,9 +51,9 @@ "source_mapping": { "start": 628, "length": 55, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 25, @@ -174,9 +71,9 @@ "source_mapping": { "start": 486, "length": 199, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 20, @@ -200,10 +97,10 @@ } } ], - "description": "Contract bad2 (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#20-29) \n\t s.a(10) (tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L20-L29) \n\t [s.a(10)](tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L20-L29", - "id": "0ac2c56701b85e4123747f055651dfab2a1ddb0954e9065b7f39ecf21c6810b7", + "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" @@ -216,9 +113,9 @@ "source_mapping": { "start": 27, "length": 149, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 3, @@ -239,9 +136,9 @@ "source_mapping": { "start": 164, "length": 5, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 7 @@ -256,9 +153,9 @@ "source_mapping": { "start": 45, "length": 129, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 4, @@ -277,9 +174,9 @@ "source_mapping": { "start": 27, "length": 149, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 3, @@ -300,10 +197,10 @@ } } ], - "description": "Contract bad0 (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#3-9) \n\t a(10) (tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L3-L9) \n\t [a(10)](tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L3-L9", - "id": "e1e469fcf69ffbf93884287be133945396a1a363e77db02f241c90027f19bf48", + "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" @@ -316,9 +213,9 @@ "source_mapping": { "start": 687, "length": 269, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 31, @@ -344,9 +241,9 @@ "source_mapping": { "start": 858, "length": 5, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 36 @@ -361,9 +258,9 @@ "source_mapping": { "start": 831, "length": 50, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 35, @@ -381,9 +278,9 @@ "source_mapping": { "start": 687, "length": 269, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ 31, @@ -409,10 +306,113 @@ } } ], - "description": "Contract bad3 (tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#31-42) \n\t a(10) (tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L31-L42) \n\t [a(10)](tests/detectors/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/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol#L31-L42", - "id": "fcca4434be6b4f21d40d12aa57d4fb266d2a7ecc4ca4888cc3e6bf7509c9e8e7", + "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" diff --git a/tests/detectors/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol similarity index 100% rename from tests/detectors/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol rename to tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol 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 new file mode 100644 index 0000000000..7c5dbf4e39 --- /dev/null +++ b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol.0.5.16.UninitializedFunctionPtrsConstructor.json @@ -0,0 +1,421 @@ +[ + [ + { + "elements": [ + { + "type": "contract", + "name": "bad1", + "source_mapping": { + "start": 178, + "length": 306, + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#11-18) \n\t b(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L11-L18) \n\t [b(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L11-L18", + "id": "228f34e5afc4d016e11b5752458d38b91139d50f5a56ae8062851f0e9e5f07ef", + "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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#3-9) \n\t a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L3-L9) \n\t [a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L3-L9", + "id": "b2be27583a5fd04b192d5a5428e96df2cac54b72fd914a43c8ebc1dcc4a951b7", + "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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#20-29) \n\t s.a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L20-L29) \n\t [s.a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L20-L29", + "id": "b6898ad74de2e13efc8ff8891e303245c76f660dc0d956453ed7ee752dc4368d", + "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.5.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", + "filename_absolute": "/GENERIC_PATH", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#31-42) \n\t a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L31-L42) \n\t [a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L31-L42", + "id": "b6f0736636abbfe3c14c9667b604f2966377c50d6565f40db4e19a7f5a466dbd", + "check": "uninitialized-fptr-cst", + "impact": "Low", + "confidence": "High" + } + ] +] \ No newline at end of file diff --git a/tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol b/tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol similarity index 100% rename from tests/detectors/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol rename to tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol diff --git a/tests/detectors/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.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json similarity index 66% rename from tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol.0.4.25.UninitializedFunctionPtrsConstructor.json rename to tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json index b3927e3e6f..d8f65e902e 100644 --- a/tests/detectors/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.5.8/uninitialized_function_ptr_constructor.sol.0.5.8.UninitializedFunctionPtrsConstructor.json @@ -4,25 +4,27 @@ "elements": [ { "type": "contract", - "name": "bad2", + "name": "bad3", "source_mapping": { - "start": 486, - "length": 199, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42 ], "starting_column": 1, "ending_column": 2 @@ -30,36 +32,36 @@ }, { "type": "node", - "name": "s.a(10)", + "name": "a(10)", "source_mapping": { - "start": 671, - "length": 7, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ - 27 + 36 ], "starting_column": 5, - "ending_column": 12 + "ending_column": 10 }, "type_specific_fields": { "parent": { "type": "function", "name": "constructor", "source_mapping": { - "start": 628, - "length": 55, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 35, + 36, + 37, + 38 ], "starting_column": 3, "ending_column": 4 @@ -67,25 +69,27 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "bad2", + "name": "bad3", "source_mapping": { - "start": 486, - "length": 199, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39, + 40, + 41, + 42 ], "starting_column": 1, "ending_column": 2 @@ -97,10 +101,10 @@ } } ], - "description": "Contract bad2 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#20-29) \n\t s.a(10) (tests/detectors/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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L20-L29) \n\t [s.a(10)](tests/detectors/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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L20-L29", - "id": "1b01aa44445395d800ebe53b807c6884d1c5fc96d38f255bc402e1b339a8a6f2", + "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" @@ -109,22 +113,23 @@ "elements": [ { "type": "contract", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 27, - "length": 149, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 ], "starting_column": 1, "ending_column": 2 @@ -132,16 +137,16 @@ }, { "type": "node", - "name": "a(10)", + "name": "b(10)", "source_mapping": { - "start": 164, + "start": 472, "length": 5, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ - 7 + 16 ], "starting_column": 5, "ending_column": 10 @@ -151,18 +156,19 @@ "type": "function", "name": "constructor", "source_mapping": { - "start": 45, - "length": 129, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 12, + 13, + 14, + 15, + 16, + 17 ], "starting_column": 3, "ending_column": 4 @@ -170,22 +176,23 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "bad0", + "name": "bad1", "source_mapping": { - "start": 27, - "length": 149, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 11, + 12, + 13, + 14, + 15, + 16, + 17, + 18 ], "starting_column": 1, "ending_column": 2 @@ -197,10 +204,10 @@ } } ], - "description": "Contract bad0 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#3-9) \n\t a(10) (tests/detectors/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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L3-L9) \n\t [a(10)](tests/detectors/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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L3-L9", - "id": "38a85244054f0e06f1d3b476742113d0cf1cbe82b6c2a16f6abfa8cb7611aa2d", + "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" @@ -209,27 +216,22 @@ "elements": [ { "type": "contract", - "name": "bad3", + "name": "bad0", "source_mapping": { - "start": 687, - "length": 269, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 3, + 4, + 5, + 6, + 7, + 8, + 9 ], "starting_column": 1, "ending_column": 2 @@ -239,14 +241,14 @@ "type": "node", "name": "a(10)", "source_mapping": { - "start": 858, + "start": 164, "length": 5, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ - 36 + 7 ], "starting_column": 5, "ending_column": 10 @@ -256,17 +258,18 @@ "type": "function", "name": "constructor", "source_mapping": { - "start": 831, - "length": 50, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 4, + 5, + 6, + 7, + 8 ], "starting_column": 3, "ending_column": 4 @@ -274,27 +277,22 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "bad3", + "name": "bad0", "source_mapping": { - "start": 687, - "length": 269, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 3, + 4, + 5, + 6, + 7, + 8, + 9 ], "starting_column": 1, "ending_column": 2 @@ -306,10 +304,10 @@ } } ], - "description": "Contract bad3 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#31-42) \n\t a(10) (tests/detectors/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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L31-L42) \n\t [a(10)](tests/detectors/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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L31-L42", - "id": "4bfb037a7504ad1a677e70cdba68b2b4d47f485e4c0d039ac0a6364465b4e56e", + "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" @@ -318,23 +316,25 @@ "elements": [ { "type": "contract", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 ], "starting_column": 1, "ending_column": 2 @@ -342,38 +342,36 @@ }, { "type": "node", - "name": "b(10)", + "name": "s.a(10)", "source_mapping": { - "start": 472, - "length": 5, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol", "is_dependency": false, "lines": [ - 16 + 27 ], "starting_column": 5, - "ending_column": 10 + "ending_column": 12 }, "type_specific_fields": { "parent": { "type": "function", "name": "constructor", "source_mapping": { - "start": 196, - "length": 286, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 25, + 26, + 27, + 28 ], "starting_column": 3, "ending_column": 4 @@ -381,23 +379,25 @@ "type_specific_fields": { "parent": { "type": "contract", - "name": "bad1", + "name": "bad2", "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol", + "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 + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29 ], "starting_column": 1, "ending_column": 2 @@ -409,10 +409,10 @@ } } ], - "description": "Contract bad1 (tests/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#11-18) \n\t b(10) (tests/detectors/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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L11-L18) \n\t [b(10)](tests/detectors/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/detectors/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol#L11-L18", - "id": "eca46630e741d928b03312539f0e9ddfb182cb16b0425b5ff881a7800a50511e", + "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" diff --git a/tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol similarity index 100% rename from tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol rename to tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol diff --git a/tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json b/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json similarity index 74% rename from tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json rename to tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json index 767b4c2c56..cb09a21280 100644 --- a/tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json +++ b/tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json @@ -8,9 +8,9 @@ "source_mapping": { "start": 77, "length": 18, - "filename_relative": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 4 @@ -25,9 +25,9 @@ "source_mapping": { "start": 29, "length": 143, - "filename_relative": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 3, @@ -46,9 +46,9 @@ "source_mapping": { "start": 0, "length": 179, - "filename_relative": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 1, @@ -71,9 +71,9 @@ } } ], - "description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol#L4", + "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", diff --git a/tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol similarity index 100% rename from tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol rename to tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json rename to tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol.0.5.16.UninitializedLocalVars.json index 0a411ae9f7..815146f152 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 77, "length": 18, - "filename_relative": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 4 @@ -25,9 +25,9 @@ "source_mapping": { "start": 29, "length": 143, - "filename_relative": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 3, @@ -46,9 +46,9 @@ "source_mapping": { "start": 0, "length": 179, - "filename_relative": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 1, @@ -71,9 +71,9 @@ } } ], - "description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-local/0.5.16/uninitialized_local_variable.sol#L4", + "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", diff --git a/tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol similarity index 100% rename from tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol rename to tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol diff --git a/tests/detectors/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 similarity index 74% rename from tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json rename to tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol.0.6.11.UninitializedLocalVars.json index 2b93f5ea7c..2dc1ac349a 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 77, "length": 18, - "filename_relative": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 4 @@ -25,9 +25,9 @@ "source_mapping": { "start": 29, "length": 143, - "filename_relative": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 3, @@ -46,9 +46,9 @@ "source_mapping": { "start": 0, "length": 179, - "filename_relative": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 1, @@ -71,9 +71,9 @@ } } ], - "description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-local/0.6.11/uninitialized_local_variable.sol#L4", + "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", diff --git a/tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol b/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol similarity index 100% rename from tests/detectors/uninitialized-local/0.7.6/uninitialized_local_variable.sol rename to tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol diff --git a/tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json b/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json similarity index 74% rename from tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json rename to tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json index 4deee6c6e2..386c6fdac2 100644 --- a/tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol.0.4.25.UninitializedLocalVars.json +++ b/tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol.0.7.6.UninitializedLocalVars.json @@ -8,9 +8,9 @@ "source_mapping": { "start": 77, "length": 18, - "filename_relative": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 4 @@ -25,9 +25,9 @@ "source_mapping": { "start": 29, "length": 143, - "filename_relative": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 3, @@ -46,9 +46,9 @@ "source_mapping": { "start": 0, "length": 179, - "filename_relative": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol", "is_dependency": false, "lines": [ 1, @@ -71,9 +71,9 @@ } } ], - "description": "Uninitialized.func().uint_not_init (tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol#4) is a local variable never initialized\n", - "markdown": "[Uninitialized.func().uint_not_init](tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol#L4) is a local variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-local/0.4.25/uninitialized_local_variable.sol#L4", + "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", diff --git a/tests/detectors/uninitialized-state/0.4.25/uninitialized.sol b/tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol similarity index 100% rename from tests/detectors/uninitialized-state/0.4.25/uninitialized.sol rename to tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json rename to tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol.0.4.25.UninitializedStateVarsDetection.json index a74793c7b9..144a7dba1c 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 698, "length": 15, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 45 @@ -25,9 +25,9 @@ "source_mapping": { "start": 644, "length": 354, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -60,9 +60,9 @@ "source_mapping": { "start": 878, "length": 117, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 53, @@ -80,9 +80,9 @@ "source_mapping": { "start": 644, "length": 354, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -111,9 +111,9 @@ } } ], - "description": "Test2.st (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L45", + "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", @@ -127,9 +127,9 @@ "source_mapping": { "start": 192, "length": 34, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 15 @@ -144,9 +144,9 @@ "source_mapping": { "start": 172, "length": 332, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 14, @@ -176,9 +176,9 @@ "source_mapping": { "start": 359, "length": 143, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 23, @@ -196,9 +196,9 @@ "source_mapping": { "start": 172, "length": 332, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 14, @@ -224,9 +224,9 @@ } } ], - "description": "Test.balances (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L15", + "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", @@ -240,9 +240,9 @@ "source_mapping": { "start": 751, "length": 6, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 47 @@ -257,9 +257,9 @@ "source_mapping": { "start": 644, "length": 354, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -292,9 +292,9 @@ "source_mapping": { "start": 820, "length": 52, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 49, @@ -311,9 +311,9 @@ "source_mapping": { "start": 644, "length": 354, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -342,9 +342,9 @@ } } ], - "description": "Test2.v (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L47", + "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", @@ -358,9 +358,9 @@ "source_mapping": { "start": 58, "length": 19, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 5 @@ -375,9 +375,9 @@ "source_mapping": { "start": 29, "length": 140, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 3, @@ -402,9 +402,9 @@ "source_mapping": { "start": 84, "length": 82, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 7, @@ -421,9 +421,9 @@ "source_mapping": { "start": 29, "length": 140, - "filename_relative": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol", "is_dependency": false, "lines": [ 3, @@ -444,9 +444,9 @@ } } ], - "description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.4.25/uninitialized.sol#L5", + "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", diff --git a/tests/detectors/uninitialized-state/0.5.16/uninitialized.sol b/tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol similarity index 100% rename from tests/detectors/uninitialized-state/0.5.16/uninitialized.sol rename to tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json rename to tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol.0.5.16.UninitializedStateVarsDetection.json index 4499ac7cac..9af086d344 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 729, "length": 15, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 45 @@ -25,9 +25,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -60,9 +60,9 @@ "source_mapping": { "start": 916, "length": 129, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 53, @@ -80,9 +80,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -111,9 +111,9 @@ } } ], - "description": "Test2.st (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L45", + "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", @@ -127,9 +127,9 @@ "source_mapping": { "start": 199, "length": 34, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 15 @@ -144,9 +144,9 @@ "source_mapping": { "start": 179, "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 14, @@ -176,9 +176,9 @@ "source_mapping": { "start": 372, "length": 154, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 23, @@ -196,9 +196,9 @@ "source_mapping": { "start": 179, "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 14, @@ -224,9 +224,9 @@ } } ], - "description": "Test.balances (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L15", + "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", @@ -240,9 +240,9 @@ "source_mapping": { "start": 782, "length": 6, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 47 @@ -257,9 +257,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -292,9 +292,9 @@ "source_mapping": { "start": 851, "length": 59, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 49, @@ -311,9 +311,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -342,9 +342,9 @@ } } ], - "description": "Test2.v (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L47", + "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", @@ -358,9 +358,9 @@ "source_mapping": { "start": 57, "length": 27, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 5 @@ -375,9 +375,9 @@ "source_mapping": { "start": 28, "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 3, @@ -402,9 +402,9 @@ "source_mapping": { "start": 91, "length": 82, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 7, @@ -421,9 +421,9 @@ "source_mapping": { "start": 28, "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol", "is_dependency": false, "lines": [ 3, @@ -444,9 +444,9 @@ } } ], - "description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.5.16/uninitialized.sol#L5", + "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", diff --git a/tests/detectors/uninitialized-state/0.6.11/uninitialized.sol b/tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol similarity index 100% rename from tests/detectors/uninitialized-state/0.6.11/uninitialized.sol rename to tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json rename to tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol.0.6.11.UninitializedStateVarsDetection.json index 2488e1869c..4bffc62b22 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 729, "length": 15, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 45 @@ -25,9 +25,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -60,9 +60,9 @@ "source_mapping": { "start": 916, "length": 129, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 53, @@ -80,9 +80,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -111,9 +111,9 @@ } } ], - "description": "Test2.st (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L45", + "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", @@ -127,9 +127,9 @@ "source_mapping": { "start": 199, "length": 34, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 15 @@ -144,9 +144,9 @@ "source_mapping": { "start": 179, "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 14, @@ -176,9 +176,9 @@ "source_mapping": { "start": 372, "length": 154, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 23, @@ -196,9 +196,9 @@ "source_mapping": { "start": 179, "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 14, @@ -224,9 +224,9 @@ } } ], - "description": "Test.balances (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L15", + "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", @@ -240,9 +240,9 @@ "source_mapping": { "start": 782, "length": 6, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 47 @@ -257,9 +257,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -292,9 +292,9 @@ "source_mapping": { "start": 851, "length": 59, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 49, @@ -311,9 +311,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -342,9 +342,9 @@ } } ], - "description": "Test2.v (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L47", + "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", @@ -358,9 +358,9 @@ "source_mapping": { "start": 57, "length": 27, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 5 @@ -375,9 +375,9 @@ "source_mapping": { "start": 28, "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 3, @@ -402,9 +402,9 @@ "source_mapping": { "start": 91, "length": 82, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 7, @@ -421,9 +421,9 @@ "source_mapping": { "start": 28, "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol", "is_dependency": false, "lines": [ 3, @@ -444,9 +444,9 @@ } } ], - "description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.6.11/uninitialized.sol#L5", + "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", diff --git a/tests/detectors/uninitialized-state/0.7.6/uninitialized.sol b/tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol similarity index 100% rename from tests/detectors/uninitialized-state/0.7.6/uninitialized.sol rename to tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json rename to tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol.0.7.6.UninitializedStateVarsDetection.json index 342ab07608..dbd437c524 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 729, "length": 15, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 45 @@ -25,9 +25,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -60,9 +60,9 @@ "source_mapping": { "start": 916, "length": 129, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 53, @@ -80,9 +80,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -111,9 +111,9 @@ } } ], - "description": "Test2.st (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#45) is never initialized. It is used in:\n\t- Test2.use() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#53-56)\n", - "markdown": "[Test2.st](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L45) is never initialized. It is used in:\n\t- [Test2.use()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L53-L56)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L45", + "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", @@ -127,9 +127,9 @@ "source_mapping": { "start": 199, "length": 34, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 15 @@ -144,9 +144,9 @@ "source_mapping": { "start": 179, "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 14, @@ -176,9 +176,9 @@ "source_mapping": { "start": 372, "length": 154, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 23, @@ -196,9 +196,9 @@ "source_mapping": { "start": 179, "length": 349, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 14, @@ -224,9 +224,9 @@ } } ], - "description": "Test.balances (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#15) is never initialized. It is used in:\n\t- Test.use() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#23-26)\n", - "markdown": "[Test.balances](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L15) is never initialized. It is used in:\n\t- [Test.use()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L23-L26)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L15", + "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", @@ -240,9 +240,9 @@ "source_mapping": { "start": 782, "length": 6, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 47 @@ -257,9 +257,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -292,9 +292,9 @@ "source_mapping": { "start": 851, "length": 59, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 49, @@ -311,9 +311,9 @@ "source_mapping": { "start": 675, "length": 373, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 42, @@ -342,9 +342,9 @@ } } ], - "description": "Test2.v (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#47) is never initialized. It is used in:\n\t- Test2.init() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#49-51)\n", - "markdown": "[Test2.v](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L47) is never initialized. It is used in:\n\t- [Test2.init()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L49-L51)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L47", + "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", @@ -358,9 +358,9 @@ "source_mapping": { "start": 57, "length": 27, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 5 @@ -375,9 +375,9 @@ "source_mapping": { "start": 28, "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 3, @@ -402,9 +402,9 @@ "source_mapping": { "start": 91, "length": 82, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 7, @@ -421,9 +421,9 @@ "source_mapping": { "start": 28, "length": 148, - "filename_relative": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol", "is_dependency": false, "lines": [ 3, @@ -444,9 +444,9 @@ } } ], - "description": "Uninitialized.destination (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#5) is never initialized. It is used in:\n\t- Uninitialized.transfer() (tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#7-9)\n", - "markdown": "[Uninitialized.destination](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L5) is never initialized. It is used in:\n\t- [Uninitialized.transfer()](tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L7-L9)\n", - "first_markdown_element": "tests/detectors/uninitialized-state/0.7.6/uninitialized.sol#L5", + "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", diff --git a/tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol b/tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol similarity index 100% rename from tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol rename to tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol diff --git a/tests/detectors/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 similarity index 72% rename from tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json rename to tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol.0.4.25.UninitializedStorageVars.json index bf443a99f4..d67fa7dc1a 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 171, "length": 9, - "filename_relative": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", "is_dependency": false, "lines": [ 10 @@ -25,9 +25,9 @@ "source_mapping": { "start": 67, "length": 143, - "filename_relative": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", "is_dependency": false, "lines": [ 7, @@ -47,9 +47,9 @@ "source_mapping": { "start": 0, "length": 217, - "filename_relative": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol", "is_dependency": false, "lines": [ 1, @@ -77,9 +77,9 @@ } } ], - "description": "Uninitialized.func().st_bug (tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#10) is a storage variable never initialized\n", - "markdown": "[Uninitialized.func().st_bug](tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#L10) is a storage variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol#L10", + "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", diff --git a/tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol b/tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol similarity index 100% rename from tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol rename to tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol diff --git a/tests/detectors/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 similarity index 73% rename from tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol.0.8.19.UninitializedStorageVars.json rename to tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol.0.8.19.UninitializedStorageVars.json index e7fab681d3..4b867cc052 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 100, "length": 14, - "filename_relative": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", "is_dependency": false, "lines": [ 7 @@ -25,9 +25,9 @@ "source_mapping": { "start": 67, "length": 95, - "filename_relative": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", "is_dependency": false, "lines": [ 7, @@ -45,9 +45,9 @@ "source_mapping": { "start": 0, "length": 262, - "filename_relative": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", + "filename_relative": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", + "filename_short": "tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol", "is_dependency": false, "lines": [ 1, @@ -78,9 +78,9 @@ } } ], - "description": "Uninitialized.bad().ret (tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol#7) is a storage variable never initialized\n", - "markdown": "[Uninitialized.bad().ret](tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol#L7) is a storage variable never initialized\n", - "first_markdown_element": "tests/detectors/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol#L7", + "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", diff --git a/tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol.0.4.25.UnprotectedUpgradeable.json index 91c73b9e98..5338de68ea 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 31, "length": 277, - "filename_relative": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -37,9 +37,9 @@ "source_mapping": { "start": 88, "length": 115, - "filename_relative": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", "is_dependency": false, "lines": [ 6, @@ -57,9 +57,9 @@ "source_mapping": { "start": 31, "length": 277, - "filename_relative": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -89,9 +89,9 @@ "source_mapping": { "start": 208, "length": 98, - "filename_relative": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", "is_dependency": false, "lines": [ 10, @@ -109,9 +109,9 @@ "source_mapping": { "start": 31, "length": 277, - "filename_relative": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -136,9 +136,9 @@ } } ], - "description": "Buggy (tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/detectors/unprotected-upgrade/0.4.25/Buggy.sol#L3-L15", + "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", diff --git a/tests/detectors/unprotected-upgrade/0.4.25/Fixed.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/Fixed.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/Fixed.sol.0.4.25.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol.0.4.25.UnprotectedUpgradeable.json diff --git a/tests/detectors/unprotected-upgrade/0.4.25/Initializable.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Initializable.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/Initializable.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Initializable.sol diff --git a/tests/detectors/unprotected-upgrade/0.4.25/OnlyProxy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/OnlyProxy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/OnlyProxy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/OnlyProxy.sol diff --git a/tests/detectors/unprotected-upgrade/0.4.25/whitelisted.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/whitelisted.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unprotected-upgrade/0.4.25/whitelisted.sol.0.4.25.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol.0.4.25.UnprotectedUpgradeable.json diff --git a/tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol.0.5.16.UnprotectedUpgradeable.json index 7660833099..5c95df3d93 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 31, "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -37,9 +37,9 @@ "source_mapping": { "start": 96, "length": 115, - "filename_relative": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", "is_dependency": false, "lines": [ 6, @@ -57,9 +57,9 @@ "source_mapping": { "start": 31, "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -89,9 +89,9 @@ "source_mapping": { "start": 216, "length": 98, - "filename_relative": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", "is_dependency": false, "lines": [ 10, @@ -109,9 +109,9 @@ "source_mapping": { "start": 31, "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -136,9 +136,9 @@ } } ], - "description": "Buggy (tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/detectors/unprotected-upgrade/0.5.16/Buggy.sol#L3-L15", + "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", diff --git a/tests/detectors/unprotected-upgrade/0.5.16/Fixed.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/Fixed.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/Fixed.sol.0.5.16.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol.0.5.16.UnprotectedUpgradeable.json diff --git a/tests/detectors/unprotected-upgrade/0.5.16/Initializable.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Initializable.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/Initializable.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Initializable.sol diff --git a/tests/detectors/unprotected-upgrade/0.5.16/OnlyProxy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/OnlyProxy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/OnlyProxy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/OnlyProxy.sol diff --git a/tests/detectors/unprotected-upgrade/0.5.16/whitelisted.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/whitelisted.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unprotected-upgrade/0.5.16/whitelisted.sol.0.5.16.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol.0.5.16.UnprotectedUpgradeable.json diff --git a/tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol.0.6.11.UnprotectedUpgradeable.json index 865ad35551..6612db2c46 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 31, "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -37,9 +37,9 @@ "source_mapping": { "start": 96, "length": 115, - "filename_relative": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", "is_dependency": false, "lines": [ 6, @@ -57,9 +57,9 @@ "source_mapping": { "start": 31, "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -89,9 +89,9 @@ "source_mapping": { "start": 216, "length": 98, - "filename_relative": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", "is_dependency": false, "lines": [ 10, @@ -109,9 +109,9 @@ "source_mapping": { "start": 31, "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -136,9 +136,9 @@ } } ], - "description": "Buggy (tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/detectors/unprotected-upgrade/0.6.11/Buggy.sol#L3-L15", + "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", diff --git a/tests/detectors/unprotected-upgrade/0.6.11/Fixed.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/Fixed.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/Fixed.sol.0.6.11.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol.0.6.11.UnprotectedUpgradeable.json diff --git a/tests/detectors/unprotected-upgrade/0.6.11/Initializable.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Initializable.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/Initializable.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Initializable.sol diff --git a/tests/detectors/unprotected-upgrade/0.6.11/OnlyProxy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/OnlyProxy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/OnlyProxy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/OnlyProxy.sol diff --git a/tests/detectors/unprotected-upgrade/0.6.11/whitelisted.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/whitelisted.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unprotected-upgrade/0.6.11/whitelisted.sol.0.6.11.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol.0.6.11.UnprotectedUpgradeable.json diff --git a/tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol.0.7.6.UnprotectedUpgradeable.json index 1d82d31a40..4ee7824d03 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 31, "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -37,9 +37,9 @@ "source_mapping": { "start": 96, "length": 115, - "filename_relative": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", "is_dependency": false, "lines": [ 6, @@ -57,9 +57,9 @@ "source_mapping": { "start": 31, "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -89,9 +89,9 @@ "source_mapping": { "start": 216, "length": 98, - "filename_relative": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", "is_dependency": false, "lines": [ 10, @@ -109,9 +109,9 @@ "source_mapping": { "start": 31, "length": 285, - "filename_relative": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -136,9 +136,9 @@ } } ], - "description": "Buggy (tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#3-15) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L3-L15) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/detectors/unprotected-upgrade/0.7.6/Buggy.sol#L3-L15", + "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", diff --git a/tests/detectors/unprotected-upgrade/0.7.6/Fixed.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/Fixed.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/Fixed.sol.0.7.6.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol.0.7.6.UnprotectedUpgradeable.json diff --git a/tests/detectors/unprotected-upgrade/0.7.6/Initializable.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Initializable.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/Initializable.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Initializable.sol diff --git a/tests/detectors/unprotected-upgrade/0.7.6/OnlyProxy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/OnlyProxy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/OnlyProxy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/OnlyProxy.sol diff --git a/tests/detectors/unprotected-upgrade/0.7.6/whitelisted.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/whitelisted.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unprotected-upgrade/0.7.6/whitelisted.sol.0.7.6.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol.0.7.6.UnprotectedUpgradeable.json diff --git a/tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol diff --git a/tests/detectors/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 similarity index 70% rename from tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol.0.8.15.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol.0.8.15.UnprotectedUpgradeable.json index 79bcda746b..69bdcf7125 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 31, "length": 294, - "filename_relative": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -36,9 +36,9 @@ "source_mapping": { "start": 96, "length": 124, - "filename_relative": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", "is_dependency": false, "lines": [ 6, @@ -56,9 +56,9 @@ "source_mapping": { "start": 31, "length": 294, - "filename_relative": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -87,9 +87,9 @@ "source_mapping": { "start": 225, "length": 98, - "filename_relative": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", "is_dependency": false, "lines": [ 10, @@ -107,9 +107,9 @@ "source_mapping": { "start": 31, "length": 294, - "filename_relative": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", + "filename_relative": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol", + "filename_short": "tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol", "is_dependency": false, "lines": [ 3, @@ -133,9 +133,9 @@ } } ], - "description": "Buggy (tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#3-14) is an upgradeable contract that does not protect its initialize functions: Buggy.initialize() (tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#6-9). Anyone can delete the contract with: Buggy.kill() (tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#10-13)", - "markdown": "[Buggy](tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#L3-L14) is an upgradeable contract that does not protect its initialize functions: [Buggy.initialize()](tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#L6-L9). Anyone can delete the contract with: [Buggy.kill()](tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#L10-L13)", - "first_markdown_element": "tests/detectors/unprotected-upgrade/0.8.15/Buggy.sol#L3-L14", + "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", diff --git a/tests/detectors/unprotected-upgrade/0.8.15/Fixed.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/Fixed.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/Fixed.sol.0.8.15.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol.0.8.15.UnprotectedUpgradeable.json diff --git a/tests/detectors/unprotected-upgrade/0.8.15/Initializable.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Initializable.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/Initializable.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Initializable.sol diff --git a/tests/detectors/unprotected-upgrade/0.8.15/OnlyProxy.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/OnlyProxy.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/OnlyProxy.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/OnlyProxy.sol diff --git a/tests/detectors/unprotected-upgrade/0.8.15/whitelisted.sol b/tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/whitelisted.sol rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/unprotected-upgrade/0.8.15/whitelisted.sol.0.8.15.UnprotectedUpgradeable.json rename to tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol.0.8.15.UnprotectedUpgradeable.json diff --git a/tests/detectors/unused-return/0.4.25/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol similarity index 100% rename from tests/detectors/unused-return/0.4.25/unused_return.sol rename to tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json rename to tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol.0.4.25.UnusedReturnValues.json index 35b949ccca..e7bbae2d79 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 239, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -37,9 +37,9 @@ "source_mapping": { "start": 189, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -70,19 +70,19 @@ }, { "type": "node", - "name": "a.add(0)", + "name": "t.f()", "source_mapping": { - "start": 353, - "length": 8, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "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/detectors/unused-return/0.4.25/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "is_dependency": false, "lines": [ - 22 + 18 ], "starting_column": 9, - "ending_column": 17 + "ending_column": 14 }, "type_specific_fields": { "parent": { @@ -91,9 +91,9 @@ "source_mapping": { "start": 239, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -120,9 +120,9 @@ "source_mapping": { "start": 189, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -154,10 +154,10 @@ } } ], - "description": "User.test(Target) (tests/detectors/unused-return/0.4.25/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.4.25/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.4.25/unused_return.sol#L22)\n", - "first_markdown_element": "tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29", - "id": "619bba0a79919e4f53e583a88cd4e32f204489c8d86e365a20bf3f9ce4c0f542", + "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" @@ -170,9 +170,9 @@ "source_mapping": { "start": 239, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -199,9 +199,9 @@ "source_mapping": { "start": 189, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -232,19 +232,19 @@ }, { "type": "node", - "name": "t.f()", + "name": "a.add(0)", "source_mapping": { - "start": 279, - "length": 5, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "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/detectors/unused-return/0.4.25/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "is_dependency": false, "lines": [ - 18 + 22 ], "starting_column": 9, - "ending_column": 14 + "ending_column": 17 }, "type_specific_fields": { "parent": { @@ -253,9 +253,9 @@ "source_mapping": { "start": 239, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -282,9 +282,9 @@ "source_mapping": { "start": 189, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.4.25/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -316,10 +316,10 @@ } } ], - "description": "User.test(Target) (tests/detectors/unused-return/0.4.25/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.4.25/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.4.25/unused_return.sol#L18)\n", - "first_markdown_element": "tests/detectors/unused-return/0.4.25/unused_return.sol#L17-L29", - "id": "73c54c292f1f2fb8a8d88b230cd0bf2da3bc8fff0d758b009839ca883b36c84e", + "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" diff --git a/tests/detectors/unused-return/0.5.16/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol similarity index 100% rename from tests/detectors/unused-return/0.5.16/unused_return.sol rename to tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json rename to tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol.0.5.16.UnusedReturnValues.json index c7ef925b21..a99fba736e 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 239, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -37,9 +37,9 @@ "source_mapping": { "start": 189, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -74,9 +74,9 @@ "source_mapping": { "start": 279, "length": 5, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "is_dependency": false, "lines": [ 18 @@ -91,9 +91,9 @@ "source_mapping": { "start": 239, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -120,9 +120,9 @@ "source_mapping": { "start": 189, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -154,10 +154,10 @@ } } ], - "description": "User.test(Target) (tests/detectors/unused-return/0.5.16/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.5.16/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.5.16/unused_return.sol#L18)\n", - "first_markdown_element": "tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29", - "id": "190c5a143431b8a4d621e698c6dc665e87146a1cd2543177212f1114eb714c43", + "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" @@ -170,9 +170,9 @@ "source_mapping": { "start": 239, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -199,9 +199,9 @@ "source_mapping": { "start": 189, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -236,9 +236,9 @@ "source_mapping": { "start": 353, "length": 8, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "is_dependency": false, "lines": [ 22 @@ -253,9 +253,9 @@ "source_mapping": { "start": 239, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -282,9 +282,9 @@ "source_mapping": { "start": 189, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.5.16/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -316,10 +316,10 @@ } } ], - "description": "User.test(Target) (tests/detectors/unused-return/0.5.16/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.5.16/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.5.16/unused_return.sol#L22)\n", - "first_markdown_element": "tests/detectors/unused-return/0.5.16/unused_return.sol#L17-L29", - "id": "c31ab267ad74015229067bab954de4f1edb4eaa7d39df6f3f01646911acddb14", + "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" diff --git a/tests/detectors/unused-return/0.6.11/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol similarity index 100% rename from tests/detectors/unused-return/0.6.11/unused_return.sol rename to tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json rename to tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol.0.6.11.UnusedReturnValues.json index faa1eaf783..faaa7ed63b 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 256, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -37,9 +37,9 @@ "source_mapping": { "start": 206, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -70,19 +70,19 @@ }, { "type": "node", - "name": "t.f()", + "name": "a.add(0)", "source_mapping": { - "start": 296, - "length": 5, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "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/detectors/unused-return/0.6.11/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "is_dependency": false, "lines": [ - 18 + 22 ], "starting_column": 9, - "ending_column": 14 + "ending_column": 17 }, "type_specific_fields": { "parent": { @@ -91,9 +91,9 @@ "source_mapping": { "start": 256, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -120,9 +120,9 @@ "source_mapping": { "start": 206, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -154,10 +154,10 @@ } } ], - "description": "User.test(Target) (tests/detectors/unused-return/0.6.11/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.6.11/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.6.11/unused_return.sol#L18)\n", - "first_markdown_element": "tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29", - "id": "4e72a6afeb16bff32ed54f32875103a79d36d8fb42eefeb6ddfdc9d2cfb9894a", + "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" @@ -170,9 +170,9 @@ "source_mapping": { "start": 256, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -199,9 +199,9 @@ "source_mapping": { "start": 206, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -232,19 +232,19 @@ }, { "type": "node", - "name": "a.add(0)", + "name": "t.f()", "source_mapping": { - "start": 370, - "length": 8, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "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/detectors/unused-return/0.6.11/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "is_dependency": false, "lines": [ - 22 + 18 ], "starting_column": 9, - "ending_column": 17 + "ending_column": 14 }, "type_specific_fields": { "parent": { @@ -253,9 +253,9 @@ "source_mapping": { "start": 256, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -282,9 +282,9 @@ "source_mapping": { "start": 206, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.6.11/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -316,10 +316,10 @@ } } ], - "description": "User.test(Target) (tests/detectors/unused-return/0.6.11/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.6.11/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.6.11/unused_return.sol#L22)\n", - "first_markdown_element": "tests/detectors/unused-return/0.6.11/unused_return.sol#L17-L29", - "id": "7dda2ecde076f87319f13a922c2b0daacf6fe31578c06e28fc45383520429a6d", + "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" diff --git a/tests/detectors/unused-return/0.7.6/unused_return.sol b/tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol similarity index 100% rename from tests/detectors/unused-return/0.7.6/unused_return.sol rename to tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol diff --git a/tests/detectors/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 similarity index 78% rename from tests/detectors/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json rename to tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol.0.7.6.UnusedReturnValues.json index b21c477bd2..976a5e944c 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 256, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -37,9 +37,9 @@ "source_mapping": { "start": 206, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -74,9 +74,9 @@ "source_mapping": { "start": 370, "length": 8, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "is_dependency": false, "lines": [ 22 @@ -91,9 +91,9 @@ "source_mapping": { "start": 256, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -120,9 +120,9 @@ "source_mapping": { "start": 206, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -154,10 +154,10 @@ } } ], - "description": "User.test(Target) (tests/detectors/unused-return/0.7.6/unused_return.sol#17-29) ignores return value by a.add(0) (tests/detectors/unused-return/0.7.6/unused_return.sol#22)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29) ignores return value by [a.add(0)](tests/detectors/unused-return/0.7.6/unused_return.sol#L22)\n", - "first_markdown_element": "tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29", - "id": "3774dfb7de028a13f2945c0e19a075ffb1fb27a7785aaaf79dff863f7f1bbec7", + "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" @@ -170,9 +170,9 @@ "source_mapping": { "start": 256, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -199,9 +199,9 @@ "source_mapping": { "start": 206, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -236,9 +236,9 @@ "source_mapping": { "start": 296, "length": 5, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "is_dependency": false, "lines": [ 18 @@ -253,9 +253,9 @@ "source_mapping": { "start": 256, "length": 354, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "is_dependency": false, "lines": [ 17, @@ -282,9 +282,9 @@ "source_mapping": { "start": 206, "length": 406, - "filename_relative": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-return/0.7.6/unused_return.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol", "is_dependency": false, "lines": [ 13, @@ -316,10 +316,10 @@ } } ], - "description": "User.test(Target) (tests/detectors/unused-return/0.7.6/unused_return.sol#17-29) ignores return value by t.f() (tests/detectors/unused-return/0.7.6/unused_return.sol#18)\n", - "markdown": "[User.test(Target)](tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29) ignores return value by [t.f()](tests/detectors/unused-return/0.7.6/unused_return.sol#L18)\n", - "first_markdown_element": "tests/detectors/unused-return/0.7.6/unused_return.sol#L17-L29", - "id": "d5027a5d25ac3528c0d03d48a3bbd9ef6ea582b2a286b47e8e7f741c26c35634", + "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" diff --git a/tests/detectors/unused-state/0.4.25/unused_state.sol b/tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol similarity index 100% rename from tests/detectors/unused-state/0.4.25/unused_state.sol rename to tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol diff --git a/tests/detectors/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 similarity index 66% rename from tests/detectors/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json rename to tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol.0.4.25.UnusedStateVars.json index f14704ad1d..d1fd736d2b 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 44, "length": 14, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 4 @@ -25,9 +25,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -50,9 +50,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -67,9 +67,9 @@ } } ], - "description": "A.unused (tests/detectors/unused-state/0.4.25/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/detectors/unused-state/0.4.25/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L4", + "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", @@ -83,9 +83,9 @@ "source_mapping": { "start": 106, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 7 @@ -100,9 +100,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -125,9 +125,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -142,9 +142,9 @@ } } ], - "description": "A.unused4 (tests/detectors/unused-state/0.4.25/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/detectors/unused-state/0.4.25/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L7", + "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", @@ -158,9 +158,9 @@ "source_mapping": { "start": 64, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 5 @@ -175,9 +175,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -200,9 +200,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -217,9 +217,9 @@ } } ], - "description": "A.unused2 (tests/detectors/unused-state/0.4.25/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/detectors/unused-state/0.4.25/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L5", + "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", @@ -233,9 +233,9 @@ "source_mapping": { "start": 85, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 6 @@ -250,9 +250,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -275,9 +275,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.4.25/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -292,9 +292,9 @@ } } ], - "description": "A.unused3 (tests/detectors/unused-state/0.4.25/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.4.25/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/detectors/unused-state/0.4.25/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.4.25/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.4.25/unused_state.sol#L6", + "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", diff --git a/tests/detectors/unused-state/0.5.16/unused_state.sol b/tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol similarity index 100% rename from tests/detectors/unused-state/0.5.16/unused_state.sol rename to tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol diff --git a/tests/detectors/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 similarity index 66% rename from tests/detectors/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json rename to tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol.0.5.16.UnusedStateVars.json index df4f5f56c7..eed961d11f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 44, "length": 14, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 4 @@ -25,9 +25,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -50,9 +50,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -67,9 +67,9 @@ } } ], - "description": "A.unused (tests/detectors/unused-state/0.5.16/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/detectors/unused-state/0.5.16/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L4", + "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", @@ -83,9 +83,9 @@ "source_mapping": { "start": 106, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 7 @@ -100,9 +100,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -125,9 +125,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -142,9 +142,9 @@ } } ], - "description": "A.unused4 (tests/detectors/unused-state/0.5.16/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/detectors/unused-state/0.5.16/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L7", + "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", @@ -158,9 +158,9 @@ "source_mapping": { "start": 64, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 5 @@ -175,9 +175,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -200,9 +200,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -217,9 +217,9 @@ } } ], - "description": "A.unused2 (tests/detectors/unused-state/0.5.16/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/detectors/unused-state/0.5.16/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L5", + "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", @@ -233,9 +233,9 @@ "source_mapping": { "start": 85, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 6 @@ -250,9 +250,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -275,9 +275,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.5.16/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -292,9 +292,9 @@ } } ], - "description": "A.unused3 (tests/detectors/unused-state/0.5.16/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.5.16/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/detectors/unused-state/0.5.16/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.5.16/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.5.16/unused_state.sol#L6", + "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", diff --git a/tests/detectors/unused-state/0.6.11/unused_state.sol b/tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol similarity index 100% rename from tests/detectors/unused-state/0.6.11/unused_state.sol rename to tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol diff --git a/tests/detectors/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 similarity index 66% rename from tests/detectors/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json rename to tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol.0.6.11.UnusedStateVars.json index bbbe2d199d..90126296b6 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 44, "length": 14, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 4 @@ -25,9 +25,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -50,9 +50,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -67,9 +67,9 @@ } } ], - "description": "A.unused (tests/detectors/unused-state/0.6.11/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/detectors/unused-state/0.6.11/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L4", + "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", @@ -83,9 +83,9 @@ "source_mapping": { "start": 106, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 7 @@ -100,9 +100,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -125,9 +125,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -142,9 +142,9 @@ } } ], - "description": "A.unused4 (tests/detectors/unused-state/0.6.11/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/detectors/unused-state/0.6.11/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L7", + "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", @@ -158,9 +158,9 @@ "source_mapping": { "start": 64, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 5 @@ -175,9 +175,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -200,9 +200,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -217,9 +217,9 @@ } } ], - "description": "A.unused2 (tests/detectors/unused-state/0.6.11/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/detectors/unused-state/0.6.11/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L5", + "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", @@ -233,9 +233,9 @@ "source_mapping": { "start": 85, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 6 @@ -250,9 +250,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -275,9 +275,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.6.11/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -292,9 +292,9 @@ } } ], - "description": "A.unused3 (tests/detectors/unused-state/0.6.11/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.6.11/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/detectors/unused-state/0.6.11/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.6.11/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.6.11/unused_state.sol#L6", + "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", diff --git a/tests/detectors/unused-state/0.7.6/unused_state.sol b/tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol similarity index 100% rename from tests/detectors/unused-state/0.7.6/unused_state.sol rename to tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol diff --git a/tests/detectors/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 similarity index 67% rename from tests/detectors/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json rename to tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol.0.7.6.UnusedStateVars.json index a6aeca672e..f959460a95 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 44, "length": 14, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 4 @@ -25,9 +25,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -50,9 +50,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -67,9 +67,9 @@ } } ], - "description": "A.unused (tests/detectors/unused-state/0.7.6/unused_state.sol#4) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused](tests/detectors/unused-state/0.7.6/unused_state.sol#L4) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L4", + "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", @@ -83,9 +83,9 @@ "source_mapping": { "start": 106, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 7 @@ -100,9 +100,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -125,9 +125,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -142,9 +142,9 @@ } } ], - "description": "A.unused4 (tests/detectors/unused-state/0.7.6/unused_state.sol#7) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused4](tests/detectors/unused-state/0.7.6/unused_state.sol#L7) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L7", + "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", @@ -158,9 +158,9 @@ "source_mapping": { "start": 64, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 5 @@ -175,9 +175,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -200,9 +200,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -217,9 +217,9 @@ } } ], - "description": "A.unused2 (tests/detectors/unused-state/0.7.6/unused_state.sol#5) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused2](tests/detectors/unused-state/0.7.6/unused_state.sol#L5) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L5", + "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", @@ -233,9 +233,9 @@ "source_mapping": { "start": 85, "length": 15, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 6 @@ -250,9 +250,9 @@ "source_mapping": { "start": 28, "length": 114, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 3, @@ -275,9 +275,9 @@ "source_mapping": { "start": 144, "length": 78, - "filename_relative": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_relative": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/unused-state/0.7.6/unused_state.sol", + "filename_short": "tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol", "is_dependency": false, "lines": [ 11, @@ -292,9 +292,9 @@ } } ], - "description": "A.unused3 (tests/detectors/unused-state/0.7.6/unused_state.sol#6) is never used in B (tests/detectors/unused-state/0.7.6/unused_state.sol#11-16)\n", - "markdown": "[A.unused3](tests/detectors/unused-state/0.7.6/unused_state.sol#L6) is never used in [B](tests/detectors/unused-state/0.7.6/unused_state.sol#L11-L16)\n", - "first_markdown_element": "tests/detectors/unused-state/0.7.6/unused_state.sol#L6", + "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", diff --git a/tests/detectors/var-read-using-this/0.4.25/var_read_using_this.sol b/tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol similarity index 100% rename from tests/detectors/var-read-using-this/0.4.25/var_read_using_this.sol rename to tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol diff --git a/tests/detectors/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 similarity index 100% rename from tests/detectors/var-read-using-this/0.4.25/var_read_using_this.sol.0.4.25.VarReadUsingThis.json rename to tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol.0.4.25.VarReadUsingThis.json diff --git a/tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol b/tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol similarity index 100% rename from tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol rename to tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol.0.5.16.VarReadUsingThis.json rename to tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol.0.5.16.VarReadUsingThis.json index 15a0e08b57..bef851b5e4 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 275, "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 11, @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -84,9 +84,9 @@ "source_mapping": { "start": 331, "length": 26, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 12 @@ -101,9 +101,9 @@ "source_mapping": { "start": 275, "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 11, @@ -120,9 +120,9 @@ "source_mapping": { "start": 1, "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -174,10 +174,10 @@ } } ], - "description": "The function VarReadUsingThis.bad3() (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/detectors/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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/detectors/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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L11-L13", - "id": "5556888563fa21301c242d57fbd8e08a35fc5d67171a88b9a2737c14be9c6f7f", + "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" @@ -186,18 +186,20 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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 + 14, + 15, + 16, + 17, + 18 ], "starting_column": 5, "ending_column": 6 @@ -209,9 +211,9 @@ "source_mapping": { "start": 1, "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -257,40 +259,42 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad4()" } }, { "type": "node", - "name": "this.erc20()", + "name": "local = this.erc20()", "source_mapping": { - "start": 244, - "length": 19, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ - 9 + 16 ], - "starting_column": 9, - "ending_column": 28 + "starting_column": 13, + "ending_column": 41 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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 + 14, + 15, + 16, + 17, + 18 ], "starting_column": 5, "ending_column": 6 @@ -302,9 +306,9 @@ "source_mapping": { "start": 1, "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -350,16 +354,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad4()" } } } } ], - "description": "The function VarReadUsingThis.bad2() (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#8-10) reads this.erc20() (tests/detectors/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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/detectors/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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L8-L10", - "id": "a55229af8750117389299ed9f759d5036882a2396a52087bb2a42c5ed8abaec1", + "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" @@ -372,9 +376,9 @@ "source_mapping": { "start": 102, "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 5, @@ -391,9 +395,9 @@ "source_mapping": { "start": 1, "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -448,9 +452,9 @@ "source_mapping": { "start": 160, "length": 20, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 6 @@ -465,9 +469,9 @@ "source_mapping": { "start": 102, "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 5, @@ -484,9 +488,9 @@ "source_mapping": { "start": 1, "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -538,10 +542,10 @@ } } ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/detectors/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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/detectors/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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L5-L7", - "id": "e810f17bcfdf391a48e66ef70c4aafcc205c882b28d0588b26f1d45742580df6", + "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" @@ -550,20 +554,18 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad2", "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -575,9 +577,9 @@ "source_mapping": { "start": 1, "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -623,42 +625,40 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad2()" } }, { "type": "node", - "name": "local = this.erc20()", + "name": "this.erc20()", "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ - 16 + 9 ], - "starting_column": 13, - "ending_column": 41 + "starting_column": 9, + "ending_column": 28 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad2", "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -670,9 +670,9 @@ "source_mapping": { "start": 1, "length": 1107, - "filename_relative": "tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -718,16 +718,16 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad2()" } } } } ], - "description": "The function VarReadUsingThis.bad4() (tests/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/detectors/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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/detectors/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/detectors/var-read-using-this/0.5.16/var_read_using_this.sol#L14-L18", - "id": "fe997df3fdea17b13139a239ecdcdb64a2f6482aa9dacc62f845ef30591c8e4c", + "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" diff --git a/tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol b/tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol similarity index 100% rename from tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol rename to tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol.0.6.11.VarReadUsingThis.json rename to tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol.0.6.11.VarReadUsingThis.json index 61143523e4..0a879704da 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -75,40 +75,40 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad2()" } }, { "type": "node", - "name": "this.erc20() == address(0)", + "name": "this.erc20()", "source_mapping": { - "start": 331, - "length": 26, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ - 12 + 9 ], - "starting_column": 13, - "ending_column": 39 + "starting_column": 9, + "ending_column": 28 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -120,9 +120,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -168,16 +168,16 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad2()" } } } } ], - "description": "The function VarReadUsingThis.bad3() (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/detectors/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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/detectors/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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L11-L13", - "id": "314f90a4989ea75cc274e1f5f46036968c2ecdaaf8fa84913e7db4ef1ffe5bb8", + "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" @@ -186,20 +186,18 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad1", "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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 + 5, + 6, + 7 ], "starting_column": 5, "ending_column": 6 @@ -211,9 +209,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -259,42 +257,40 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad1(uint256)" } }, { "type": "node", - "name": "local = this.erc20()", + "name": "this.myMap(x)", "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ - 16 + 6 ], - "starting_column": 13, - "ending_column": 41 + "starting_column": 9, + "ending_column": 29 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad1", "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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 + 5, + 6, + 7 ], "starting_column": 5, "ending_column": 6 @@ -306,9 +302,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -354,16 +350,16 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad1(uint256)" } } } } ], - "description": "The function VarReadUsingThis.bad4() (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/detectors/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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/detectors/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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L14-L18", - "id": "5fd3f1f78f3532107d7e111d84310f3a0fa374fa407e43951d70fd00a752f76f", + "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" @@ -372,18 +368,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad3", "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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 + 11, + 12, + 13 ], "starting_column": 5, "ending_column": 6 @@ -395,9 +391,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -443,40 +439,40 @@ "ending_column": 2 } }, - "signature": "bad1(uint256)" + "signature": "bad3()" } }, { "type": "node", - "name": "this.myMap(x)", + "name": "this.erc20() == address(0)", "source_mapping": { - "start": 160, - "length": 20, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ - 6 + 12 ], - "starting_column": 9, - "ending_column": 29 + "starting_column": 13, + "ending_column": 39 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad3", "source_mapping": { - "start": 102, - "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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 + 11, + 12, + 13 ], "starting_column": 5, "ending_column": 6 @@ -488,9 +484,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -536,16 +532,16 @@ "ending_column": 2 } }, - "signature": "bad1(uint256)" + "signature": "bad3()" } } } } ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/detectors/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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/detectors/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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L5-L7", - "id": "a30c3d8ddb468d865fa69afe5b7b83164fc1a332933d4661765cc3781896c7cf", + "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" @@ -554,18 +550,20 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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 + 14, + 15, + 16, + 17, + 18 ], "starting_column": 5, "ending_column": 6 @@ -577,9 +575,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -625,40 +623,42 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad4()" } }, { "type": "node", - "name": "this.erc20()", + "name": "local = this.erc20()", "source_mapping": { - "start": 244, - "length": 19, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ - 9 + 16 ], - "starting_column": 9, - "ending_column": 28 + "starting_column": 13, + "ending_column": 41 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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 + 14, + 15, + 16, + 17, + 18 ], "starting_column": 5, "ending_column": 6 @@ -670,9 +670,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -718,16 +718,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad4()" } } } } ], - "description": "The function VarReadUsingThis.bad2() (tests/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#8-10) reads this.erc20() (tests/detectors/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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/detectors/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/detectors/var-read-using-this/0.6.11/var_read_using_this.sol#L8-L10", - "id": "ccc77ba655d341c0461ca4f4040afe19c379b2333e52648b12f793aaf7f0ead8", + "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" diff --git a/tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol b/tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol similarity index 100% rename from tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol rename to tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol.0.7.6.VarReadUsingThis.json rename to tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol.0.7.6.VarReadUsingThis.json index 555d6b7d57..9b34e90d31 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -75,40 +75,40 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad2()" } }, { "type": "node", - "name": "this.erc20() == address(0)", + "name": "this.erc20()", "source_mapping": { - "start": 331, - "length": 26, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ - 12 + 9 ], - "starting_column": 13, - "ending_column": 39 + "starting_column": 9, + "ending_column": 28 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -120,9 +120,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -168,16 +168,16 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad2()" } } } } ], - "description": "The function VarReadUsingThis.bad3() (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/detectors/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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/detectors/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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L11-L13", - "id": "1a8ed403cb8c6104a99c9dabdfb64e55282eaedf2c2d8b20fd3b366c49443639", + "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" @@ -186,18 +186,20 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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 + 14, + 15, + 16, + 17, + 18 ], "starting_column": 5, "ending_column": 6 @@ -209,9 +211,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -257,40 +259,42 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad4()" } }, { "type": "node", - "name": "this.erc20()", + "name": "local = this.erc20()", "source_mapping": { - "start": 244, - "length": 19, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ - 9 + 16 ], - "starting_column": 9, - "ending_column": 28 + "starting_column": 13, + "ending_column": 41 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 192, - "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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 + 14, + 15, + 16, + 17, + 18 ], "starting_column": 5, "ending_column": 6 @@ -302,9 +306,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -350,16 +354,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad4()" } } } } ], - "description": "The function VarReadUsingThis.bad2() (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#8-10) reads this.erc20() (tests/detectors/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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/detectors/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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L8-L10", - "id": "5bddf45a7f968094e163217be36e0cf17b7455740755eec53a1e7b0a44fe63ac", + "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" @@ -372,9 +376,9 @@ "source_mapping": { "start": 102, "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ 5, @@ -391,9 +395,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -448,9 +452,9 @@ "source_mapping": { "start": 160, "length": 20, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ 6 @@ -465,9 +469,9 @@ "source_mapping": { "start": 102, "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ 5, @@ -484,9 +488,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -538,10 +542,10 @@ } } ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/detectors/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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/detectors/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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L5-L7", - "id": "924c227bf74e70dda261578563193b90b60b70a1ad043716e1d98cbc49b87ceb", + "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" @@ -550,20 +554,18 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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 + 11, + 12, + 13 ], "starting_column": 5, "ending_column": 6 @@ -575,9 +577,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -623,42 +625,40 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad3()" } }, { "type": "node", - "name": "local = this.erc20()", + "name": "this.erc20() == address(0)", "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ - 16 + 12 ], "starting_column": 13, - "ending_column": 41 + "ending_column": 39 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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 + 11, + 12, + 13 ], "starting_column": 5, "ending_column": 6 @@ -670,9 +670,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -718,16 +718,16 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad3()" } } } } ], - "description": "The function VarReadUsingThis.bad4() (tests/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/detectors/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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/detectors/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/detectors/var-read-using-this/0.7.6/var_read_using_this.sol#L14-L18", - "id": "e9b34de7b565a0e63e55b9c74eaf9a265c7f4c8ef866d7b7db17b815393f0477", + "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" diff --git a/tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol b/tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol similarity index 100% rename from tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol rename to tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol.0.8.15.VarReadUsingThis.json rename to tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol.0.8.15.VarReadUsingThis.json index 143d43a6fd..f5cbbe0d71 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 192, "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 8, @@ -27,9 +27,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -84,9 +84,9 @@ "source_mapping": { "start": 244, "length": 19, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 9 @@ -101,9 +101,9 @@ "source_mapping": { "start": 192, "length": 78, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 8, @@ -120,9 +120,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -174,10 +174,10 @@ } } ], - "description": "The function VarReadUsingThis.bad2() (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#8-10) reads this.erc20() (tests/detectors/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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L8-L10) reads [this.erc20()](tests/detectors/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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L8-L10", - "id": "4e297ea309b8865f782db6a53fdaf5aaf37f768158deb69d2ec6106a8e7b8afd", + "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" @@ -190,9 +190,9 @@ "source_mapping": { "start": 102, "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 5, @@ -209,9 +209,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -266,9 +266,9 @@ "source_mapping": { "start": 160, "length": 20, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 6 @@ -283,9 +283,9 @@ "source_mapping": { "start": 102, "length": 85, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 5, @@ -302,9 +302,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -356,10 +356,10 @@ } } ], - "description": "The function VarReadUsingThis.bad1(uint256) (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#5-7) reads this.myMap(x) (tests/detectors/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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L5-L7) reads [this.myMap(x)](tests/detectors/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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L5-L7", - "id": "ce4d740b2da0b9b71f2dd3dd1c0903124f7be34009ede12a43dc33c6f28b9d28", + "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" @@ -368,18 +368,20 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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 + 14, + 15, + 16, + 17, + 18 ], "starting_column": 5, "ending_column": 6 @@ -391,9 +393,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -439,40 +441,42 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad4()" } }, { "type": "node", - "name": "this.erc20() == address(0)", + "name": "local = this.erc20()", "source_mapping": { - "start": 331, - "length": 26, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ - 12 + 16 ], "starting_column": 13, - "ending_column": 39 + "ending_column": 41 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 275, - "length": 99, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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 + 14, + 15, + 16, + 17, + 18 ], "starting_column": 5, "ending_column": 6 @@ -484,9 +488,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -532,16 +536,16 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad4()" } } } } ], - "description": "The function VarReadUsingThis.bad3() (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#11-13) reads this.erc20() == address(0) (tests/detectors/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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L11-L13) reads [this.erc20() == address(0)](tests/detectors/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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L11-L13", - "id": "d4602ee9be1e60f8ae80e6d0a867b532cb2ddef0ba44b25af8808a0ac5a6b828", + "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" @@ -550,20 +554,18 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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 + 11, + 12, + 13 ], "starting_column": 5, "ending_column": 6 @@ -575,9 +577,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -623,42 +625,40 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad3()" } }, { "type": "node", - "name": "local = this.erc20()", + "name": "this.erc20() == address(0)", "source_mapping": { - "start": 471, - "length": 28, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ - 16 + 12 ], "starting_column": 13, - "ending_column": 41 + "ending_column": 39 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 379, - "length": 138, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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 + 11, + 12, + 13 ], "starting_column": 5, "ending_column": 6 @@ -670,9 +670,9 @@ "source_mapping": { "start": 1, "length": 1103, - "filename_relative": "tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol", + "filename_short": "tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol", "is_dependency": false, "lines": [ 2, @@ -718,16 +718,16 @@ "ending_column": 2 } }, - "signature": "bad4()" + "signature": "bad3()" } } } } ], - "description": "The function VarReadUsingThis.bad4() (tests/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#14-18) reads local = this.erc20() (tests/detectors/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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L14-L18) reads [local = this.erc20()](tests/detectors/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/detectors/var-read-using-this/0.8.15/var_read_using_this.sol#L14-L18", - "id": "fec10ba084a6322d0fbb895e6c7ca6bca380b48a54d2ecae92a017b8b41242bf", + "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" diff --git a/tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol b/tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol similarity index 100% rename from tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol rename to tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol diff --git a/tests/detectors/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 similarity index 77% rename from tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json rename to tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol.0.4.25.PredeclarationUsageLocal.json index aabf64ad66..6950dcb48f 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 199, "length": 11, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 8 @@ -25,9 +25,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -57,9 +57,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -97,9 +97,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -129,9 +129,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -167,9 +167,9 @@ "source_mapping": { "start": 417, "length": 3, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 14 @@ -184,9 +184,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -216,9 +216,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -251,10 +251,10 @@ } } ], - "description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i -- (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n", - "markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i --](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n", - "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "24ed055a29ee9bac066b9a99a36d40f7bd77314605d8f1a6440a5576a38b24fb", + "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" @@ -267,9 +267,9 @@ "source_mapping": { "start": 199, "length": 11, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 8 @@ -284,9 +284,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -316,9 +316,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -356,9 +356,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -388,9 +388,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -422,19 +422,19 @@ }, { "type": "node", - "name": "i = 10", + "name": "x += i", "source_mapping": { - "start": 402, + "start": 436, "length": 6, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ - 14 + 15 ], - "starting_column": 14, - "ending_column": 20 + "starting_column": 13, + "ending_column": 19 }, "type_specific_fields": { "parent": { @@ -443,9 +443,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -475,9 +475,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -510,10 +510,10 @@ } } ], - "description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i = 10 (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n", - "markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i = 10](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n", - "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "940660958df422ffbfe30b13d535439b2cb3f84146a23034087228c4e9016d75", + "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" @@ -526,9 +526,9 @@ "source_mapping": { "start": 199, "length": 11, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 8 @@ -543,9 +543,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -575,9 +575,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -615,9 +615,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -647,9 +647,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -681,19 +681,19 @@ }, { "type": "node", - "name": "x += i", + "name": "i > 0", "source_mapping": { - "start": 436, - "length": 6, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "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/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ - 15 + 14 ], - "starting_column": 13, - "ending_column": 19 + "starting_column": 22, + "ending_column": 27 }, "type_specific_fields": { "parent": { @@ -702,9 +702,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -734,9 +734,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -769,10 +769,10 @@ } } ], - "description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: x += i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#15)\n", - "markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [x += i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L15)\n", - "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "e346a217ae6931f9fa7ff70302d05db17c0422dd4272f87935b633950239b592", + "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" @@ -781,19 +781,19 @@ "elements": [ { "type": "variable", - "name": "x", + "name": "i", "source_mapping": { - "start": 130, - "length": 10, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "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/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ - 5 + 8 ], - "starting_column": 9, - "ending_column": 19 + "starting_column": 18, + "ending_column": 29 }, "type_specific_fields": { "parent": { @@ -802,9 +802,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -834,9 +834,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -874,9 +874,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -906,9 +906,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -940,19 +940,19 @@ }, { "type": "node", - "name": "y = x + 9 + z", + "name": "i = 10", "source_mapping": { - "start": 69, - "length": 13, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "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/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ - 4 + 14 ], - "starting_column": 9, - "ending_column": 22 + "starting_column": 14, + "ending_column": 20 }, "type_specific_fields": { "parent": { @@ -961,9 +961,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -993,9 +993,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -1028,10 +1028,10 @@ } } ], - "description": "Variable 'C.f(uint256).x (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#5)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: y = x + 9 + z (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#4)\n", - "markdown": "Variable '[C.f(uint256).x](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L5)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [y = x + 9 + z](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L4)\n", - "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L5", - "id": "ede1e902fdfe70c5e7cf91f33df8540f1d15952d00f70a9a5dfb9edbcbe49cb6", + "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" @@ -1040,19 +1040,19 @@ "elements": [ { "type": "variable", - "name": "i", + "name": "x", "source_mapping": { - "start": 199, - "length": 11, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "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/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ - 8 + 5 ], - "starting_column": 18, - "ending_column": 29 + "starting_column": 9, + "ending_column": 19 }, "type_specific_fields": { "parent": { @@ -1061,9 +1061,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -1093,9 +1093,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -1133,9 +1133,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -1165,9 +1165,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -1199,19 +1199,19 @@ }, { "type": "node", - "name": "i > 0", + "name": "y = x + 9 + z", "source_mapping": { - "start": 410, - "length": 5, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "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/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ - 14 + 4 ], - "starting_column": 22, - "ending_column": 27 + "starting_column": 9, + "ending_column": 22 }, "type_specific_fields": { "parent": { @@ -1220,9 +1220,9 @@ "source_mapping": { "start": 17, "length": 442, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 2, @@ -1252,9 +1252,9 @@ "source_mapping": { "start": 0, "length": 461, - "filename_relative": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_relative": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol", + "filename_short": "tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol", "is_dependency": false, "lines": [ 1, @@ -1287,10 +1287,10 @@ } } ], - "description": "Variable 'C.f(uint256).i (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#8)' in C.f(uint256) (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#2-17) potentially used before declaration: i > 0 (tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#14)\n", - "markdown": "Variable '[C.f(uint256).i](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8)' in [C.f(uint256)](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L2-L17) potentially used before declaration: [i > 0](tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L14)\n", - "first_markdown_element": "tests/detectors/variable-scope/0.4.25/predeclaration_usage_local.sol#L8", - "id": "ffb778e86e0b11beed38687c3abf9ffd0de948ec4ccc0109a78954741220de9e", + "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" diff --git a/tests/detectors/void-cst/0.4.25/void-cst.sol b/tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol similarity index 100% rename from tests/detectors/void-cst/0.4.25/void-cst.sol rename to tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json rename to tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol.0.4.25.VoidConstructor.json index 13de066a66..d1a086fb3e 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 41, "length": 32, - "filename_relative": "tests/detectors/void-cst/0.4.25/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.4.25/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", "is_dependency": false, "lines": [ 10, @@ -27,9 +27,9 @@ "source_mapping": { "start": 19, "length": 57, - "filename_relative": "tests/detectors/void-cst/0.4.25/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.4.25/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", "is_dependency": false, "lines": [ 8, @@ -53,9 +53,9 @@ "source_mapping": { "start": 62, "length": 3, - "filename_relative": "tests/detectors/void-cst/0.4.25/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.4.25/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", "is_dependency": false, "lines": [ 10 @@ -70,9 +70,9 @@ "source_mapping": { "start": 41, "length": 32, - "filename_relative": "tests/detectors/void-cst/0.4.25/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.4.25/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", "is_dependency": false, "lines": [ 10, @@ -89,9 +89,9 @@ "source_mapping": { "start": 19, "length": 57, - "filename_relative": "tests/detectors/void-cst/0.4.25/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.4.25/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol", "is_dependency": false, "lines": [ 8, @@ -112,10 +112,10 @@ } } ], - "description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.4.25/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.4.25/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.4.25/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.4.25/void-cst.sol#L10)\n", - "first_markdown_element": "tests/detectors/void-cst/0.4.25/void-cst.sol#L10-L12", - "id": "7681f77ce859599a0a88c8ba4dc60b6d55c064eca36867236bb157cbf2b65392", + "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" diff --git a/tests/detectors/void-cst/0.5.16/void-cst.sol b/tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol similarity index 100% rename from tests/detectors/void-cst/0.5.16/void-cst.sol rename to tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json rename to tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol.0.5.16.VoidConstructor.json index dc1469f8d3..7134909b6c 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 41, "length": 32, - "filename_relative": "tests/detectors/void-cst/0.5.16/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.5.16/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", "is_dependency": false, "lines": [ 10, @@ -27,9 +27,9 @@ "source_mapping": { "start": 19, "length": 57, - "filename_relative": "tests/detectors/void-cst/0.5.16/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.5.16/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", "is_dependency": false, "lines": [ 8, @@ -53,9 +53,9 @@ "source_mapping": { "start": 62, "length": 3, - "filename_relative": "tests/detectors/void-cst/0.5.16/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.5.16/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", "is_dependency": false, "lines": [ 10 @@ -70,9 +70,9 @@ "source_mapping": { "start": 41, "length": 32, - "filename_relative": "tests/detectors/void-cst/0.5.16/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.5.16/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", "is_dependency": false, "lines": [ 10, @@ -89,9 +89,9 @@ "source_mapping": { "start": 19, "length": 57, - "filename_relative": "tests/detectors/void-cst/0.5.16/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.5.16/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol", "is_dependency": false, "lines": [ 8, @@ -112,10 +112,10 @@ } } ], - "description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.5.16/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.5.16/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.5.16/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.5.16/void-cst.sol#L10)\n", - "first_markdown_element": "tests/detectors/void-cst/0.5.16/void-cst.sol#L10-L12", - "id": "205eb5189a286fb251c8bfdf19fdd45acfab353670b5af81be434e43fbf1259f", + "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" diff --git a/tests/detectors/void-cst/0.6.11/void-cst.sol b/tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol similarity index 100% rename from tests/detectors/void-cst/0.6.11/void-cst.sol rename to tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json rename to tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol.0.6.11.VoidConstructor.json index 11a50cee19..5504c2332a 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 41, "length": 32, - "filename_relative": "tests/detectors/void-cst/0.6.11/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.6.11/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", "is_dependency": false, "lines": [ 10, @@ -27,9 +27,9 @@ "source_mapping": { "start": 19, "length": 57, - "filename_relative": "tests/detectors/void-cst/0.6.11/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.6.11/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", "is_dependency": false, "lines": [ 8, @@ -53,9 +53,9 @@ "source_mapping": { "start": 62, "length": 3, - "filename_relative": "tests/detectors/void-cst/0.6.11/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.6.11/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", "is_dependency": false, "lines": [ 10 @@ -70,9 +70,9 @@ "source_mapping": { "start": 41, "length": 32, - "filename_relative": "tests/detectors/void-cst/0.6.11/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.6.11/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", "is_dependency": false, "lines": [ 10, @@ -89,9 +89,9 @@ "source_mapping": { "start": 19, "length": 57, - "filename_relative": "tests/detectors/void-cst/0.6.11/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.6.11/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol", "is_dependency": false, "lines": [ 8, @@ -112,10 +112,10 @@ } } ], - "description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.6.11/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.6.11/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.6.11/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.6.11/void-cst.sol#L10)\n", - "first_markdown_element": "tests/detectors/void-cst/0.6.11/void-cst.sol#L10-L12", - "id": "ad3ebdf765f3b6e552dc65d3fd2e92ec13535139316d1063cd76bb521b265bd7", + "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" diff --git a/tests/detectors/void-cst/0.7.6/void-cst.sol b/tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol similarity index 100% rename from tests/detectors/void-cst/0.7.6/void-cst.sol rename to tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol diff --git a/tests/detectors/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 similarity index 75% rename from tests/detectors/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json rename to tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol.0.7.6.VoidConstructor.json index 88ab6632c7..0096a92561 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 41, "length": 32, - "filename_relative": "tests/detectors/void-cst/0.7.6/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.7.6/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", "is_dependency": false, "lines": [ 10, @@ -27,9 +27,9 @@ "source_mapping": { "start": 19, "length": 57, - "filename_relative": "tests/detectors/void-cst/0.7.6/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.7.6/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", "is_dependency": false, "lines": [ 8, @@ -53,9 +53,9 @@ "source_mapping": { "start": 62, "length": 3, - "filename_relative": "tests/detectors/void-cst/0.7.6/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.7.6/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", "is_dependency": false, "lines": [ 10 @@ -70,9 +70,9 @@ "source_mapping": { "start": 41, "length": 32, - "filename_relative": "tests/detectors/void-cst/0.7.6/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.7.6/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", "is_dependency": false, "lines": [ 10, @@ -89,9 +89,9 @@ "source_mapping": { "start": 19, "length": 57, - "filename_relative": "tests/detectors/void-cst/0.7.6/void-cst.sol", + "filename_relative": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/void-cst/0.7.6/void-cst.sol", + "filename_short": "tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol", "is_dependency": false, "lines": [ 8, @@ -112,10 +112,10 @@ } } ], - "description": "Void constructor called in D.constructor() (tests/detectors/void-cst/0.7.6/void-cst.sol#10-12):\n\t- C() (tests/detectors/void-cst/0.7.6/void-cst.sol#10)\n", - "markdown": "Void constructor called in [D.constructor()](tests/detectors/void-cst/0.7.6/void-cst.sol#L10-L12):\n\t- [C()](tests/detectors/void-cst/0.7.6/void-cst.sol#L10)\n", - "first_markdown_element": "tests/detectors/void-cst/0.7.6/void-cst.sol#L10-L12", - "id": "deffcf2d974f53d4993c8cb12ada6abdb84e44ceea422e2261068e4fb2e663ac", + "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" diff --git a/tests/detectors/weak-prng/0.4.25/bad_prng.sol b/tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol similarity index 100% rename from tests/detectors/weak-prng/0.4.25/bad_prng.sol rename to tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json rename to tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol.0.4.25.BadPRNG.json index e3ddf201a3..0c508dbc98 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "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/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ - 12, - 13, - 14 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -64,40 +64,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad1()" } }, { "type": "node", - "name": "i = uint256(blockhash(uint256)(10000)) % 10", + "name": "i = now % 10", "source_mapping": { - "start": 216, - "length": 39, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "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/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ - 13 + 9 ], "starting_column": 7, - "ending_column": 46 + "ending_column": 24 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad1", "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "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/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ - 12, - 13, - 14 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -109,9 +109,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -146,16 +146,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad1()" } } } } ], - "description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L12-L14", - "id": "4ac936f85dc1e903d3d6688aaea992d3a5b124bb90eb73eb372dffcc60ccd9dc", + "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" @@ -164,18 +164,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "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/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ - 20, - 21, - 22 + 12, + 13, + 14 ], "starting_column": 5, "ending_column": 6 @@ -187,9 +187,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -224,40 +224,40 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad2()" } }, { "type": "node", - "name": "i = foo() % 10", + "name": "i = uint256(blockhash(uint256)(10000)) % 10", "source_mapping": { - "start": 395, - "length": 19, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "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/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ - 21 + 13 ], "starting_column": 7, - "ending_column": 26 + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "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/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ - 20, - 21, - 22 + 12, + 13, + 14 ], "starting_column": 5, "ending_column": 6 @@ -269,9 +269,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -306,16 +306,16 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad2()" } } } } ], - "description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L20-L22", - "id": "9ea8ea8faa26193b33dc2b3be5a338350aa82a076a4b5ec387ad8f5c15b7181f", + "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" @@ -324,18 +324,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad3", "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "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/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10 + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -347,9 +347,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -384,40 +384,40 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad3()" } }, { "type": "node", - "name": "i = now % 10", + "name": "i = foo() % 10", "source_mapping": { - "start": 154, - "length": 17, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "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/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ - 9 + 21 ], "starting_column": 7, - "ending_column": 24 + "ending_column": 26 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad3", "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "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/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10 + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -429,9 +429,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -466,16 +466,16 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad3()" } } } } ], - "description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L8-L10", - "id": "b6c45323a90c31dea54db817de9a3d13e40431227ca6240465e43183004f6541", + "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" @@ -488,9 +488,9 @@ "source_mapping": { "start": 45, "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ 4, @@ -507,9 +507,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -553,9 +553,9 @@ "source_mapping": { "start": 77, "length": 29, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ 5 @@ -570,9 +570,9 @@ "source_mapping": { "start": 45, "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ 4, @@ -589,9 +589,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.4.25/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -632,10 +632,10 @@ } } ], - "description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.4.25/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.4.25/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.4.25/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.4.25/bad_prng.sol#L4-L6", - "id": "fc717c512384a74aab058df35c032bca15e276f4e03446ad7b52f33acac1a556", + "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" diff --git a/tests/detectors/weak-prng/0.5.16/bad_prng.sol b/tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol similarity index 100% rename from tests/detectors/weak-prng/0.5.16/bad_prng.sol rename to tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json rename to tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol.0.5.16.BadPRNG.json index caaa667a29..e999af5f97 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 20, - 21, - 22 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -64,40 +64,40 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad1()" } }, { "type": "node", - "name": "i = foo() % 10", + "name": "i = now % 10", "source_mapping": { - "start": 395, - "length": 19, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 21 + 9 ], "starting_column": 7, - "ending_column": 26 + "ending_column": 24 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 20, - 21, - 22 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -109,9 +109,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -146,16 +146,16 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad1()" } } } } ], - "description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L20-L22", - "id": "342f1496b7a91c084d108fd76054672be5ac3a1a5481f907b93d3c72e32f70dc", + "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" @@ -164,18 +164,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 12, - 13, - 14 + 4, + 5, + 6 ], "starting_column": 5, "ending_column": 6 @@ -187,9 +187,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -224,40 +224,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad0()" } }, { "type": "node", - "name": "i = uint256(blockhash(uint256)(10000)) % 10", + "name": "i = block.timestamp % 10", "source_mapping": { - "start": 216, - "length": 39, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 13 + 5 ], "starting_column": 7, - "ending_column": 46 + "ending_column": 36 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad0", "source_mapping": { - "start": 184, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 12, - 13, - 14 + 4, + 5, + 6 ], "starting_column": 5, "ending_column": 6 @@ -269,9 +269,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -306,16 +306,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad0()" } } } } ], - "description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L12-L14", - "id": "4769d2b25e78345ad05fa046a989f5f5545739c20e8c2b93c2968cdca69a5501", + "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" @@ -324,18 +324,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 4, - 5, - 6 + 12, + 13, + 14 ], "starting_column": 5, "ending_column": 6 @@ -347,9 +347,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -384,40 +384,40 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2()" } }, { "type": "node", - "name": "i = block.timestamp % 10", + "name": "i = uint256(blockhash(uint256)(10000)) % 10", "source_mapping": { - "start": 77, - "length": 29, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 5 + 13 ], "starting_column": 7, - "ending_column": 36 + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 4, - 5, - 6 + 12, + 13, + 14 ], "starting_column": 5, "ending_column": 6 @@ -429,9 +429,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -466,16 +466,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2()" } } } } ], - "description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L4-L6", - "id": "5bb9fd5cdaccfeb6303fb8ea676c6aed0164ba2ce3fc8b5c2778cd280afe61b0", + "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" @@ -484,18 +484,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad3", "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10 + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -507,9 +507,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -544,40 +544,40 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad3()" } }, { "type": "node", - "name": "i = now % 10", + "name": "i = foo() % 10", "source_mapping": { - "start": 154, - "length": 17, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 9 + 21 ], "starting_column": 7, - "ending_column": 24 + "ending_column": 26 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad3", "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "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/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10 + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -589,9 +589,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.5.16/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -626,16 +626,16 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad3()" } } } } ], - "description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.5.16/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/detectors/weak-prng/0.5.16/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/detectors/weak-prng/0.5.16/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.5.16/bad_prng.sol#L8-L10", - "id": "963866d884f65c4552ae10288cc1f92de1050f5f6254d4d2df132c7fbb7ce773", + "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" diff --git a/tests/detectors/weak-prng/0.6.11/bad_prng.sol b/tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol similarity index 100% rename from tests/detectors/weak-prng/0.6.11/bad_prng.sol rename to tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json rename to tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol.0.6.11.BadPRNG.json index 72a9305659..8c7a1f4caf 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "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/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ - 20, - 21, - 22 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -64,40 +64,40 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad1()" } }, { "type": "node", - "name": "i = foo() % 10", + "name": "i = now % 10", "source_mapping": { - "start": 395, - "length": 19, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "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/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ - 21 + 9 ], "starting_column": 7, - "ending_column": 26 + "ending_column": 24 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 363, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "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/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ - 20, - 21, - 22 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -109,9 +109,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -146,16 +146,16 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad1()" } } } } ], - "description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L20-L22", - "id": "211bbc7b73c90c6ae03f3e73c2b306c74699381229a4af6d4687891b024f2189", + "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" @@ -164,18 +164,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "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/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10 + 4, + 5, + 6 ], "starting_column": 5, "ending_column": 6 @@ -187,9 +187,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -224,40 +224,40 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad0()" } }, { "type": "node", - "name": "i = now % 10", + "name": "i = block.timestamp % 10", "source_mapping": { - "start": 154, - "length": 17, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "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/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ - 9 + 5 ], "starting_column": 7, - "ending_column": 24 + "ending_column": 36 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 122, - "length": 56, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "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/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10 + 4, + 5, + 6 ], "starting_column": 5, "ending_column": 6 @@ -269,9 +269,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -306,16 +306,16 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad0()" } } } } ], - "description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#8-10) uses a weak PRNG: \"i = now % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = now % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L8-L10", - "id": "4651cdacc944504d793e3c0dfa85684df0c31ccd1435fb1bdf7f952a5c743aac", + "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" @@ -328,9 +328,9 @@ "source_mapping": { "start": 184, "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 12, @@ -347,9 +347,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -393,9 +393,9 @@ "source_mapping": { "start": 216, "length": 39, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 13 @@ -410,9 +410,9 @@ "source_mapping": { "start": 184, "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 12, @@ -429,9 +429,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -472,10 +472,10 @@ } } ], - "description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L12-L14", - "id": "95c977967e6bb17afe7c6c10389750fcd98a2f0bf7fa9beb08d3e7214e2f63d7", + "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" @@ -484,18 +484,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad3", "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "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/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ - 4, - 5, - 6 + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -507,9 +507,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -544,40 +544,40 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad3()" } }, { "type": "node", - "name": "i = block.timestamp % 10", + "name": "i = foo() % 10", "source_mapping": { - "start": 77, - "length": 29, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "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/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ - 5 + 21 ], "starting_column": 7, - "ending_column": 36 + "ending_column": 26 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad3", "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "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/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ - 4, - 5, - 6 + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -589,9 +589,9 @@ "source_mapping": { "start": 0, "length": 499, - "filename_relative": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.6.11/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -626,16 +626,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad3()" } } } } ], - "description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.6.11/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.6.11/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.6.11/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.6.11/bad_prng.sol#L4-L6", - "id": "bfdb804ad9a58c4a694182e0f4dff561ffe37a0680f850763136ac57af57cea6", + "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" diff --git a/tests/detectors/weak-prng/0.7.6/bad_prng.sol b/tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol similarity index 100% rename from tests/detectors/weak-prng/0.7.6/bad_prng.sol rename to tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol diff --git a/tests/detectors/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 similarity index 79% rename from tests/detectors/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json rename to tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol.0.7.6.BadPRNG.json index d3b86aa49b..3b85badb2b 100644 --- a/tests/detectors/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 @@ -4,18 +4,18 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad3", "source_mapping": { - "start": 196, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "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/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 12, - 13, - 14 + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -27,9 +27,9 @@ "source_mapping": { "start": 0, "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -64,40 +64,40 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad3()" } }, { "type": "node", - "name": "i = uint256(blockhash(uint256)(10000)) % 10", + "name": "i = foo() % 10", "source_mapping": { - "start": 228, - "length": 39, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "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/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 13 + 21 ], "starting_column": 7, - "ending_column": 46 + "ending_column": 26 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad3", "source_mapping": { - "start": 196, - "length": 78, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "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/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 12, - 13, - 14 + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -109,9 +109,9 @@ "source_mapping": { "start": 0, "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -146,16 +146,16 @@ "ending_column": 2 } }, - "signature": "bad2()" + "signature": "bad3()" } } } } ], - "description": "BadPRNG.bad2() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#12-14) uses a weak PRNG: \"i = uint256(blockhash(uint256)(10000)) % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#13)\" \n", - "markdown": "[BadPRNG.bad2()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L12-L14) uses a weak PRNG: \"[i = uint256(blockhash(uint256)(10000)) % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L13)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L12-L14", - "id": "0afae786715bc7bc677a2525aec172999533a2bc1ee62d9b974c9f13a45755c6", + "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" @@ -164,18 +164,18 @@ "elements": [ { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "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/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 4, - 5, - 6 + 12, + 13, + 14 ], "starting_column": 5, "ending_column": 6 @@ -187,9 +187,9 @@ "source_mapping": { "start": 0, "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -224,40 +224,40 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2()" } }, { "type": "node", - "name": "i = block.timestamp % 10", + "name": "i = uint256(blockhash(uint256)(10000)) % 10", "source_mapping": { - "start": 77, - "length": 29, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "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/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 5 + 13 ], "starting_column": 7, - "ending_column": 36 + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad0", + "name": "bad2", "source_mapping": { - "start": 45, - "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "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/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 4, - 5, - 6 + 12, + 13, + 14 ], "starting_column": 5, "ending_column": 6 @@ -269,9 +269,9 @@ "source_mapping": { "start": 0, "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -306,16 +306,16 @@ "ending_column": 2 } }, - "signature": "bad0()" + "signature": "bad2()" } } } } ], - "description": "BadPRNG.bad0() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#4-6) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#5)\" \n", - "markdown": "[BadPRNG.bad0()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L4-L6) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L5)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L4-L6", - "id": "1699e708ab01560cde36ac92caaf0abd7c3de733431340f4719b1dfd3544a6ef", + "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" @@ -324,18 +324,18 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 375, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "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/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 20, - 21, - 22 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -347,9 +347,9 @@ "source_mapping": { "start": 0, "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -384,40 +384,40 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad1()" } }, { "type": "node", - "name": "i = foo() % 10", + "name": "i = block.timestamp % 10", "source_mapping": { - "start": 407, - "length": 19, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "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/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 21 + 9 ], "starting_column": 7, - "ending_column": 26 + "ending_column": 36 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad1", "source_mapping": { - "start": 375, - "length": 58, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "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/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 20, - 21, - 22 + 8, + 9, + 10 ], "starting_column": 5, "ending_column": 6 @@ -429,9 +429,9 @@ "source_mapping": { "start": 0, "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -466,16 +466,16 @@ "ending_column": 2 } }, - "signature": "bad3()" + "signature": "bad1()" } } } } ], - "description": "BadPRNG.bad3() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#20-22) uses a weak PRNG: \"i = foo() % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#21)\" \n", - "markdown": "[BadPRNG.bad3()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L20-L22) uses a weak PRNG: \"[i = foo() % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L21)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L20-L22", - "id": "b3e0dbd29c5e74eaae470dcfe1ff523c67da580b1ae0c07559c02ee67d9d4c86", + "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" @@ -484,18 +484,18 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 122, + "start": 45, "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10 + 4, + 5, + 6 ], "starting_column": 5, "ending_column": 6 @@ -507,9 +507,9 @@ "source_mapping": { "start": 0, "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -544,21 +544,21 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad0()" } }, { "type": "node", "name": "i = block.timestamp % 10", "source_mapping": { - "start": 154, + "start": 77, "length": 29, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 9 + 5 ], "starting_column": 7, "ending_column": 36 @@ -566,18 +566,18 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 122, + "start": 45, "length": 68, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ - 8, - 9, - 10 + 4, + 5, + 6 ], "starting_column": 5, "ending_column": 6 @@ -589,9 +589,9 @@ "source_mapping": { "start": 0, "length": 511, - "filename_relative": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_relative": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/weak-prng/0.7.6/bad_prng.sol", + "filename_short": "tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol", "is_dependency": false, "lines": [ 1, @@ -626,16 +626,16 @@ "ending_column": 2 } }, - "signature": "bad1()" + "signature": "bad0()" } } } } ], - "description": "BadPRNG.bad1() (tests/detectors/weak-prng/0.7.6/bad_prng.sol#8-10) uses a weak PRNG: \"i = block.timestamp % 10 (tests/detectors/weak-prng/0.7.6/bad_prng.sol#9)\" \n", - "markdown": "[BadPRNG.bad1()](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L8-L10) uses a weak PRNG: \"[i = block.timestamp % 10](tests/detectors/weak-prng/0.7.6/bad_prng.sol#L9)\" \n", - "first_markdown_element": "tests/detectors/weak-prng/0.7.6/bad_prng.sol#L8-L10", - "id": "e27e978d7016cb26d0d372e84c7f4e1bbd6e45af239e195823b3b138713430a6", + "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" diff --git a/tests/detectors/write-after-write/0.8.0/write-after-write.sol b/tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol similarity index 100% rename from tests/detectors/write-after-write/0.8.0/write-after-write.sol rename to tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol diff --git a/tests/detectors/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 similarity index 84% rename from tests/detectors/write-after-write/0.8.0/write-after-write.sol.0.8.0.WriteAfterWrite.json rename to tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol.0.8.0.WriteAfterWrite.json index 1ddd745cf5..9a08b581f5 100644 --- a/tests/detectors/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 @@ -8,9 +8,9 @@ "source_mapping": { "start": 20, "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 3 @@ -25,9 +25,9 @@ "source_mapping": { "start": 0, "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 1, @@ -101,9 +101,9 @@ "source_mapping": { "start": 157, "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 10 @@ -118,9 +118,9 @@ "source_mapping": { "start": 116, "length": 78, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 9, @@ -138,9 +138,9 @@ "source_mapping": { "start": 0, "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 1, @@ -217,9 +217,9 @@ "source_mapping": { "start": 177, "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 11 @@ -234,9 +234,9 @@ "source_mapping": { "start": 116, "length": 78, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 9, @@ -254,9 +254,9 @@ "source_mapping": { "start": 0, "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 1, @@ -328,10 +328,10 @@ } } ], - "description": "Test.state (tests/detectors/write-after-write/0.8.0/write-after-write.sol#3) is written in both\n\tstate = 10 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#10)\n\tstate = 20 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#11)\n", - "markdown": "[Test.state](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L3) is written in both\n\t[state = 10](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L10)\n\t[state = 20](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L11)\n", - "first_markdown_element": "tests/detectors/write-after-write/0.8.0/write-after-write.sol#L3", - "id": "64790630557e580454dbeb00f1d35e07d162ed1ab46201e66fd4e686f3806402", + "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" @@ -340,37 +340,39 @@ "elements": [ { "type": "variable", - "name": "a", + "name": "local", "source_mapping": { - "start": 351, - "length": 6, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ - 21 + 52 ], "starting_column": 9, - "ending_column": 15 + "ending_column": 19 }, "type_specific_fields": { "parent": { "type": "function", - "name": "buggy_local", + "name": "bugy_external_local", "source_mapping": { - "start": 310, - "length": 86, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "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 + 51, + 52, + 53, + 54, + 55, + 56, + 57 ], "starting_column": 5, "ending_column": 6 @@ -382,9 +384,9 @@ "source_mapping": { "start": 0, "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 1, @@ -450,44 +452,46 @@ "ending_column": 2 } }, - "signature": "buggy_local()" + "signature": "bugy_external_local()" } } } }, { "type": "node", - "name": "a = 10", + "name": "local = 10", "source_mapping": { - "start": 367, - "length": 6, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ - 22 + 53 ], "starting_column": 9, - "ending_column": 15 + "ending_column": 19 }, "type_specific_fields": { "parent": { "type": "function", - "name": "buggy_local", + "name": "bugy_external_local", "source_mapping": { - "start": 310, - "length": 86, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "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 + 51, + 52, + 53, + 54, + 55, + 56, + 57 ], "starting_column": 5, "ending_column": 6 @@ -499,9 +503,9 @@ "source_mapping": { "start": 0, "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 1, @@ -567,44 +571,46 @@ "ending_column": 2 } }, - "signature": "buggy_local()" + "signature": "bugy_external_local()" } } } }, { "type": "node", - "name": "a = 20", + "name": "local = 11", "source_mapping": { - "start": 383, - "length": 6, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ - 23 + 56 ], "starting_column": 9, - "ending_column": 15 + "ending_column": 19 }, "type_specific_fields": { "parent": { "type": "function", - "name": "buggy_local", + "name": "bugy_external_local", "source_mapping": { - "start": 310, - "length": 86, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "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 + 51, + 52, + 53, + 54, + 55, + 56, + 57 ], "starting_column": 5, "ending_column": 6 @@ -616,9 +622,9 @@ "source_mapping": { "start": 0, "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 1, @@ -684,16 +690,16 @@ "ending_column": 2 } }, - "signature": "buggy_local()" + "signature": "bugy_external_local()" } } } } ], - "description": "Test.buggy_local().a (tests/detectors/write-after-write/0.8.0/write-after-write.sol#21) is written in both\n\ta = 10 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#22)\n\ta = 20 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#23)\n", - "markdown": "[Test.buggy_local().a](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L21) is written in both\n\t[a = 10](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L22)\n\t[a = 20](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L23)\n", - "first_markdown_element": "tests/detectors/write-after-write/0.8.0/write-after-write.sol#L21", - "id": "db1316a3aebb9fb6df78eecf60236950d2aff43986dd01ca362739b8b582e848", + "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" @@ -702,39 +708,37 @@ "elements": [ { "type": "variable", - "name": "local", + "name": "a", "source_mapping": { - "start": 894, - "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ - 52 + 21 ], "starting_column": 9, - "ending_column": 19 + "ending_column": 15 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bugy_external_local", + "name": "buggy_local", "source_mapping": { - "start": 845, - "length": 145, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 5, "ending_column": 6 @@ -746,9 +750,9 @@ "source_mapping": { "start": 0, "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 1, @@ -814,46 +818,44 @@ "ending_column": 2 } }, - "signature": "bugy_external_local()" + "signature": "buggy_local()" } } } }, { "type": "node", - "name": "local = 10", + "name": "a = 10", "source_mapping": { - "start": 914, - "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ - 53 + 22 ], "starting_column": 9, - "ending_column": 19 + "ending_column": 15 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bugy_external_local", + "name": "buggy_local", "source_mapping": { - "start": 845, - "length": 145, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 5, "ending_column": 6 @@ -865,9 +867,9 @@ "source_mapping": { "start": 0, "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 1, @@ -933,46 +935,44 @@ "ending_column": 2 } }, - "signature": "bugy_external_local()" + "signature": "buggy_local()" } } } }, { "type": "node", - "name": "local = 11", + "name": "a = 20", "source_mapping": { - "start": 973, - "length": 10, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ - 56 + 23 ], "starting_column": 9, - "ending_column": 19 + "ending_column": 15 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bugy_external_local", + "name": "buggy_local", "source_mapping": { - "start": 845, - "length": 145, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "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/detectors/write-after-write/0.8.0/write-after-write.sol", + "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 + 20, + 21, + 22, + 23, + 24 ], "starting_column": 5, "ending_column": 6 @@ -984,9 +984,9 @@ "source_mapping": { "start": 0, "length": 992, - "filename_relative": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_relative": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/detectors/write-after-write/0.8.0/write-after-write.sol", + "filename_short": "tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol", "is_dependency": false, "lines": [ 1, @@ -1052,16 +1052,16 @@ "ending_column": 2 } }, - "signature": "bugy_external_local()" + "signature": "buggy_local()" } } } } ], - "description": "Test.bugy_external_local().local (tests/detectors/write-after-write/0.8.0/write-after-write.sol#52) is written in both\n\tlocal = 10 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#53)\n\tlocal = 11 (tests/detectors/write-after-write/0.8.0/write-after-write.sol#56)\n", - "markdown": "[Test.bugy_external_local().local](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L52) is written in both\n\t[local = 10](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L53)\n\t[local = 11](tests/detectors/write-after-write/0.8.0/write-after-write.sol#L56)\n", - "first_markdown_element": "tests/detectors/write-after-write/0.8.0/write-after-write.sol#L52", - "id": "e6a01bd710ad6a82ab7c53e035a1fa150b8606aa6149e4d370fadd49f5128904", + "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" diff --git a/tests/test_detectors.py b/tests/e2e/detectors/test_detectors.py similarity index 99% rename from tests/test_detectors.py rename to tests/e2e/detectors/test_detectors.py index 9d82afd2cf..0ed1b3648a 100644 --- a/tests/test_detectors.py +++ b/tests/e2e/detectors/test_detectors.py @@ -1661,7 +1661,9 @@ def test_detector(test_item: Test): test_dir_path = pathlib.Path( pathlib.Path().absolute(), "tests", + "e2e", "detectors", + "test_data", test_item.detector.ARGUMENT, test_item.solc_ver, ) @@ -1706,7 +1708,9 @@ def _generate_test(test_item: Test, skip_existing=False): test_dir_path = pathlib.Path( pathlib.Path().absolute(), "tests", + "e2e", "detectors", + "test_data", test_item.detector.ARGUMENT, test_item.solc_ver, ) diff --git a/tests/test_ast_parsing.py b/tests/e2e/solc_parsing/test_ast_parsing.py similarity index 99% rename from tests/test_ast_parsing.py rename to tests/e2e/solc_parsing/test_ast_parsing.py index 105ecdc628..78aa8a2914 100644 --- a/tests/test_ast_parsing.py +++ b/tests/e2e/solc_parsing/test_ast_parsing.py @@ -15,8 +15,8 @@ from slither import Slither from slither.printers.guidance.echidna import Echidna -SLITHER_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -TEST_ROOT = os.path.join(SLITHER_ROOT, "tests", "ast-parsing") +E2E_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +TEST_ROOT = os.path.join(E2E_ROOT, "solc_parsing", "test_data") # pylint: disable=too-few-public-methods diff --git a/tests/ast-parsing/assembly-all.sol b/tests/e2e/solc_parsing/test_data/assembly-all.sol similarity index 100% rename from tests/ast-parsing/assembly-all.sol rename to tests/e2e/solc_parsing/test_data/assembly-all.sol diff --git a/tests/ast-parsing/assignment-0.4.0.sol b/tests/e2e/solc_parsing/test_data/assignment-0.4.0.sol similarity index 100% rename from tests/ast-parsing/assignment-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/assignment-0.4.0.sol diff --git a/tests/ast-parsing/assignment-0.4.7.sol b/tests/e2e/solc_parsing/test_data/assignment-0.4.7.sol similarity index 100% rename from tests/ast-parsing/assignment-0.4.7.sol rename to tests/e2e/solc_parsing/test_data/assignment-0.4.7.sol diff --git a/tests/ast-parsing/binaryoperation-0.4.0.sol b/tests/e2e/solc_parsing/test_data/binaryoperation-0.4.0.sol similarity index 100% rename from tests/ast-parsing/binaryoperation-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/binaryoperation-0.4.0.sol diff --git a/tests/ast-parsing/binaryoperation-0.4.7.sol b/tests/e2e/solc_parsing/test_data/binaryoperation-0.4.7.sol similarity index 100% rename from tests/ast-parsing/binaryoperation-0.4.7.sol rename to tests/e2e/solc_parsing/test_data/binaryoperation-0.4.7.sol diff --git a/tests/ast-parsing/break-all.sol b/tests/e2e/solc_parsing/test_data/break-all.sol similarity index 100% rename from tests/ast-parsing/break-all.sol rename to tests/e2e/solc_parsing/test_data/break-all.sol diff --git a/tests/ast-parsing/bytes_call.sol b/tests/e2e/solc_parsing/test_data/bytes_call.sol similarity index 100% rename from tests/ast-parsing/bytes_call.sol rename to tests/e2e/solc_parsing/test_data/bytes_call.sol diff --git a/tests/ast-parsing/call_to_variable-all.sol b/tests/e2e/solc_parsing/test_data/call_to_variable-all.sol similarity index 100% rename from tests/ast-parsing/call_to_variable-all.sol rename to tests/e2e/solc_parsing/test_data/call_to_variable-all.sol diff --git a/tests/ast-parsing/comment-all.sol b/tests/e2e/solc_parsing/test_data/comment-all.sol similarity index 100% rename from tests/ast-parsing/comment-all.sol rename to tests/e2e/solc_parsing/test_data/comment-all.sol diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/assembly-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assembly-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/assignment-0.4.7.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/assignment-0.4.7.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/binaryoperation-0.4.7.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/binaryoperation-0.4.7.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/break-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/break-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/break-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/bytes_call.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/bytes_call.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/bytes_call.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/bytes_call.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/call_to_variable-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/call_to_variable-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/call_to_variable-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/comment-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/comment-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/comment-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases/test.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases/test.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/complex_imports/import_free/Caller.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/complex_imports/import_free/Caller.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/complex_imports/import_free/Caller.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/complex_imports/import_free/Caller.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/conditional-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/conditional-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/conditional-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/continue-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/continue-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/continue-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.4.22.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.4.22.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.4.22.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/contract-0.6.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/contract-0.6.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/contract-0.6.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/custom-error-selector.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom-error-selector.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom-error-selector.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.4.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.4.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error-0.8.4.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error-0.8.4.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/custom_error_with_state_variable.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/custom_error_with_state_variable.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/dowhile-0.4.5.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/dowhile-0.4.5.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.21.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.21.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.21.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.10-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.11-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.8-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.9-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.4.8.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.4.8.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.4.8.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/emit-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/emit-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/emit-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.4.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.4.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.4.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/enum-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/enum-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/enum-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/event-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/event-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/event-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/for-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/for-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/for-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/free_functions/libraries_from_free.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/free_functions/libraries_from_free.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/free_functions/libraries_from_free.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/free_functions/libraries_from_free.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/free_functions/library_constant_function_collision.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/free_functions/library_constant_function_collision.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/free_functions/library_constant_function_collision.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/free_functions/library_constant_function_collision.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/free_functions/new_operator.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/free_functions/new_operator.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/free_functions/new_operator.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/free_functions/new_operator.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.16.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.16.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.16.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.22.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.22.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.22.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.22.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.22.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.22.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.22.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.22.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/function-0.4.23.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.4.23.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.4.23.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/function-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/function-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/function-0.7.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/function-0.7.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/function-0.7.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.4.5.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.4.5.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.5.3.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.5.3.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.2.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.2.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.6.8.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.6.8.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.7.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.7.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/functioncall-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/functioncall-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/if-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/if-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/if-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/indexaccess-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexaccess-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexaccess-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/indexrangeaccess-0.6.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/indexrangeaccess-0.6.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/library_event-0.8.16.sol-0.8.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_event-0.8.16.sol-0.8.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_event-0.8.16.sol-0.8.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_event-0.8.16.sol-0.8.16-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/library_implicit_conversion-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/library_implicit_conversion-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.4.10.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.4.10.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.4.10.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/literal-0.6.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/literal-0.6.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/literal-0.6.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/memberaccess-0.5.3.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/memberaccess-0.5.3.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.6.8.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.6.8.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/minmax-0.8.8.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/minmax-0.8.8.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-0.7.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-0.7.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/modifier-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/modifier-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/modifier_identifier_path.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/modifier_identifier_path.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/newexpression-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/newexpression-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.6.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.6.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.7.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.7.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/pragma-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/pragma-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/push-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/push-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/push-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/return-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/return-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/return-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/scope-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/scope-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/scope-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/struct-0.6.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/struct-0.6.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/struct-0.6.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/ternary-with-max.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/ternary-with-max.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/ternary-with-max.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/ternary-with-max.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/throw-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/throw-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/throw-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.1.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.1.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-0.7.4.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-0.7.4.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-0.7.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-0.7.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-import-bis-0.7.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-import-bis-0.7.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-nested-import-0.7.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-nested-import-0.7.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top-level-struct-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top-level-struct-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top-level-struct-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top-level-struct-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.4.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.4.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.4.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.4.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/top_level_variable2-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/top_level_variable2-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/compile/trycatch-0.6.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/trycatch-0.6.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.4.24.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.4.24.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/tupleexpression-0.5.3.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/tupleexpression-0.5.3.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unaryexpression-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unaryexpression-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.4.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.4.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/unchecked-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/unchecked-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.5.4.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.5.4.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.6.0.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.6.0.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.7.0.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.7.0.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.4.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.4.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/units_and_global_variables-0.8.7.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/units_and_global_variables-0.8.7.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-0.4.1.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-0.4.1.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/using-for-1-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-1-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-1-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-1-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-2-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-2-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-2-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-2-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-3-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-3-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-3-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-3-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-4-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-4-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-4-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-4-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-alias-contract-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-alias-contract-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-alias-contract-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-alias-contract-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-global-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-global-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-global-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-global-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/using-for-in-library-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/using-for-in-library-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/using-for-in-library-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/using-for-in-library-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.0.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.0.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.0.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.14.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.14.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.14.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.14.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.14.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.14.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.14.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.14.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.14.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.16.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.16.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.16.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.4.5.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.4.5.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.4.5.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.5.0.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.5.0.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.5.0.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.5.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.5.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.5.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.6.9.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.6.9.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.6.9.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/variable-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variable-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variable-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.0-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.1-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.10-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.11-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.2-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.3-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.4-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.5-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.6-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.7-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.8-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.0.sol-0.4.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.0.sol-0.4.9-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.4.24.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.4.24.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/variabledeclaration-0.5.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/variabledeclaration-0.5.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/while-all.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/while-all.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/while-all.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.0.sol-0.4.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.0.sol-0.4.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.0.sol-0.4.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.0.sol-0.4.0-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.1-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.10-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.2-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.3-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.4-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.5-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.6-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.7-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.8-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.1.sol-0.4.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.1.sol-0.4.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.1.sol-0.4.9-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.11-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.12-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.12-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.13-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.13-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.14-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.14-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.15-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.15-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.16-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.16-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.17-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.17-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.18-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.18-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.18-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.18-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.18-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.18-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.18-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.18-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.19-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.19-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.19-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.19-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.19-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.19-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.19-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.19-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.20-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.20-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.20-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.20-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.20-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.20-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.20-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.20-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.21-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.21-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.21-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.21-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.21-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.21-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.21-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.21-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.22-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.22-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.22-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.22-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.22-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.22-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.22-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.22-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.23-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.23-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.23-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.23-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.23-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.23-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.23-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.23-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.24-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.24-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.24-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.24-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.24-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.24-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.24-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.24-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.25-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.25-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.25-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.25-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.25-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.25-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.25-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.25-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.26-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.26-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.26-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.26-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.4.26-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.26-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.4.26-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.4.26-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.0-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.0-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.1-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.1-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.10-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.10-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.11-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.11-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.12-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.12-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.13-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.13-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.13-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.13-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.13-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.14-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.14-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.14-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.14-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.14-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.15-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.15-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.15-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.15-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.15-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.16-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.16-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.16-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.16-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.16-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.17-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.17-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.17-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.17-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.17-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.17-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.17-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.17-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.2-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.2-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.3-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.3-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.4-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.4-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.5-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.5-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.6-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.6-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.7-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.7-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.8-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.8-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.9-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.5.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.5.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.5.9-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.0-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.0-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.1-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.1-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.10-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.10-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.10-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.10-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.10-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.11-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.11-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.11-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.11-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.11-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.12-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.12-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.12-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.12-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.12-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.2-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.2-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.3-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.3-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.4-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.4-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.5-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.5-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.6-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.6-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.7-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.7-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.7-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.7-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.7-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.8-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.8-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.8-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.8-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.8-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.9-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.4.11.sol-0.6.9-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.9-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.4.11.sol-0.6.9-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.4.11.sol-0.6.9-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.0-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.0-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.0-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.0-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.0-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.1-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.1-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.1-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.1-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.1-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.2-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.2-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.2-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.2-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.2-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.3-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.3-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.3-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.3-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.3-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.4-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.0.sol-0.7.4-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.4-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.0.sol-0.7.4-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.0.sol-0.7.4-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.5.sol-0.7.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.5.sol-0.7.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.5-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.5.sol-0.7.5-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.5-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.5.sol-0.7.5-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.5-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.7.5.sol-0.7.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.5.sol-0.7.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.6-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.7.5.sol-0.7.6-legacy.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.6-legacy.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.7.5.sol-0.7.6-legacy.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.7.5.sol-0.7.6-legacy.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.1-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.1-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.1-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.1-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.10-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.10-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.10-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.10-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.11-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.11-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.11-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.11-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.12-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.12-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.12-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.12-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.13-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.13-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.13-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.13-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.14-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.14-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.14-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.14-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.15-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.15-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.15-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.15-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.2-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.2-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.2-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.2-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.3-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.3-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.3-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.3-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.4-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.4-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.4-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.4-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.5-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.5-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.5-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.5-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.6-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.6-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.6-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.6-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.7-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.7-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.7-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.7-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.8-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.8-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.8-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.8-compact.zip diff --git a/tests/ast-parsing/compile/yul-0.8.0.sol-0.8.9-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.9-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-0.8.0.sol-0.8.9-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-0.8.0.sol-0.8.9-compact.zip diff --git a/tests/ast-parsing/compile/yul-state-constant-access.sol-0.8.16-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-state-constant-access.sol-0.8.16-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-state-constant-access.sol-0.8.16-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-state-constant-access.sol-0.8.16-compact.zip diff --git a/tests/ast-parsing/compile/yul-top-level-0.8.0.sol-0.8.0-compact.zip b/tests/e2e/solc_parsing/test_data/compile/yul-top-level-0.8.0.sol-0.8.0-compact.zip similarity index 100% rename from tests/ast-parsing/compile/yul-top-level-0.8.0.sol-0.8.0-compact.zip rename to tests/e2e/solc_parsing/test_data/compile/yul-top-level-0.8.0.sol-0.8.0-compact.zip diff --git a/tests/ast-parsing/complex_imports/FreeFuns.sol b/tests/e2e/solc_parsing/test_data/complex_imports/FreeFuns.sol similarity index 100% rename from tests/ast-parsing/complex_imports/FreeFuns.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/FreeFuns.sol diff --git a/tests/ast-parsing/complex_imports/import_aliases/import.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_aliases/import.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_aliases/import.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_aliases/import.sol diff --git a/tests/ast-parsing/complex_imports/import_aliases/test.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_aliases/test.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_aliases/test.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_aliases/test.sol diff --git a/tests/ast-parsing/complex_imports/import_aliases_issue_1319/import.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/import.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_aliases_issue_1319/import.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/import.sol diff --git a/tests/ast-parsing/complex_imports/import_aliases_issue_1319/test.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/test.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_aliases_issue_1319/test.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/test.sol diff --git a/tests/ast-parsing/complex_imports/import_aliases_issue_1319/test_fail.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/test_fail.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_aliases_issue_1319/test_fail.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_aliases_issue_1319/test_fail.sol diff --git a/tests/ast-parsing/complex_imports/import_free/Caller.sol b/tests/e2e/solc_parsing/test_data/complex_imports/import_free/Caller.sol similarity index 100% rename from tests/ast-parsing/complex_imports/import_free/Caller.sol rename to tests/e2e/solc_parsing/test_data/complex_imports/import_free/Caller.sol diff --git a/tests/ast-parsing/conditional-all.sol b/tests/e2e/solc_parsing/test_data/conditional-all.sol similarity index 100% rename from tests/ast-parsing/conditional-all.sol rename to tests/e2e/solc_parsing/test_data/conditional-all.sol diff --git a/tests/ast-parsing/continue-all.sol b/tests/e2e/solc_parsing/test_data/continue-all.sol similarity index 100% rename from tests/ast-parsing/continue-all.sol rename to tests/e2e/solc_parsing/test_data/continue-all.sol diff --git a/tests/ast-parsing/contract-0.4.0.sol b/tests/e2e/solc_parsing/test_data/contract-0.4.0.sol similarity index 100% rename from tests/ast-parsing/contract-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/contract-0.4.0.sol diff --git a/tests/ast-parsing/contract-0.4.22.sol b/tests/e2e/solc_parsing/test_data/contract-0.4.22.sol similarity index 100% rename from tests/ast-parsing/contract-0.4.22.sol rename to tests/e2e/solc_parsing/test_data/contract-0.4.22.sol diff --git a/tests/ast-parsing/contract-0.6.0.sol b/tests/e2e/solc_parsing/test_data/contract-0.6.0.sol similarity index 100% rename from tests/ast-parsing/contract-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/contract-0.6.0.sol diff --git a/tests/ast-parsing/custom-error-selector.sol b/tests/e2e/solc_parsing/test_data/custom-error-selector.sol similarity index 100% rename from tests/ast-parsing/custom-error-selector.sol rename to tests/e2e/solc_parsing/test_data/custom-error-selector.sol diff --git a/tests/ast-parsing/custom_error-0.4.0.sol b/tests/e2e/solc_parsing/test_data/custom_error-0.4.0.sol similarity index 100% rename from tests/ast-parsing/custom_error-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/custom_error-0.4.0.sol diff --git a/tests/ast-parsing/custom_error-0.8.4.sol b/tests/e2e/solc_parsing/test_data/custom_error-0.8.4.sol similarity index 100% rename from tests/ast-parsing/custom_error-0.8.4.sol rename to tests/e2e/solc_parsing/test_data/custom_error-0.8.4.sol diff --git a/tests/ast-parsing/custom_error_with_state_variable.sol b/tests/e2e/solc_parsing/test_data/custom_error_with_state_variable.sol similarity index 100% rename from tests/ast-parsing/custom_error_with_state_variable.sol rename to tests/e2e/solc_parsing/test_data/custom_error_with_state_variable.sol diff --git a/tests/ast-parsing/dowhile-0.4.0.sol b/tests/e2e/solc_parsing/test_data/dowhile-0.4.0.sol similarity index 100% rename from tests/ast-parsing/dowhile-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/dowhile-0.4.0.sol diff --git a/tests/ast-parsing/dowhile-0.4.5.sol b/tests/e2e/solc_parsing/test_data/dowhile-0.4.5.sol similarity index 100% rename from tests/ast-parsing/dowhile-0.4.5.sol rename to tests/e2e/solc_parsing/test_data/dowhile-0.4.5.sol diff --git a/tests/ast-parsing/emit-0.4.0.sol b/tests/e2e/solc_parsing/test_data/emit-0.4.0.sol similarity index 100% rename from tests/ast-parsing/emit-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/emit-0.4.0.sol diff --git a/tests/ast-parsing/emit-0.4.21.sol b/tests/e2e/solc_parsing/test_data/emit-0.4.21.sol similarity index 100% rename from tests/ast-parsing/emit-0.4.21.sol rename to tests/e2e/solc_parsing/test_data/emit-0.4.21.sol diff --git a/tests/ast-parsing/emit-0.4.8.sol b/tests/e2e/solc_parsing/test_data/emit-0.4.8.sol similarity index 100% rename from tests/ast-parsing/emit-0.4.8.sol rename to tests/e2e/solc_parsing/test_data/emit-0.4.8.sol diff --git a/tests/ast-parsing/emit-0.5.0.sol b/tests/e2e/solc_parsing/test_data/emit-0.5.0.sol similarity index 100% rename from tests/ast-parsing/emit-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/emit-0.5.0.sol diff --git a/tests/ast-parsing/enum-0.4.0.sol b/tests/e2e/solc_parsing/test_data/enum-0.4.0.sol similarity index 100% rename from tests/ast-parsing/enum-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/enum-0.4.0.sol diff --git a/tests/ast-parsing/enum-0.8.0.sol b/tests/e2e/solc_parsing/test_data/enum-0.8.0.sol similarity index 100% rename from tests/ast-parsing/enum-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/enum-0.8.0.sol diff --git a/tests/ast-parsing/event-all.sol b/tests/e2e/solc_parsing/test_data/event-all.sol similarity index 100% rename from tests/ast-parsing/event-all.sol rename to tests/e2e/solc_parsing/test_data/event-all.sol diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/assembly-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assembly-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/assignment-0.4.7.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/assignment-0.4.7.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/binaryoperation-0.4.7.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/binaryoperation-0.4.7.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/break-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/break-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/break-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/bytes_call.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/bytes_call.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/bytes_call.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/bytes_call.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/call_to_variable-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/call_to_variable-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/call_to_variable-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/comment-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/comment-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/comment-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases/test.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases/test.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_aliases_issue_1319/test.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/complex_imports/import_free/Caller.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/complex_imports/import_free/Caller.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/complex_imports/import_free/Caller.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/complex_imports/import_free/Caller.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/conditional-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/conditional-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/continue-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/continue-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/continue-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/contract-0.4.22.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.4.22.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.4.22.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/contract-0.6.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/contract-0.6.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/contract-0.6.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/custom-error-selector.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom-error-selector.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom-error-selector.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.4.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.4.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error-0.8.4.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error-0.8.4.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/custom_error_with_state_variable.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/custom_error_with_state_variable.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/dowhile-0.4.5.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/dowhile-0.4.5.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.21.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.21.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.21.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.8.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.8.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.8.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.8.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.4.8.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.8.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/emit-0.4.8.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.4.8.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.4.8.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/emit-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/emit-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/emit-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/enum-0.4.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.4.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.4.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/enum-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/enum-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/enum-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/event-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/event-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/event-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/for-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/for-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/for-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/free_functions/libraries_from_free.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/free_functions/libraries_from_free.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/free_functions/libraries_from_free.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/free_functions/libraries_from_free.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/free_functions/library_constant_function_collision.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/free_functions/library_constant_function_collision.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/free_functions/library_constant_function_collision.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/free_functions/library_constant_function_collision.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/free_functions/new_operator.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/free_functions/new_operator.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/free_functions/new_operator.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/free_functions/new_operator.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.16.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.16.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.16.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.22.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.22.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.22.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.22.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.22.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.22.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.22.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.22.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/function-0.4.23.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.4.23.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.4.23.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/function-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/function-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/function-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/function-0.7.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/function-0.7.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/function-0.7.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.4.5.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.4.5.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.5.3.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.5.3.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.2.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.2.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.6.8.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.6.8.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.7.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.7.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/functioncall-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/functioncall-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/if-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/if-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/if-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/import_interface_with_struct_from_top_level-0.7.6.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/indexaccess-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexaccess-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexaccess-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/indexrangeaccess-0.6.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/indexrangeaccess-0.6.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/library_event-0.8.16.sol-0.8.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_event-0.8.16.sol-0.8.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_event-0.8.16.sol-0.8.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_event-0.8.16.sol-0.8.16-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/library_implicit_conversion-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/library_implicit_conversion-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/literal-0.4.10.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.4.10.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.4.10.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/literal-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/literal-0.6.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/literal-0.6.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/literal-0.6.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/memberaccess-0.5.3.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/memberaccess-0.5.3.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.6.8.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.6.8.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/minmax-0.8.8.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/minmax-0.8.8.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-0.7.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-0.7.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/modifier-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/modifier_identifier_path.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/modifier_identifier_path.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/newexpression-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/newexpression-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.6.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.6.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.7.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.7.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/pragma-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/pragma-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/push-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/push-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/push-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/return-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/return-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/return-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/scope-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/scope-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/scope-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/scope-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/struct-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/struct-0.6.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/struct-0.6.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/struct-0.6.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/ternary-with-max.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/ternary-with-max.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/ternary-with-max.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/ternary-with-max.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/throw-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/throw-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/throw-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/throw-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.1.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.1.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-0.7.4.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-0.7.4.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-0.7.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-0.7.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-import-bis-0.7.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-import-bis-0.7.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-nested-import-0.7.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-nested-import-0.7.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top-level-struct-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top-level-struct-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top-level-struct-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top-level-struct-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.4.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.4.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.4.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.4.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/top_level_variable2-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/top_level_variable2-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/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 similarity index 100% rename from tests/ast-parsing/expected/trycatch-0.6.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/trycatch-0.6.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.4.24.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.4.24.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/tupleexpression-0.5.3.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/tupleexpression-0.5.3.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unaryexpression-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unaryexpression-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.4.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.4.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/unchecked-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/unchecked-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.5.4.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.5.4.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.6.0.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.6.0.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.7.0.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.7.0.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.4.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.4.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/units_and_global_variables-0.8.7.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/units_and_global_variables-0.8.7.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/user_defined_types.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_types.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_types.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_types.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_types.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_types.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_types.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_types.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_types.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/argument-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/calldata-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/constant-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/erc20-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/in_parenthesis-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/top-level-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/user_defined_types-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/user_defined_value_type/using-for-0.8.8.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-0.4.1.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-0.4.1.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/using-for-1-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-1-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-1-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-1-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-2-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-2-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-2-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-2-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-3-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-3-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-3-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-3-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-4-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-4-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-4-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-4-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-alias-contract-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-alias-contract-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-alias-contract-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-alias-contract-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-alias-top-level-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-1-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-2-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-3-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-functions-list-4-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-global-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-global-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-global-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-global-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/using-for-in-library-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/using-for-in-library-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/using-for-in-library-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/using-for-in-library-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.0.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.0.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.0.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.14.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.14.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.14.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.14.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.14.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.14.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.14.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.14.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.14.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.16.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.16.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.16.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/variable-0.4.5.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.4.5.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.4.5.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/variable-0.5.0.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.5.0.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.5.0.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.5.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.5.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.5.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.6.9.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.6.9.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.6.9.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/variable-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variable-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variable-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/variabledeclaration-0.5.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/variabledeclaration-0.5.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/while-all.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/while-all.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/while-all.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.0.sol-0.4.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.0.sol-0.4.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.0.sol-0.4.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.0.sol-0.4.0-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.0.sol-0.4.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.0.sol-0.4.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.0.sol-0.4.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.0.sol-0.4.0-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.1-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.1-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.10-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.10-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.2-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.2-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.3-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.3-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.4-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.4-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.5-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.5-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.6-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.6-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.7-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.7-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.8-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.8-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.9-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.1.sol-0.4.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.1.sol-0.4.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.1.sol-0.4.9-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.11-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.11-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.12-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.12-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.13-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.13-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.14-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.14-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.15-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.15-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.16-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.16-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.17-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.17-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.18-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.18-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.18-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.18-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.18-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.18-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.18-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.18-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.19-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.19-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.19-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.19-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.19-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.19-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.19-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.19-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.20-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.20-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.20-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.20-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.20-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.20-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.20-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.20-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.21-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.21-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.21-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.21-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.21-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.21-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.21-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.21-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.22-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.22-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.22-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.22-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.22-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.22-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.22-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.22-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.23-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.23-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.23-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.23-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.23-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.23-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.23-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.23-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.24-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.24-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.24-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.24-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.24-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.24-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.24-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.24-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.25-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.25-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.25-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.25-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.25-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.25-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.25-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.25-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.26-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.26-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.26-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.26-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.4.26-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.26-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.4.26-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.4.26-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.0-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.0-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.1-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.1-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.10-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.10-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.11-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.11-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.12-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.12-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.13-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.13-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.13-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.13-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.13-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.14-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.14-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.14-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.14-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.14-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.15-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.15-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.15-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.15-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.15-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.16-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.16-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.16-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.16-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.16-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.17-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.17-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.17-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.17-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.17-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.17-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.17-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.17-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.2-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.2-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.3-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.3-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.4-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.4-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.5-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.5-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.6-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.6-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.7-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.7-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.8-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.8-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.9-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.5.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.5.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.5.9-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.0-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.0-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.1-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.1-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.10-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.10-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.10-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.10-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.10-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.11-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.11-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.11-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.11-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.11-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.12-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.12-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.12-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.12-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.12-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.2-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.2-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.3-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.3-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.4-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.4-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.5-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.5-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.6-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.6-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.7-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.7-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.7-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.7-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.7-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.8-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.8-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.8-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.8-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.8-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.9-compact.json diff --git a/tests/ast-parsing/expected/yul-0.4.11.sol-0.6.9-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.9-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.4.11.sol-0.6.9-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.4.11.sol-0.6.9-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.0-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.0-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.0-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.0-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.0-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.1-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.1-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.1-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.1-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.1-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.2-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.2-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.2-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.2-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.2-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.3-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.3-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.3-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.3-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.3-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.4-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.0.sol-0.7.4-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.4-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.0.sol-0.7.4-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.0.sol-0.7.4-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.5.sol-0.7.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.5.sol-0.7.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.5-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.5.sol-0.7.5-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.5-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.5.sol-0.7.5-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.5-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.7.5.sol-0.7.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.5.sol-0.7.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.6-compact.json diff --git a/tests/ast-parsing/expected/yul-0.7.5.sol-0.7.6-legacy.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.6-legacy.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.7.5.sol-0.7.6-legacy.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.7.5.sol-0.7.6-legacy.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.0-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.0-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.0-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.0-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.1-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.1-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.1-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.1-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.10-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.10-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.10-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.10-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.11-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.11-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.11-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.11-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.12-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.12-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.12-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.12-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.13-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.13-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.13-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.13-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.14-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.14-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.14-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.14-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.15-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.15-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.15-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.15-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.2-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.2-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.2-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.2-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.3-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.3-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.3-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.3-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.4-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.4-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.4-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.4-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.5-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.5-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.5-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.5-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.6-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.6-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.6-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.6-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.7-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.7-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.7-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.7-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.8-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.8-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.8-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.8-compact.json diff --git a/tests/ast-parsing/expected/yul-0.8.0.sol-0.8.9-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.9-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-0.8.0.sol-0.8.9-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-0.8.0.sol-0.8.9-compact.json diff --git a/tests/ast-parsing/expected/yul-state-constant-access.sol-0.8.16-compact.json b/tests/e2e/solc_parsing/test_data/expected/yul-state-constant-access.sol-0.8.16-compact.json similarity index 100% rename from tests/ast-parsing/expected/yul-state-constant-access.sol-0.8.16-compact.json rename to tests/e2e/solc_parsing/test_data/expected/yul-state-constant-access.sol-0.8.16-compact.json diff --git a/tests/ast-parsing/for-all.sol b/tests/e2e/solc_parsing/test_data/for-all.sol similarity index 100% rename from tests/ast-parsing/for-all.sol rename to tests/e2e/solc_parsing/test_data/for-all.sol diff --git a/tests/ast-parsing/free_functions/libraries_from_free.sol b/tests/e2e/solc_parsing/test_data/free_functions/libraries_from_free.sol similarity index 100% rename from tests/ast-parsing/free_functions/libraries_from_free.sol rename to tests/e2e/solc_parsing/test_data/free_functions/libraries_from_free.sol diff --git a/tests/ast-parsing/free_functions/library_constant_function_collision.sol b/tests/e2e/solc_parsing/test_data/free_functions/library_constant_function_collision.sol similarity index 100% rename from tests/ast-parsing/free_functions/library_constant_function_collision.sol rename to tests/e2e/solc_parsing/test_data/free_functions/library_constant_function_collision.sol diff --git a/tests/ast-parsing/free_functions/new_operator.sol b/tests/e2e/solc_parsing/test_data/free_functions/new_operator.sol similarity index 100% rename from tests/ast-parsing/free_functions/new_operator.sol rename to tests/e2e/solc_parsing/test_data/free_functions/new_operator.sol diff --git a/tests/ast-parsing/function-0.4.0.sol b/tests/e2e/solc_parsing/test_data/function-0.4.0.sol similarity index 100% rename from tests/ast-parsing/function-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/function-0.4.0.sol diff --git a/tests/ast-parsing/function-0.4.16.sol b/tests/e2e/solc_parsing/test_data/function-0.4.16.sol similarity index 100% rename from tests/ast-parsing/function-0.4.16.sol rename to tests/e2e/solc_parsing/test_data/function-0.4.16.sol diff --git a/tests/ast-parsing/function-0.4.22.sol b/tests/e2e/solc_parsing/test_data/function-0.4.22.sol similarity index 100% rename from tests/ast-parsing/function-0.4.22.sol rename to tests/e2e/solc_parsing/test_data/function-0.4.22.sol diff --git a/tests/ast-parsing/function-0.4.23.sol b/tests/e2e/solc_parsing/test_data/function-0.4.23.sol similarity index 100% rename from tests/ast-parsing/function-0.4.23.sol rename to tests/e2e/solc_parsing/test_data/function-0.4.23.sol diff --git a/tests/ast-parsing/function-0.5.0.sol b/tests/e2e/solc_parsing/test_data/function-0.5.0.sol similarity index 100% rename from tests/ast-parsing/function-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/function-0.5.0.sol diff --git a/tests/ast-parsing/function-0.6.0.sol b/tests/e2e/solc_parsing/test_data/function-0.6.0.sol similarity index 100% rename from tests/ast-parsing/function-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/function-0.6.0.sol diff --git a/tests/ast-parsing/function-0.7.0.sol b/tests/e2e/solc_parsing/test_data/function-0.7.0.sol similarity index 100% rename from tests/ast-parsing/function-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/function-0.7.0.sol diff --git a/tests/ast-parsing/function-0.7.1.sol b/tests/e2e/solc_parsing/test_data/function-0.7.1.sol similarity index 100% rename from tests/ast-parsing/function-0.7.1.sol rename to tests/e2e/solc_parsing/test_data/function-0.7.1.sol diff --git a/tests/ast-parsing/functioncall-0.4.0.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.4.0.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.4.0.sol diff --git a/tests/ast-parsing/functioncall-0.4.22.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.4.22.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.4.22.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.4.22.sol diff --git a/tests/ast-parsing/functioncall-0.4.5.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.4.5.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.4.5.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.4.5.sol diff --git a/tests/ast-parsing/functioncall-0.5.0.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.5.0.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.5.0.sol diff --git a/tests/ast-parsing/functioncall-0.5.3.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.5.3.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.5.3.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.5.3.sol diff --git a/tests/ast-parsing/functioncall-0.6.0.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.6.0.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.6.0.sol diff --git a/tests/ast-parsing/functioncall-0.6.2.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.6.2.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.6.2.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.6.2.sol diff --git a/tests/ast-parsing/functioncall-0.6.8.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.6.8.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.6.8.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.6.8.sol diff --git a/tests/ast-parsing/functioncall-0.7.0.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.7.0.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.7.0.sol diff --git a/tests/ast-parsing/functioncall-0.8.0.sol b/tests/e2e/solc_parsing/test_data/functioncall-0.8.0.sol similarity index 100% rename from tests/ast-parsing/functioncall-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/functioncall-0.8.0.sol diff --git a/tests/ast-parsing/helper/helper.sol b/tests/e2e/solc_parsing/test_data/helper/helper.sol similarity index 100% rename from tests/ast-parsing/helper/helper.sol rename to tests/e2e/solc_parsing/test_data/helper/helper.sol diff --git a/tests/ast-parsing/helper/import-1.sol b/tests/e2e/solc_parsing/test_data/helper/import-1.sol similarity index 100% rename from tests/ast-parsing/helper/import-1.sol rename to tests/e2e/solc_parsing/test_data/helper/import-1.sol diff --git a/tests/ast-parsing/helper/import-2.sol b/tests/e2e/solc_parsing/test_data/helper/import-2.sol similarity index 100% rename from tests/ast-parsing/helper/import-2.sol rename to tests/e2e/solc_parsing/test_data/helper/import-2.sol diff --git a/tests/ast-parsing/helper/interface_with_struct.sol b/tests/e2e/solc_parsing/test_data/helper/interface_with_struct.sol similarity index 100% rename from tests/ast-parsing/helper/interface_with_struct.sol rename to tests/e2e/solc_parsing/test_data/helper/interface_with_struct.sol diff --git a/tests/ast-parsing/helper/nested_import.sol b/tests/e2e/solc_parsing/test_data/helper/nested_import.sol similarity index 100% rename from tests/ast-parsing/helper/nested_import.sol rename to tests/e2e/solc_parsing/test_data/helper/nested_import.sol diff --git a/tests/ast-parsing/if-all.sol b/tests/e2e/solc_parsing/test_data/if-all.sol similarity index 100% rename from tests/ast-parsing/if-all.sol rename to tests/e2e/solc_parsing/test_data/if-all.sol diff --git a/tests/ast-parsing/import-0.4.0.sol b/tests/e2e/solc_parsing/test_data/import-0.4.0.sol similarity index 100% rename from tests/ast-parsing/import-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/import-0.4.0.sol diff --git a/tests/ast-parsing/import-0.4.3.sol b/tests/e2e/solc_parsing/test_data/import-0.4.3.sol similarity index 100% rename from tests/ast-parsing/import-0.4.3.sol rename to tests/e2e/solc_parsing/test_data/import-0.4.3.sol diff --git a/tests/ast-parsing/import_interface_with_struct_from_top_level-0.4.0.sol b/tests/e2e/solc_parsing/test_data/import_interface_with_struct_from_top_level-0.4.0.sol similarity index 100% rename from tests/ast-parsing/import_interface_with_struct_from_top_level-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/import_interface_with_struct_from_top_level-0.4.0.sol diff --git a/tests/ast-parsing/import_interface_with_struct_from_top_level-0.7.6.sol b/tests/e2e/solc_parsing/test_data/import_interface_with_struct_from_top_level-0.7.6.sol similarity index 100% rename from tests/ast-parsing/import_interface_with_struct_from_top_level-0.7.6.sol rename to tests/e2e/solc_parsing/test_data/import_interface_with_struct_from_top_level-0.7.6.sol diff --git a/tests/ast-parsing/indexaccess-all.sol b/tests/e2e/solc_parsing/test_data/indexaccess-all.sol similarity index 100% rename from tests/ast-parsing/indexaccess-all.sol rename to tests/e2e/solc_parsing/test_data/indexaccess-all.sol diff --git a/tests/ast-parsing/indexrangeaccess-0.4.0.sol b/tests/e2e/solc_parsing/test_data/indexrangeaccess-0.4.0.sol similarity index 100% rename from tests/ast-parsing/indexrangeaccess-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/indexrangeaccess-0.4.0.sol diff --git a/tests/ast-parsing/indexrangeaccess-0.6.1.sol b/tests/e2e/solc_parsing/test_data/indexrangeaccess-0.6.1.sol similarity index 100% rename from tests/ast-parsing/indexrangeaccess-0.6.1.sol rename to tests/e2e/solc_parsing/test_data/indexrangeaccess-0.6.1.sol diff --git a/tests/ast-parsing/library_event-0.8.16.sol b/tests/e2e/solc_parsing/test_data/library_event-0.8.16.sol similarity index 100% rename from tests/ast-parsing/library_event-0.8.16.sol rename to tests/e2e/solc_parsing/test_data/library_event-0.8.16.sol diff --git a/tests/ast-parsing/library_implicit_conversion-0.4.0.sol b/tests/e2e/solc_parsing/test_data/library_implicit_conversion-0.4.0.sol similarity index 100% rename from tests/ast-parsing/library_implicit_conversion-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/library_implicit_conversion-0.4.0.sol diff --git a/tests/ast-parsing/library_implicit_conversion-0.5.0.sol b/tests/e2e/solc_parsing/test_data/library_implicit_conversion-0.5.0.sol similarity index 100% rename from tests/ast-parsing/library_implicit_conversion-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/library_implicit_conversion-0.5.0.sol diff --git a/tests/ast-parsing/literal-0.4.0.sol b/tests/e2e/solc_parsing/test_data/literal-0.4.0.sol similarity index 100% rename from tests/ast-parsing/literal-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/literal-0.4.0.sol diff --git a/tests/ast-parsing/literal-0.4.10.sol b/tests/e2e/solc_parsing/test_data/literal-0.4.10.sol similarity index 100% rename from tests/ast-parsing/literal-0.4.10.sol rename to tests/e2e/solc_parsing/test_data/literal-0.4.10.sol diff --git a/tests/ast-parsing/literal-0.5.0.sol b/tests/e2e/solc_parsing/test_data/literal-0.5.0.sol similarity index 100% rename from tests/ast-parsing/literal-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/literal-0.5.0.sol diff --git a/tests/ast-parsing/literal-0.6.0.sol b/tests/e2e/solc_parsing/test_data/literal-0.6.0.sol similarity index 100% rename from tests/ast-parsing/literal-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/literal-0.6.0.sol diff --git a/tests/ast-parsing/literal-0.7.0.sol b/tests/e2e/solc_parsing/test_data/literal-0.7.0.sol similarity index 100% rename from tests/ast-parsing/literal-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/literal-0.7.0.sol diff --git a/tests/ast-parsing/memberaccess-0.4.0.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.4.0.sol similarity index 100% rename from tests/ast-parsing/memberaccess-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/memberaccess-0.4.0.sol diff --git a/tests/ast-parsing/memberaccess-0.5.14.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.5.14.sol similarity index 100% rename from tests/ast-parsing/memberaccess-0.5.14.sol rename to tests/e2e/solc_parsing/test_data/memberaccess-0.5.14.sol diff --git a/tests/ast-parsing/memberaccess-0.5.3.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.5.3.sol similarity index 100% rename from tests/ast-parsing/memberaccess-0.5.3.sol rename to tests/e2e/solc_parsing/test_data/memberaccess-0.5.3.sol diff --git a/tests/ast-parsing/memberaccess-0.6.7.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.6.7.sol similarity index 100% rename from tests/ast-parsing/memberaccess-0.6.7.sol rename to tests/e2e/solc_parsing/test_data/memberaccess-0.6.7.sol diff --git a/tests/ast-parsing/memberaccess-0.6.8.sol b/tests/e2e/solc_parsing/test_data/memberaccess-0.6.8.sol similarity index 100% rename from tests/ast-parsing/memberaccess-0.6.8.sol rename to tests/e2e/solc_parsing/test_data/memberaccess-0.6.8.sol diff --git a/tests/ast-parsing/minmax-0.4.0.sol b/tests/e2e/solc_parsing/test_data/minmax-0.4.0.sol similarity index 100% rename from tests/ast-parsing/minmax-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/minmax-0.4.0.sol diff --git a/tests/ast-parsing/minmax-0.6.8.sol b/tests/e2e/solc_parsing/test_data/minmax-0.6.8.sol similarity index 100% rename from tests/ast-parsing/minmax-0.6.8.sol rename to tests/e2e/solc_parsing/test_data/minmax-0.6.8.sol diff --git a/tests/ast-parsing/minmax-0.8.8.sol b/tests/e2e/solc_parsing/test_data/minmax-0.8.8.sol similarity index 100% rename from tests/ast-parsing/minmax-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/minmax-0.8.8.sol diff --git a/tests/ast-parsing/modifier-0.7.0.sol b/tests/e2e/solc_parsing/test_data/modifier-0.7.0.sol similarity index 100% rename from tests/ast-parsing/modifier-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/modifier-0.7.0.sol diff --git a/tests/ast-parsing/modifier-all.sol b/tests/e2e/solc_parsing/test_data/modifier-all.sol similarity index 100% rename from tests/ast-parsing/modifier-all.sol rename to tests/e2e/solc_parsing/test_data/modifier-all.sol diff --git a/tests/ast-parsing/modifier_identifier_path.sol b/tests/e2e/solc_parsing/test_data/modifier_identifier_path.sol similarity index 100% rename from tests/ast-parsing/modifier_identifier_path.sol rename to tests/e2e/solc_parsing/test_data/modifier_identifier_path.sol diff --git a/tests/ast-parsing/newexpression-0.4.0.sol b/tests/e2e/solc_parsing/test_data/newexpression-0.4.0.sol similarity index 100% rename from tests/ast-parsing/newexpression-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/newexpression-0.4.0.sol diff --git a/tests/ast-parsing/newexpression-0.5.0.sol b/tests/e2e/solc_parsing/test_data/newexpression-0.5.0.sol similarity index 100% rename from tests/ast-parsing/newexpression-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/newexpression-0.5.0.sol diff --git a/tests/ast-parsing/pragma-0.4.0.sol b/tests/e2e/solc_parsing/test_data/pragma-0.4.0.sol similarity index 100% rename from tests/ast-parsing/pragma-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/pragma-0.4.0.sol diff --git a/tests/ast-parsing/pragma-0.5.0.sol b/tests/e2e/solc_parsing/test_data/pragma-0.5.0.sol similarity index 100% rename from tests/ast-parsing/pragma-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/pragma-0.5.0.sol diff --git a/tests/ast-parsing/pragma-0.6.0.sol b/tests/e2e/solc_parsing/test_data/pragma-0.6.0.sol similarity index 100% rename from tests/ast-parsing/pragma-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/pragma-0.6.0.sol diff --git a/tests/ast-parsing/pragma-0.7.0.sol b/tests/e2e/solc_parsing/test_data/pragma-0.7.0.sol similarity index 100% rename from tests/ast-parsing/pragma-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/pragma-0.7.0.sol diff --git a/tests/ast-parsing/pragma-0.8.0.sol b/tests/e2e/solc_parsing/test_data/pragma-0.8.0.sol similarity index 100% rename from tests/ast-parsing/pragma-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/pragma-0.8.0.sol diff --git a/tests/ast-parsing/push-all.sol b/tests/e2e/solc_parsing/test_data/push-all.sol similarity index 100% rename from tests/ast-parsing/push-all.sol rename to tests/e2e/solc_parsing/test_data/push-all.sol diff --git a/tests/ast-parsing/return-all.sol b/tests/e2e/solc_parsing/test_data/return-all.sol similarity index 100% rename from tests/ast-parsing/return-all.sol rename to tests/e2e/solc_parsing/test_data/return-all.sol diff --git a/tests/ast-parsing/scope-0.4.0.sol b/tests/e2e/solc_parsing/test_data/scope-0.4.0.sol similarity index 100% rename from tests/ast-parsing/scope-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/scope-0.4.0.sol diff --git a/tests/ast-parsing/scope-0.5.0.sol b/tests/e2e/solc_parsing/test_data/scope-0.5.0.sol similarity index 100% rename from tests/ast-parsing/scope-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/scope-0.5.0.sol diff --git a/tests/ast-parsing/struct-0.4.0.sol b/tests/e2e/solc_parsing/test_data/struct-0.4.0.sol similarity index 100% rename from tests/ast-parsing/struct-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/struct-0.4.0.sol diff --git a/tests/ast-parsing/struct-0.6.0.sol b/tests/e2e/solc_parsing/test_data/struct-0.6.0.sol similarity index 100% rename from tests/ast-parsing/struct-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/struct-0.6.0.sol diff --git a/tests/ast-parsing/ternary-with-max.sol b/tests/e2e/solc_parsing/test_data/ternary-with-max.sol similarity index 100% rename from tests/ast-parsing/ternary-with-max.sol rename to tests/e2e/solc_parsing/test_data/ternary-with-max.sol diff --git a/tests/ast-parsing/throw-0.4.0.sol b/tests/e2e/solc_parsing/test_data/throw-0.4.0.sol similarity index 100% rename from tests/ast-parsing/throw-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/throw-0.4.0.sol diff --git a/tests/ast-parsing/throw-0.5.0.sol b/tests/e2e/solc_parsing/test_data/throw-0.5.0.sol similarity index 100% rename from tests/ast-parsing/throw-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/throw-0.5.0.sol diff --git a/tests/ast-parsing/top-level-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top-level-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top-level-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top-level-0.4.0.sol diff --git a/tests/ast-parsing/top-level-0.7.1.sol b/tests/e2e/solc_parsing/test_data/top-level-0.7.1.sol similarity index 100% rename from tests/ast-parsing/top-level-0.7.1.sol rename to tests/e2e/solc_parsing/test_data/top-level-0.7.1.sol diff --git a/tests/ast-parsing/top-level-0.7.4.sol b/tests/e2e/solc_parsing/test_data/top-level-0.7.4.sol similarity index 100% rename from tests/ast-parsing/top-level-0.7.4.sol rename to tests/e2e/solc_parsing/test_data/top-level-0.7.4.sol diff --git a/tests/ast-parsing/top-level-import-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top-level-import-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top-level-import-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top-level-import-0.4.0.sol diff --git a/tests/ast-parsing/top-level-import-0.7.1.sol b/tests/e2e/solc_parsing/test_data/top-level-import-0.7.1.sol similarity index 100% rename from tests/ast-parsing/top-level-import-0.7.1.sol rename to tests/e2e/solc_parsing/test_data/top-level-import-0.7.1.sol diff --git a/tests/ast-parsing/top-level-import-bis-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top-level-import-bis-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top-level-import-bis-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top-level-import-bis-0.4.0.sol diff --git a/tests/ast-parsing/top-level-import-bis-0.7.1.sol b/tests/e2e/solc_parsing/test_data/top-level-import-bis-0.7.1.sol similarity index 100% rename from tests/ast-parsing/top-level-import-bis-0.7.1.sol rename to tests/e2e/solc_parsing/test_data/top-level-import-bis-0.7.1.sol diff --git a/tests/ast-parsing/top-level-nested-import-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top-level-nested-import-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top-level-nested-import-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top-level-nested-import-0.4.0.sol diff --git a/tests/ast-parsing/top-level-nested-import-0.7.1.sol b/tests/e2e/solc_parsing/test_data/top-level-nested-import-0.7.1.sol similarity index 100% rename from tests/ast-parsing/top-level-nested-import-0.7.1.sol rename to tests/e2e/solc_parsing/test_data/top-level-nested-import-0.7.1.sol diff --git a/tests/ast-parsing/top-level-struct-0.8.0.sol b/tests/e2e/solc_parsing/test_data/top-level-struct-0.8.0.sol similarity index 100% rename from tests/ast-parsing/top-level-struct-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/top-level-struct-0.8.0.sol diff --git a/tests/ast-parsing/top_level_variable-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top_level_variable-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top_level_variable-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top_level_variable-0.4.0.sol diff --git a/tests/ast-parsing/top_level_variable-0.8.0.sol b/tests/e2e/solc_parsing/test_data/top_level_variable-0.8.0.sol similarity index 100% rename from tests/ast-parsing/top_level_variable-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/top_level_variable-0.8.0.sol diff --git a/tests/ast-parsing/top_level_variable2-0.4.0.sol b/tests/e2e/solc_parsing/test_data/top_level_variable2-0.4.0.sol similarity index 100% rename from tests/ast-parsing/top_level_variable2-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/top_level_variable2-0.4.0.sol diff --git a/tests/ast-parsing/top_level_variable2-0.8.0.sol b/tests/e2e/solc_parsing/test_data/top_level_variable2-0.8.0.sol similarity index 100% rename from tests/ast-parsing/top_level_variable2-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/top_level_variable2-0.8.0.sol diff --git a/tests/ast-parsing/trycatch-0.4.0.sol b/tests/e2e/solc_parsing/test_data/trycatch-0.4.0.sol similarity index 100% rename from tests/ast-parsing/trycatch-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/trycatch-0.4.0.sol diff --git a/tests/ast-parsing/trycatch-0.6.0.sol b/tests/e2e/solc_parsing/test_data/trycatch-0.6.0.sol similarity index 100% rename from tests/ast-parsing/trycatch-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/trycatch-0.6.0.sol diff --git a/tests/ast-parsing/tupleexpression-0.4.0.sol b/tests/e2e/solc_parsing/test_data/tupleexpression-0.4.0.sol similarity index 100% rename from tests/ast-parsing/tupleexpression-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/tupleexpression-0.4.0.sol diff --git a/tests/ast-parsing/tupleexpression-0.4.24.sol b/tests/e2e/solc_parsing/test_data/tupleexpression-0.4.24.sol similarity index 100% rename from tests/ast-parsing/tupleexpression-0.4.24.sol rename to tests/e2e/solc_parsing/test_data/tupleexpression-0.4.24.sol diff --git a/tests/ast-parsing/tupleexpression-0.5.3.sol b/tests/e2e/solc_parsing/test_data/tupleexpression-0.5.3.sol similarity index 100% rename from tests/ast-parsing/tupleexpression-0.5.3.sol rename to tests/e2e/solc_parsing/test_data/tupleexpression-0.5.3.sol diff --git a/tests/ast-parsing/unaryexpression-0.4.0.sol b/tests/e2e/solc_parsing/test_data/unaryexpression-0.4.0.sol similarity index 100% rename from tests/ast-parsing/unaryexpression-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/unaryexpression-0.4.0.sol diff --git a/tests/ast-parsing/unaryexpression-0.5.0.sol b/tests/e2e/solc_parsing/test_data/unaryexpression-0.5.0.sol similarity index 100% rename from tests/ast-parsing/unaryexpression-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/unaryexpression-0.5.0.sol diff --git a/tests/ast-parsing/unchecked-0.4.0.sol b/tests/e2e/solc_parsing/test_data/unchecked-0.4.0.sol similarity index 100% rename from tests/ast-parsing/unchecked-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/unchecked-0.4.0.sol diff --git a/tests/ast-parsing/unchecked-0.8.0.sol b/tests/e2e/solc_parsing/test_data/unchecked-0.8.0.sol similarity index 100% rename from tests/ast-parsing/unchecked-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/unchecked-0.8.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.4.0.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.4.0.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.4.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.5.0.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.5.0.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.5.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.5.4.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.5.4.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.5.4.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.5.4.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.6.0.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.6.0.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.6.0.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.6.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.7.0.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.7.0.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.7.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.8.0.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.0.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.0.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.8.12.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.12.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.8.12.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.12.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.8.4.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.4.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.8.4.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.4.sol diff --git a/tests/ast-parsing/units_and_global_variables-0.8.7.sol b/tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.7.sol similarity index 100% rename from tests/ast-parsing/units_and_global_variables-0.8.7.sol rename to tests/e2e/solc_parsing/test_data/units_and_global_variables-0.8.7.sol diff --git a/tests/ast-parsing/user_defined_value_type/argument-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/argument-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/argument-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/argument-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/calldata-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/calldata-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/calldata-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/calldata-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/constant-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/constant-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/constant-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/constant-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/erc20-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/erc20-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/erc20-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/erc20-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/in_parenthesis-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/in_parenthesis-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/in_parenthesis-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/in_parenthesis-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/top-level-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/top-level-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/top-level-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/top-level-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/user_defined_types-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/user_defined_types-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/user_defined_types-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/user_defined_types-0.8.8.sol diff --git a/tests/ast-parsing/user_defined_value_type/using-for-0.8.8.sol b/tests/e2e/solc_parsing/test_data/user_defined_value_type/using-for-0.8.8.sol similarity index 100% rename from tests/ast-parsing/user_defined_value_type/using-for-0.8.8.sol rename to tests/e2e/solc_parsing/test_data/user_defined_value_type/using-for-0.8.8.sol diff --git a/tests/ast-parsing/using-for-0.4.0.sol b/tests/e2e/solc_parsing/test_data/using-for-0.4.0.sol similarity index 100% rename from tests/ast-parsing/using-for-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-0.4.0.sol diff --git a/tests/ast-parsing/using-for-0.4.1.sol b/tests/e2e/solc_parsing/test_data/using-for-0.4.1.sol similarity index 100% rename from tests/ast-parsing/using-for-0.4.1.sol rename to tests/e2e/solc_parsing/test_data/using-for-0.4.1.sol diff --git a/tests/ast-parsing/using-for-1-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-1-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-1-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-1-0.8.0.sol diff --git a/tests/ast-parsing/using-for-2-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-2-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-2-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-2-0.8.0.sol diff --git a/tests/ast-parsing/using-for-3-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-3-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-3-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-3-0.8.0.sol diff --git a/tests/ast-parsing/using-for-4-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-4-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-4-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-4-0.8.0.sol diff --git a/tests/ast-parsing/using-for-alias-contract-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-alias-contract-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-alias-contract-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-alias-contract-0.8.0.sol diff --git a/tests/ast-parsing/using-for-alias-dep1.sol b/tests/e2e/solc_parsing/test_data/using-for-alias-dep1.sol similarity index 100% rename from tests/ast-parsing/using-for-alias-dep1.sol rename to tests/e2e/solc_parsing/test_data/using-for-alias-dep1.sol diff --git a/tests/ast-parsing/using-for-alias-dep2.sol b/tests/e2e/solc_parsing/test_data/using-for-alias-dep2.sol similarity index 100% rename from tests/ast-parsing/using-for-alias-dep2.sol rename to tests/e2e/solc_parsing/test_data/using-for-alias-dep2.sol diff --git a/tests/ast-parsing/using-for-alias-top-level-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-alias-top-level-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-alias-top-level-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-alias-top-level-0.8.0.sol diff --git a/tests/ast-parsing/using-for-functions-list-1-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-functions-list-1-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-functions-list-1-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-functions-list-1-0.8.0.sol diff --git a/tests/ast-parsing/using-for-functions-list-2-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-functions-list-2-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-functions-list-2-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-functions-list-2-0.8.0.sol diff --git a/tests/ast-parsing/using-for-functions-list-3-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-functions-list-3-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-functions-list-3-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-functions-list-3-0.8.0.sol diff --git a/tests/ast-parsing/using-for-functions-list-4-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-functions-list-4-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-functions-list-4-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-functions-list-4-0.8.0.sol diff --git a/tests/ast-parsing/using-for-global-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-global-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-global-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-global-0.8.0.sol diff --git a/tests/ast-parsing/using-for-in-library-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-in-library-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-in-library-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-in-library-0.8.0.sol diff --git a/tests/ast-parsing/using-for-library-0.8.0.sol b/tests/e2e/solc_parsing/test_data/using-for-library-0.8.0.sol similarity index 100% rename from tests/ast-parsing/using-for-library-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/using-for-library-0.8.0.sol diff --git a/tests/ast-parsing/variable-0.4.0.sol b/tests/e2e/solc_parsing/test_data/variable-0.4.0.sol similarity index 100% rename from tests/ast-parsing/variable-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/variable-0.4.0.sol diff --git a/tests/ast-parsing/variable-0.4.14.sol b/tests/e2e/solc_parsing/test_data/variable-0.4.14.sol similarity index 100% rename from tests/ast-parsing/variable-0.4.14.sol rename to tests/e2e/solc_parsing/test_data/variable-0.4.14.sol diff --git a/tests/ast-parsing/variable-0.4.16.sol b/tests/e2e/solc_parsing/test_data/variable-0.4.16.sol similarity index 100% rename from tests/ast-parsing/variable-0.4.16.sol rename to tests/e2e/solc_parsing/test_data/variable-0.4.16.sol diff --git a/tests/ast-parsing/variable-0.4.5.sol b/tests/e2e/solc_parsing/test_data/variable-0.4.5.sol similarity index 100% rename from tests/ast-parsing/variable-0.4.5.sol rename to tests/e2e/solc_parsing/test_data/variable-0.4.5.sol diff --git a/tests/ast-parsing/variable-0.5.0.sol b/tests/e2e/solc_parsing/test_data/variable-0.5.0.sol similarity index 100% rename from tests/ast-parsing/variable-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/variable-0.5.0.sol diff --git a/tests/ast-parsing/variable-0.6.5.sol b/tests/e2e/solc_parsing/test_data/variable-0.6.5.sol similarity index 100% rename from tests/ast-parsing/variable-0.6.5.sol rename to tests/e2e/solc_parsing/test_data/variable-0.6.5.sol diff --git a/tests/ast-parsing/variable-0.6.9.sol b/tests/e2e/solc_parsing/test_data/variable-0.6.9.sol similarity index 100% rename from tests/ast-parsing/variable-0.6.9.sol rename to tests/e2e/solc_parsing/test_data/variable-0.6.9.sol diff --git a/tests/ast-parsing/variable-0.8.0.sol b/tests/e2e/solc_parsing/test_data/variable-0.8.0.sol similarity index 100% rename from tests/ast-parsing/variable-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/variable-0.8.0.sol diff --git a/tests/ast-parsing/variabledeclaration-0.4.0.sol b/tests/e2e/solc_parsing/test_data/variabledeclaration-0.4.0.sol similarity index 100% rename from tests/ast-parsing/variabledeclaration-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/variabledeclaration-0.4.0.sol diff --git a/tests/ast-parsing/variabledeclaration-0.4.24.sol b/tests/e2e/solc_parsing/test_data/variabledeclaration-0.4.24.sol similarity index 100% rename from tests/ast-parsing/variabledeclaration-0.4.24.sol rename to tests/e2e/solc_parsing/test_data/variabledeclaration-0.4.24.sol diff --git a/tests/ast-parsing/variabledeclaration-0.5.0.sol b/tests/e2e/solc_parsing/test_data/variabledeclaration-0.5.0.sol similarity index 100% rename from tests/ast-parsing/variabledeclaration-0.5.0.sol rename to tests/e2e/solc_parsing/test_data/variabledeclaration-0.5.0.sol diff --git a/tests/ast-parsing/while-all.sol b/tests/e2e/solc_parsing/test_data/while-all.sol similarity index 100% rename from tests/ast-parsing/while-all.sol rename to tests/e2e/solc_parsing/test_data/while-all.sol diff --git a/tests/ast-parsing/yul-0.4.0.sol b/tests/e2e/solc_parsing/test_data/yul-0.4.0.sol similarity index 100% rename from tests/ast-parsing/yul-0.4.0.sol rename to tests/e2e/solc_parsing/test_data/yul-0.4.0.sol diff --git a/tests/ast-parsing/yul-0.4.1.sol b/tests/e2e/solc_parsing/test_data/yul-0.4.1.sol similarity index 100% rename from tests/ast-parsing/yul-0.4.1.sol rename to tests/e2e/solc_parsing/test_data/yul-0.4.1.sol diff --git a/tests/ast-parsing/yul-0.4.11.sol b/tests/e2e/solc_parsing/test_data/yul-0.4.11.sol similarity index 100% rename from tests/ast-parsing/yul-0.4.11.sol rename to tests/e2e/solc_parsing/test_data/yul-0.4.11.sol diff --git a/tests/ast-parsing/yul-0.7.0.sol b/tests/e2e/solc_parsing/test_data/yul-0.7.0.sol similarity index 100% rename from tests/ast-parsing/yul-0.7.0.sol rename to tests/e2e/solc_parsing/test_data/yul-0.7.0.sol diff --git a/tests/ast-parsing/yul-0.7.5.sol b/tests/e2e/solc_parsing/test_data/yul-0.7.5.sol similarity index 100% rename from tests/ast-parsing/yul-0.7.5.sol rename to tests/e2e/solc_parsing/test_data/yul-0.7.5.sol diff --git a/tests/ast-parsing/yul-0.8.0.sol b/tests/e2e/solc_parsing/test_data/yul-0.8.0.sol similarity index 100% rename from tests/ast-parsing/yul-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/yul-0.8.0.sol diff --git a/tests/ast-parsing/yul-state-constant-access.sol b/tests/e2e/solc_parsing/test_data/yul-state-constant-access.sol similarity index 100% rename from tests/ast-parsing/yul-state-constant-access.sol rename to tests/e2e/solc_parsing/test_data/yul-state-constant-access.sol diff --git a/tests/ast-parsing/yul-top-level-0.8.0.sol b/tests/e2e/solc_parsing/test_data/yul-top-level-0.8.0.sol similarity index 100% rename from tests/ast-parsing/yul-top-level-0.8.0.sol rename to tests/e2e/solc_parsing/test_data/yul-top-level-0.8.0.sol From c9fa73b216ab4bb8bba7968ac536434584e76ed7 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Mon, 20 Mar 2023 16:07:12 -0500 Subject: [PATCH 05/41] add compilation tests --- .../test_contract_name_collisions/a.sol | 18 + .../test_contract_name_collisions/b.sol | 18 + .../test_data/test_cyclic_import/a.sol | 5 + .../test_data/test_cyclic_import/b.sol | 5 + .../test_node_modules/contracts/MyCoin.sol | 8 + .../test_node_modules/hardhat.config.js | 6 + .../contracts/access/AccessControl.sol | 223 ++++++++ .../access/AccessControlEnumerable.sol | 64 +++ .../contracts/access/IAccessControl.sol | 88 +++ .../access/IAccessControlEnumerable.sol | 31 + .../contracts/access/Ownable.sol | 76 +++ .../contracts/finance/PaymentSplitter.sol | 189 ++++++ .../contracts/finance/VestingWallet.sol | 135 +++++ .../contracts/governance/Governor.sol | 357 ++++++++++++ .../contracts/governance/IGovernor.sol | 218 +++++++ .../governance/TimelockController.sol | 353 ++++++++++++ .../GovernorCompatibilityBravo.sol | 288 ++++++++++ .../IGovernorCompatibilityBravo.sol | 114 ++++ .../extensions/GovernorCountingSimple.sol | 106 ++++ .../extensions/GovernorProposalThreshold.sol | 23 + .../extensions/GovernorSettings.sol | 114 ++++ .../extensions/GovernorTimelockCompound.sol | 244 ++++++++ .../extensions/GovernorTimelockControl.sol | 154 +++++ .../governance/extensions/GovernorVotes.sol | 28 + .../extensions/GovernorVotesComp.sol | 27 + .../GovernorVotesQuorumFraction.sol | 50 ++ .../extensions/IGovernorTimelock.sol | 26 + .../contracts/interfaces/IERC1155.sol | 6 + .../interfaces/IERC1155MetadataURI.sol | 6 + .../contracts/interfaces/IERC1155Receiver.sol | 6 + .../contracts/interfaces/IERC1271.sol | 19 + .../contracts/interfaces/IERC1363.sol | 95 +++ .../contracts/interfaces/IERC1363Receiver.sol | 32 ++ .../contracts/interfaces/IERC1363Spender.sol | 30 + .../contracts/interfaces/IERC165.sol | 6 + .../interfaces/IERC1820Implementer.sol | 6 + .../contracts/interfaces/IERC1820Registry.sol | 6 + .../contracts/interfaces/IERC20.sol | 6 + .../contracts/interfaces/IERC20Metadata.sol | 6 + .../contracts/interfaces/IERC2981.sol | 23 + .../contracts/interfaces/IERC3156.sol | 7 + .../interfaces/IERC3156FlashBorrower.sol | 29 + .../interfaces/IERC3156FlashLender.sol | 43 ++ .../contracts/interfaces/IERC721.sol | 6 + .../interfaces/IERC721Enumerable.sol | 6 + .../contracts/interfaces/IERC721Metadata.sol | 6 + .../contracts/interfaces/IERC721Receiver.sol | 6 + .../contracts/interfaces/IERC777.sol | 6 + .../contracts/interfaces/IERC777Recipient.sol | 6 + .../contracts/interfaces/IERC777Sender.sol | 6 + .../contracts/interfaces/draft-IERC2612.sol | 8 + .../contracts/metatx/ERC2771Context.sol | 40 ++ .../contracts/metatx/MinimalForwarder.sol | 59 ++ .../@openzeppelin/contracts/package.json | 62 ++ .../@openzeppelin/contracts/proxy/Clones.sol | 84 +++ .../contracts/proxy/ERC1967/ERC1967Proxy.sol | 33 ++ .../proxy/ERC1967/ERC1967Upgrade.sol | 194 +++++++ .../@openzeppelin/contracts/proxy/Proxy.sol | 86 +++ .../contracts/proxy/beacon/BeaconProxy.sol | 62 ++ .../contracts/proxy/beacon/IBeacon.sol | 16 + .../proxy/beacon/UpgradeableBeacon.sol | 65 +++ .../proxy/transparent/ProxyAdmin.sol | 81 +++ .../TransparentUpgradeableProxy.sol | 125 ++++ .../contracts/proxy/utils/Initializable.sol | 62 ++ .../contracts/proxy/utils/UUPSUpgradeable.sol | 73 +++ .../contracts/security/Pausable.sol | 91 +++ .../contracts/security/PullPayment.sol | 70 +++ .../contracts/security/ReentrancyGuard.sol | 63 ++ .../contracts/token/ERC1155/ERC1155.sol | 464 +++++++++++++++ .../contracts/token/ERC1155/IERC1155.sol | 125 ++++ .../token/ERC1155/IERC1155Receiver.sol | 53 ++ .../ERC1155/extensions/ERC1155Burnable.sol | 40 ++ .../ERC1155/extensions/ERC1155Pausable.sol | 38 ++ .../ERC1155/extensions/ERC1155Supply.sol | 58 ++ .../extensions/IERC1155MetadataURI.sol | 22 + .../presets/ERC1155PresetMinterPauser.sol | 126 ++++ .../token/ERC1155/utils/ERC1155Holder.sol | 31 + .../token/ERC1155/utils/ERC1155Receiver.sol | 19 + .../contracts/token/ERC20/ERC20.sol | 356 ++++++++++++ .../contracts/token/ERC20/IERC20.sol | 82 +++ .../token/ERC20/extensions/ERC20Burnable.sol | 43 ++ .../token/ERC20/extensions/ERC20Capped.sol | 37 ++ .../token/ERC20/extensions/ERC20FlashMint.sol | 77 +++ .../token/ERC20/extensions/ERC20Pausable.sol | 33 ++ .../token/ERC20/extensions/ERC20Snapshot.sol | 195 +++++++ .../token/ERC20/extensions/ERC20Votes.sol | 260 +++++++++ .../token/ERC20/extensions/ERC20VotesComp.sol | 48 ++ .../token/ERC20/extensions/ERC20Wrapper.sol | 52 ++ .../token/ERC20/extensions/IERC20Metadata.sol | 28 + .../ERC20/extensions/draft-ERC20Permit.sol | 87 +++ .../ERC20/extensions/draft-IERC20Permit.sol | 60 ++ .../ERC20/presets/ERC20PresetFixedSupply.sol | 33 ++ .../ERC20/presets/ERC20PresetMinterPauser.sol | 92 +++ .../contracts/token/ERC20/utils/SafeERC20.sol | 99 ++++ .../token/ERC20/utils/TokenTimelock.sol | 70 +++ .../contracts/token/ERC721/ERC721.sol | 424 ++++++++++++++ .../contracts/token/ERC721/IERC721.sol | 143 +++++ .../token/ERC721/IERC721Receiver.sol | 27 + .../ERC721/extensions/ERC721Burnable.sol | 26 + .../ERC721/extensions/ERC721Enumerable.sol | 163 ++++++ .../ERC721/extensions/ERC721Pausable.sol | 33 ++ .../ERC721/extensions/ERC721URIStorage.sol | 67 +++ .../ERC721/extensions/IERC721Enumerable.sol | 29 + .../ERC721/extensions/IERC721Metadata.sol | 27 + .../ERC721PresetMinterPauserAutoId.sol | 137 +++++ .../token/ERC721/utils/ERC721Holder.sol | 28 + .../contracts/token/ERC777/ERC777.sol | 539 ++++++++++++++++++ .../contracts/token/ERC777/IERC777.sol | 193 +++++++ .../token/ERC777/IERC777Recipient.sol | 35 ++ .../contracts/token/ERC777/IERC777Sender.sol | 35 ++ .../presets/ERC777PresetFixedSupply.sol | 30 + .../@openzeppelin/contracts/utils/Address.sol | 217 +++++++ .../@openzeppelin/contracts/utils/Arrays.sol | 48 ++ .../@openzeppelin/contracts/utils/Context.sol | 24 + .../contracts/utils/Counters.sol | 43 ++ .../@openzeppelin/contracts/utils/Create2.sol | 65 +++ .../contracts/utils/Multicall.sol | 24 + .../contracts/utils/StorageSlot.sol | 84 +++ .../@openzeppelin/contracts/utils/Strings.sol | 67 +++ .../@openzeppelin/contracts/utils/Timers.sol | 73 +++ .../contracts/utils/cryptography/ECDSA.sol | 234 ++++++++ .../utils/cryptography/MerkleProof.sol | 52 ++ .../utils/cryptography/SignatureChecker.sol | 36 ++ .../utils/cryptography/draft-EIP712.sol | 104 ++++ .../utils/escrow/ConditionalEscrow.sol | 25 + .../contracts/utils/escrow/Escrow.sol | 63 ++ .../contracts/utils/escrow/RefundEscrow.sol | 100 ++++ .../contracts/utils/introspection/ERC165.sol | 29 + .../utils/introspection/ERC165Checker.sol | 113 ++++ .../utils/introspection/ERC165Storage.sol | 42 ++ .../introspection/ERC1820Implementer.sol | 44 ++ .../contracts/utils/introspection/IERC165.sol | 25 + .../introspection/IERC1820Implementer.sol | 20 + .../utils/introspection/IERC1820Registry.sol | 116 ++++ .../contracts/utils/math/Math.sol | 43 ++ .../contracts/utils/math/SafeCast.sol | 241 ++++++++ .../contracts/utils/math/SafeMath.sol | 227 ++++++++ .../contracts/utils/math/SignedSafeMath.sol | 68 +++ .../contracts/utils/structs/BitMaps.sol | 55 ++ .../contracts/utils/structs/EnumerableMap.sol | 240 ++++++++ .../contracts/utils/structs/EnumerableSet.sol | 357 ++++++++++++ .../test_data/test_node_modules/package.json | 6 + .../test_data/test_source_unit/README.md | 3 + .../test_data/test_source_unit/foundry.toml | 6 + .../test_source_unit/script/Counter.s.sol | 12 + .../test_source_unit/src/Counter.sol | 14 + .../test_source_unit/src/Counter2.sol | 5 + .../test_source_unit/test/Counter.t.sol | 24 + tests/e2e/compilation/test_resolution.py | 46 ++ tests/e2e/compilation/test_source_unit.py | 46 ++ 150 files changed, 12215 insertions(+) create mode 100644 tests/e2e/compilation/test_data/test_contract_name_collisions/a.sol create mode 100644 tests/e2e/compilation/test_data/test_contract_name_collisions/b.sol create mode 100644 tests/e2e/compilation/test_data/test_cyclic_import/a.sol create mode 100644 tests/e2e/compilation/test_data/test_cyclic_import/b.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/contracts/MyCoin.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/hardhat.config.js create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/package.json create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol create mode 100644 tests/e2e/compilation/test_data/test_node_modules/package.json create mode 100644 tests/e2e/compilation/test_data/test_source_unit/README.md create mode 100644 tests/e2e/compilation/test_data/test_source_unit/foundry.toml create mode 100644 tests/e2e/compilation/test_data/test_source_unit/script/Counter.s.sol create mode 100644 tests/e2e/compilation/test_data/test_source_unit/src/Counter.sol create mode 100644 tests/e2e/compilation/test_data/test_source_unit/src/Counter2.sol create mode 100644 tests/e2e/compilation/test_data/test_source_unit/test/Counter.t.sol create mode 100644 tests/e2e/compilation/test_resolution.py create mode 100644 tests/e2e/compilation/test_source_unit.py diff --git a/tests/e2e/compilation/test_data/test_contract_name_collisions/a.sol b/tests/e2e/compilation/test_data/test_contract_name_collisions/a.sol new file mode 100644 index 0000000000..f69f7e2e39 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_contract_name_collisions/a.sol @@ -0,0 +1,18 @@ +struct St{ + uint a; +} + +contract A{ + function f() public {} +} + +contract B0{ + A a; + St s; + function g() internal returns(uint){ + a.f(); + return s.a; + } +} + + diff --git a/tests/e2e/compilation/test_data/test_contract_name_collisions/b.sol b/tests/e2e/compilation/test_data/test_contract_name_collisions/b.sol new file mode 100644 index 0000000000..31765f8f65 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_contract_name_collisions/b.sol @@ -0,0 +1,18 @@ +struct St{ + uint b; +} + +contract A{ + function h() public {} +} + +contract B1{ + A a; + St s; + function g() internal returns(uint){ + a.h(); + return s.b; + } +} + + diff --git a/tests/e2e/compilation/test_data/test_cyclic_import/a.sol b/tests/e2e/compilation/test_data/test_cyclic_import/a.sol new file mode 100644 index 0000000000..e5491b9865 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_cyclic_import/a.sol @@ -0,0 +1,5 @@ +import "./b.sol"; + +contract A{ + +} diff --git a/tests/e2e/compilation/test_data/test_cyclic_import/b.sol b/tests/e2e/compilation/test_data/test_cyclic_import/b.sol new file mode 100644 index 0000000000..7bc85011d9 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_cyclic_import/b.sol @@ -0,0 +1,5 @@ +import "./a.sol"; + +contract B{ + +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/contracts/MyCoin.sol b/tests/e2e/compilation/test_data/test_node_modules/contracts/MyCoin.sol new file mode 100644 index 0000000000..ba1d183ef8 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/contracts/MyCoin.sol @@ -0,0 +1,8 @@ +pragma solidity ^0.8.0; + +import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; + +contract MyCoin is ERC721 { + constructor() ERC721("MyCoin", "MC") { + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/hardhat.config.js b/tests/e2e/compilation/test_data/test_node_modules/hardhat.config.js new file mode 100644 index 0000000000..54d19f5654 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/hardhat.config.js @@ -0,0 +1,6 @@ +module.exports = { + solidity: { + version: "0.8.0" + }, +} + diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol new file mode 100644 index 0000000000..5c54d33d38 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol @@ -0,0 +1,223 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (access/AccessControl.sol) + +pragma solidity ^0.8.0; + +import "./IAccessControl.sol"; +import "../utils/Context.sol"; +import "../utils/Strings.sol"; +import "../utils/introspection/ERC165.sol"; + +/** + * @dev Contract module that allows children to implement role-based access + * control mechanisms. This is a lightweight version that doesn't allow enumerating role + * members except through off-chain means by accessing the contract event logs. Some + * applications may benefit from on-chain enumerability, for those cases see + * {AccessControlEnumerable}. + * + * Roles are referred to by their `bytes32` identifier. These should be exposed + * in the external API and be unique. The best way to achieve this is by + * using `public constant` hash digests: + * + * ``` + * bytes32 public constant MY_ROLE = keccak256("MY_ROLE"); + * ``` + * + * Roles can be used to represent a set of permissions. To restrict access to a + * function call, use {hasRole}: + * + * ``` + * function foo() public { + * require(hasRole(MY_ROLE, msg.sender)); + * ... + * } + * ``` + * + * Roles can be granted and revoked dynamically via the {grantRole} and + * {revokeRole} functions. Each role has an associated admin role, and only + * accounts that have a role's admin role can call {grantRole} and {revokeRole}. + * + * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means + * that only accounts with this role will be able to grant or revoke other + * roles. More complex role relationships can be created by using + * {_setRoleAdmin}. + * + * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to + * grant and revoke this role. Extra precautions should be taken to secure + * accounts that have been granted it. + */ +abstract contract AccessControl is Context, IAccessControl, ERC165 { + struct RoleData { + mapping(address => bool) members; + bytes32 adminRole; + } + + mapping(bytes32 => RoleData) private _roles; + + bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00; + + /** + * @dev Modifier that checks that an account has a specific role. Reverts + * with a standardized message including the required role. + * + * The format of the revert reason is given by the following regular expression: + * + * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/ + * + * _Available since v4.1._ + */ + modifier onlyRole(bytes32 role) { + _checkRole(role, _msgSender()); + _; + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { + return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId); + } + + /** + * @dev Returns `true` if `account` has been granted `role`. + */ + function hasRole(bytes32 role, address account) public view override returns (bool) { + return _roles[role].members[account]; + } + + /** + * @dev Revert with a standard message if `account` is missing `role`. + * + * The format of the revert reason is given by the following regular expression: + * + * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/ + */ + function _checkRole(bytes32 role, address account) internal view { + if (!hasRole(role, account)) { + revert( + string( + abi.encodePacked( + "AccessControl: account ", + Strings.toHexString(uint160(account), 20), + " is missing role ", + Strings.toHexString(uint256(role), 32) + ) + ) + ); + } + } + + /** + * @dev Returns the admin role that controls `role`. See {grantRole} and + * {revokeRole}. + * + * To change a role's admin, use {_setRoleAdmin}. + */ + function getRoleAdmin(bytes32 role) public view override returns (bytes32) { + return _roles[role].adminRole; + } + + /** + * @dev Grants `role` to `account`. + * + * If `account` had not been already granted `role`, emits a {RoleGranted} + * event. + * + * Requirements: + * + * - the caller must have ``role``'s admin role. + */ + function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { + _grantRole(role, account); + } + + /** + * @dev Revokes `role` from `account`. + * + * If `account` had been granted `role`, emits a {RoleRevoked} event. + * + * Requirements: + * + * - the caller must have ``role``'s admin role. + */ + function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { + _revokeRole(role, account); + } + + /** + * @dev Revokes `role` from the calling account. + * + * Roles are often managed via {grantRole} and {revokeRole}: this function's + * purpose is to provide a mechanism for accounts to lose their privileges + * if they are compromised (such as when a trusted device is misplaced). + * + * If the calling account had been revoked `role`, emits a {RoleRevoked} + * event. + * + * Requirements: + * + * - the caller must be `account`. + */ + function renounceRole(bytes32 role, address account) public virtual override { + require(account == _msgSender(), "AccessControl: can only renounce roles for self"); + + _revokeRole(role, account); + } + + /** + * @dev Grants `role` to `account`. + * + * If `account` had not been already granted `role`, emits a {RoleGranted} + * event. Note that unlike {grantRole}, this function doesn't perform any + * checks on the calling account. + * + * [WARNING] + * ==== + * This function should only be called from the constructor when setting + * up the initial roles for the system. + * + * Using this function in any other way is effectively circumventing the admin + * system imposed by {AccessControl}. + * ==== + * + * NOTE: This function is deprecated in favor of {_grantRole}. + */ + function _setupRole(bytes32 role, address account) internal virtual { + _grantRole(role, account); + } + + /** + * @dev Sets `adminRole` as ``role``'s admin role. + * + * Emits a {RoleAdminChanged} event. + */ + function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual { + bytes32 previousAdminRole = getRoleAdmin(role); + _roles[role].adminRole = adminRole; + emit RoleAdminChanged(role, previousAdminRole, adminRole); + } + + /** + * @dev Grants `role` to `account`. + * + * Internal function without access restriction. + */ + function _grantRole(bytes32 role, address account) internal virtual { + if (!hasRole(role, account)) { + _roles[role].members[account] = true; + emit RoleGranted(role, account, _msgSender()); + } + } + + /** + * @dev Revokes `role` from `account`. + * + * Internal function without access restriction. + */ + function _revokeRole(bytes32 role, address account) internal virtual { + if (hasRole(role, account)) { + _roles[role].members[account] = false; + emit RoleRevoked(role, account, _msgSender()); + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol new file mode 100644 index 0000000000..f6fba19527 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol @@ -0,0 +1,64 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (access/AccessControlEnumerable.sol) + +pragma solidity ^0.8.0; + +import "./IAccessControlEnumerable.sol"; +import "./AccessControl.sol"; +import "../utils/structs/EnumerableSet.sol"; + +/** + * @dev Extension of {AccessControl} that allows enumerating the members of each role. + */ +abstract contract AccessControlEnumerable is IAccessControlEnumerable, AccessControl { + using EnumerableSet for EnumerableSet.AddressSet; + + mapping(bytes32 => EnumerableSet.AddressSet) private _roleMembers; + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { + return interfaceId == type(IAccessControlEnumerable).interfaceId || super.supportsInterface(interfaceId); + } + + /** + * @dev Returns one of the accounts that have `role`. `index` must be a + * value between 0 and {getRoleMemberCount}, non-inclusive. + * + * Role bearers are not sorted in any particular way, and their ordering may + * change at any point. + * + * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure + * you perform all queries on the same block. See the following + * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] + * for more information. + */ + function getRoleMember(bytes32 role, uint256 index) public view override returns (address) { + return _roleMembers[role].at(index); + } + + /** + * @dev Returns the number of accounts that have `role`. Can be used + * together with {getRoleMember} to enumerate all bearers of a role. + */ + function getRoleMemberCount(bytes32 role) public view override returns (uint256) { + return _roleMembers[role].length(); + } + + /** + * @dev Overload {_grantRole} to track enumerable memberships + */ + function _grantRole(bytes32 role, address account) internal virtual override { + super._grantRole(role, account); + _roleMembers[role].add(account); + } + + /** + * @dev Overload {_revokeRole} to track enumerable memberships + */ + function _revokeRole(bytes32 role, address account) internal virtual override { + super._revokeRole(role, account); + _roleMembers[role].remove(account); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol new file mode 100644 index 0000000000..cf09fe7918 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol @@ -0,0 +1,88 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (access/IAccessControl.sol) + +pragma solidity ^0.8.0; + +/** + * @dev External interface of AccessControl declared to support ERC165 detection. + */ +interface IAccessControl { + /** + * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` + * + * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite + * {RoleAdminChanged} not being emitted signaling this. + * + * _Available since v3.1._ + */ + event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole); + + /** + * @dev Emitted when `account` is granted `role`. + * + * `sender` is the account that originated the contract call, an admin role + * bearer except when using {AccessControl-_setupRole}. + */ + event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender); + + /** + * @dev Emitted when `account` is revoked `role`. + * + * `sender` is the account that originated the contract call: + * - if using `revokeRole`, it is the admin role bearer + * - if using `renounceRole`, it is the role bearer (i.e. `account`) + */ + event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender); + + /** + * @dev Returns `true` if `account` has been granted `role`. + */ + function hasRole(bytes32 role, address account) external view returns (bool); + + /** + * @dev Returns the admin role that controls `role`. See {grantRole} and + * {revokeRole}. + * + * To change a role's admin, use {AccessControl-_setRoleAdmin}. + */ + function getRoleAdmin(bytes32 role) external view returns (bytes32); + + /** + * @dev Grants `role` to `account`. + * + * If `account` had not been already granted `role`, emits a {RoleGranted} + * event. + * + * Requirements: + * + * - the caller must have ``role``'s admin role. + */ + function grantRole(bytes32 role, address account) external; + + /** + * @dev Revokes `role` from `account`. + * + * If `account` had been granted `role`, emits a {RoleRevoked} event. + * + * Requirements: + * + * - the caller must have ``role``'s admin role. + */ + function revokeRole(bytes32 role, address account) external; + + /** + * @dev Revokes `role` from the calling account. + * + * Roles are often managed via {grantRole} and {revokeRole}: this function's + * purpose is to provide a mechanism for accounts to lose their privileges + * if they are compromised (such as when a trusted device is misplaced). + * + * If the calling account had been granted `role`, emits a {RoleRevoked} + * event. + * + * Requirements: + * + * - the caller must be `account`. + */ + function renounceRole(bytes32 role, address account) external; +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol new file mode 100644 index 0000000000..985a691155 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (access/IAccessControlEnumerable.sol) + +pragma solidity ^0.8.0; + +import "./IAccessControl.sol"; + +/** + * @dev External interface of AccessControlEnumerable declared to support ERC165 detection. + */ +interface IAccessControlEnumerable is IAccessControl { + /** + * @dev Returns one of the accounts that have `role`. `index` must be a + * value between 0 and {getRoleMemberCount}, non-inclusive. + * + * Role bearers are not sorted in any particular way, and their ordering may + * change at any point. + * + * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure + * you perform all queries on the same block. See the following + * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] + * for more information. + */ + function getRoleMember(bytes32 role, uint256 index) external view returns (address); + + /** + * @dev Returns the number of accounts that have `role`. Can be used + * together with {getRoleMember} to enumerate all bearers of a role. + */ + function getRoleMemberCount(bytes32 role) external view returns (uint256); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol new file mode 100644 index 0000000000..04f3f14d59 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol @@ -0,0 +1,76 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol) + +pragma solidity ^0.8.0; + +import "../utils/Context.sol"; + +/** + * @dev Contract module which provides a basic access control mechanism, where + * there is an account (an owner) that can be granted exclusive access to + * specific functions. + * + * By default, the owner account will be the one that deploys the contract. This + * can later be changed with {transferOwnership}. + * + * This module is used through inheritance. It will make available the modifier + * `onlyOwner`, which can be applied to your functions to restrict their use to + * the owner. + */ +abstract contract Ownable is Context { + address private _owner; + + event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); + + /** + * @dev Initializes the contract setting the deployer as the initial owner. + */ + constructor() { + _transferOwnership(_msgSender()); + } + + /** + * @dev Returns the address of the current owner. + */ + function owner() public view virtual returns (address) { + return _owner; + } + + /** + * @dev Throws if called by any account other than the owner. + */ + modifier onlyOwner() { + require(owner() == _msgSender(), "Ownable: caller is not the owner"); + _; + } + + /** + * @dev Leaves the contract without owner. It will not be possible to call + * `onlyOwner` functions anymore. Can only be called by the current owner. + * + * NOTE: Renouncing ownership will leave the contract without an owner, + * thereby removing any functionality that is only available to the owner. + */ + function renounceOwnership() public virtual onlyOwner { + _transferOwnership(address(0)); + } + + /** + * @dev Transfers ownership of the contract to a new account (`newOwner`). + * Can only be called by the current owner. + */ + function transferOwnership(address newOwner) public virtual onlyOwner { + require(newOwner != address(0), "Ownable: new owner is the zero address"); + _transferOwnership(newOwner); + } + + /** + * @dev Transfers ownership of the contract to a new account (`newOwner`). + * Internal function without access restriction. + */ + function _transferOwnership(address newOwner) internal virtual { + address oldOwner = _owner; + _owner = newOwner; + emit OwnershipTransferred(oldOwner, newOwner); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol new file mode 100644 index 0000000000..43e28b268a --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol @@ -0,0 +1,189 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (finance/PaymentSplitter.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC20/utils/SafeERC20.sol"; +import "../utils/Address.sol"; +import "../utils/Context.sol"; + +/** + * @title PaymentSplitter + * @dev This contract allows to split Ether payments among a group of accounts. The sender does not need to be aware + * that the Ether will be split in this way, since it is handled transparently by the contract. + * + * The split can be in equal parts or in any other arbitrary proportion. The way this is specified is by assigning each + * account to a number of shares. Of all the Ether that this contract receives, each account will then be able to claim + * an amount proportional to the percentage of total shares they were assigned. + * + * `PaymentSplitter` follows a _pull payment_ model. This means that payments are not automatically forwarded to the + * accounts but kept in this contract, and the actual transfer is triggered as a separate step by calling the {release} + * function. + * + * NOTE: This contract assumes that ERC20 tokens will behave similarly to native tokens (Ether). Rebasing tokens, and + * tokens that apply fees during transfers, are likely to not be supported as expected. If in doubt, we encourage you + * to run tests before sending real value to this contract. + */ +contract PaymentSplitter is Context { + event PayeeAdded(address account, uint256 shares); + event PaymentReleased(address to, uint256 amount); + event ERC20PaymentReleased(IERC20 indexed token, address to, uint256 amount); + event PaymentReceived(address from, uint256 amount); + + uint256 private _totalShares; + uint256 private _totalReleased; + + mapping(address => uint256) private _shares; + mapping(address => uint256) private _released; + address[] private _payees; + + mapping(IERC20 => uint256) private _erc20TotalReleased; + mapping(IERC20 => mapping(address => uint256)) private _erc20Released; + + /** + * @dev Creates an instance of `PaymentSplitter` where each account in `payees` is assigned the number of shares at + * the matching position in the `shares` array. + * + * All addresses in `payees` must be non-zero. Both arrays must have the same non-zero length, and there must be no + * duplicates in `payees`. + */ + constructor(address[] memory payees, uint256[] memory shares_) payable { + require(payees.length == shares_.length, "PaymentSplitter: payees and shares length mismatch"); + require(payees.length > 0, "PaymentSplitter: no payees"); + + for (uint256 i = 0; i < payees.length; i++) { + _addPayee(payees[i], shares_[i]); + } + } + + /** + * @dev The Ether received will be logged with {PaymentReceived} events. Note that these events are not fully + * reliable: it's possible for a contract to receive Ether without triggering this function. This only affects the + * reliability of the events, and not the actual splitting of Ether. + * + * To learn more about this see the Solidity documentation for + * https://solidity.readthedocs.io/en/latest/contracts.html#fallback-function[fallback + * functions]. + */ + receive() external payable virtual { + emit PaymentReceived(_msgSender(), msg.value); + } + + /** + * @dev Getter for the total shares held by payees. + */ + function totalShares() public view returns (uint256) { + return _totalShares; + } + + /** + * @dev Getter for the total amount of Ether already released. + */ + function totalReleased() public view returns (uint256) { + return _totalReleased; + } + + /** + * @dev Getter for the total amount of `token` already released. `token` should be the address of an IERC20 + * contract. + */ + function totalReleased(IERC20 token) public view returns (uint256) { + return _erc20TotalReleased[token]; + } + + /** + * @dev Getter for the amount of shares held by an account. + */ + function shares(address account) public view returns (uint256) { + return _shares[account]; + } + + /** + * @dev Getter for the amount of Ether already released to a payee. + */ + function released(address account) public view returns (uint256) { + return _released[account]; + } + + /** + * @dev Getter for the amount of `token` tokens already released to a payee. `token` should be the address of an + * IERC20 contract. + */ + function released(IERC20 token, address account) public view returns (uint256) { + return _erc20Released[token][account]; + } + + /** + * @dev Getter for the address of the payee number `index`. + */ + function payee(uint256 index) public view returns (address) { + return _payees[index]; + } + + /** + * @dev Triggers a transfer to `account` of the amount of Ether they are owed, according to their percentage of the + * total shares and their previous withdrawals. + */ + function release(address payable account) public virtual { + require(_shares[account] > 0, "PaymentSplitter: account has no shares"); + + uint256 totalReceived = address(this).balance + totalReleased(); + uint256 payment = _pendingPayment(account, totalReceived, released(account)); + + require(payment != 0, "PaymentSplitter: account is not due payment"); + + _released[account] += payment; + _totalReleased += payment; + + Address.sendValue(account, payment); + emit PaymentReleased(account, payment); + } + + /** + * @dev Triggers a transfer to `account` of the amount of `token` tokens they are owed, according to their + * percentage of the total shares and their previous withdrawals. `token` must be the address of an IERC20 + * contract. + */ + function release(IERC20 token, address account) public virtual { + require(_shares[account] > 0, "PaymentSplitter: account has no shares"); + + uint256 totalReceived = token.balanceOf(address(this)) + totalReleased(token); + uint256 payment = _pendingPayment(account, totalReceived, released(token, account)); + + require(payment != 0, "PaymentSplitter: account is not due payment"); + + _erc20Released[token][account] += payment; + _erc20TotalReleased[token] += payment; + + SafeERC20.safeTransfer(token, account, payment); + emit ERC20PaymentReleased(token, account, payment); + } + + /** + * @dev internal logic for computing the pending payment of an `account` given the token historical balances and + * already released amounts. + */ + function _pendingPayment( + address account, + uint256 totalReceived, + uint256 alreadyReleased + ) private view returns (uint256) { + return (totalReceived * _shares[account]) / _totalShares - alreadyReleased; + } + + /** + * @dev Add a new payee to the contract. + * @param account The address of the payee to add. + * @param shares_ The number of shares owned by the payee. + */ + function _addPayee(address account, uint256 shares_) private { + require(account != address(0), "PaymentSplitter: account is the zero address"); + require(shares_ > 0, "PaymentSplitter: shares are 0"); + require(_shares[account] == 0, "PaymentSplitter: account already has shares"); + + _payees.push(account); + _shares[account] = shares_; + _totalShares = _totalShares + shares_; + emit PayeeAdded(account, shares_); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol new file mode 100644 index 0000000000..304f813f2e --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol @@ -0,0 +1,135 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (finance/VestingWallet.sol) +pragma solidity ^0.8.0; + +import "../token/ERC20/utils/SafeERC20.sol"; +import "../utils/Address.sol"; +import "../utils/Context.sol"; +import "../utils/math/Math.sol"; + +/** + * @title VestingWallet + * @dev This contract handles the vesting of Eth and ERC20 tokens for a given beneficiary. Custody of multiple tokens + * can be given to this contract, which will release the token to the beneficiary following a given vesting schedule. + * The vesting schedule is customizable through the {vestedAmount} function. + * + * Any token transferred to this contract will follow the vesting schedule as if they were locked from the beginning. + * Consequently, if the vesting has already started, any amount of tokens sent to this contract will (at least partly) + * be immediately releasable. + */ +contract VestingWallet is Context { + event EtherReleased(uint256 amount); + event ERC20Released(address indexed token, uint256 amount); + + uint256 private _released; + mapping(address => uint256) private _erc20Released; + address private immutable _beneficiary; + uint64 private immutable _start; + uint64 private immutable _duration; + + /** + * @dev Set the beneficiary, start timestamp and vesting duration of the vesting wallet. + */ + constructor( + address beneficiaryAddress, + uint64 startTimestamp, + uint64 durationSeconds + ) { + require(beneficiaryAddress != address(0), "VestingWallet: beneficiary is zero address"); + _beneficiary = beneficiaryAddress; + _start = startTimestamp; + _duration = durationSeconds; + } + + /** + * @dev The contract should be able to receive Eth. + */ + receive() external payable virtual {} + + /** + * @dev Getter for the beneficiary address. + */ + function beneficiary() public view virtual returns (address) { + return _beneficiary; + } + + /** + * @dev Getter for the start timestamp. + */ + function start() public view virtual returns (uint256) { + return _start; + } + + /** + * @dev Getter for the vesting duration. + */ + function duration() public view virtual returns (uint256) { + return _duration; + } + + /** + * @dev Amount of eth already released + */ + function released() public view virtual returns (uint256) { + return _released; + } + + /** + * @dev Amount of token already released + */ + function released(address token) public view virtual returns (uint256) { + return _erc20Released[token]; + } + + /** + * @dev Release the native token (ether) that have already vested. + * + * Emits a {TokensReleased} event. + */ + function release() public virtual { + uint256 releasable = vestedAmount(uint64(block.timestamp)) - released(); + _released += releasable; + emit EtherReleased(releasable); + Address.sendValue(payable(beneficiary()), releasable); + } + + /** + * @dev Release the tokens that have already vested. + * + * Emits a {TokensReleased} event. + */ + function release(address token) public virtual { + uint256 releasable = vestedAmount(token, uint64(block.timestamp)) - released(token); + _erc20Released[token] += releasable; + emit ERC20Released(token, releasable); + SafeERC20.safeTransfer(IERC20(token), beneficiary(), releasable); + } + + /** + * @dev Calculates the amount of ether that has already vested. Default implementation is a linear vesting curve. + */ + function vestedAmount(uint64 timestamp) public view virtual returns (uint256) { + return _vestingSchedule(address(this).balance + released(), timestamp); + } + + /** + * @dev Calculates the amount of tokens that has already vested. Default implementation is a linear vesting curve. + */ + function vestedAmount(address token, uint64 timestamp) public view virtual returns (uint256) { + return _vestingSchedule(IERC20(token).balanceOf(address(this)) + released(token), timestamp); + } + + /** + * @dev Virtual implementation of the vesting formula. This returns the amout vested, as a function of time, for + * an asset given its total historical allocation. + */ + function _vestingSchedule(uint256 totalAllocation, uint64 timestamp) internal view virtual returns (uint256) { + if (timestamp < start()) { + return 0; + } else if (timestamp > start() + duration()) { + return totalAllocation; + } else { + return (totalAllocation * (timestamp - start())) / duration(); + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol new file mode 100644 index 0000000000..235b76891e --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol @@ -0,0 +1,357 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/Governor.sol) + +pragma solidity ^0.8.0; + +import "../utils/cryptography/ECDSA.sol"; +import "../utils/cryptography/draft-EIP712.sol"; +import "../utils/introspection/ERC165.sol"; +import "../utils/math/SafeCast.sol"; +import "../utils/Address.sol"; +import "../utils/Context.sol"; +import "../utils/Timers.sol"; +import "./IGovernor.sol"; + +/** + * @dev Core of the governance system, designed to be extended though various modules. + * + * This contract is abstract and requires several function to be implemented in various modules: + * + * - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded} and {_countVote} + * - A voting module must implement {getVotes} + * - Additionanly, the {votingPeriod} must also be implemented + * + * _Available since v4.3._ + */ +abstract contract Governor is Context, ERC165, EIP712, IGovernor { + using SafeCast for uint256; + using Timers for Timers.BlockNumber; + + bytes32 public constant BALLOT_TYPEHASH = keccak256("Ballot(uint256 proposalId,uint8 support)"); + + struct ProposalCore { + Timers.BlockNumber voteStart; + Timers.BlockNumber voteEnd; + bool executed; + bool canceled; + } + + string private _name; + + mapping(uint256 => ProposalCore) private _proposals; + + /** + * @dev Restrict access to governor executing address. Some module might override the _executor function to make + * sure this modifier is consistant with the execution model. + */ + modifier onlyGovernance() { + require(_msgSender() == _executor(), "Governor: onlyGovernance"); + _; + } + + /** + * @dev Sets the value for {name} and {version} + */ + constructor(string memory name_) EIP712(name_, version()) { + _name = name_; + } + + /** + * @dev Function to receive ETH that will be handled by the governor (disabled if executor is a third party contract) + */ + receive() external payable virtual { + require(_executor() == address(this)); + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC165) returns (bool) { + return interfaceId == type(IGovernor).interfaceId || super.supportsInterface(interfaceId); + } + + /** + * @dev See {IGovernor-name}. + */ + function name() public view virtual override returns (string memory) { + return _name; + } + + /** + * @dev See {IGovernor-version}. + */ + function version() public view virtual override returns (string memory) { + return "1"; + } + + /** + * @dev See {IGovernor-hashProposal}. + * + * The proposal id is produced by hashing the RLC encoded `targets` array, the `values` array, the `calldatas` array + * and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id + * can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in + * advance, before the proposal is submitted. + * + * Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the + * same proposal (with same operation and same description) will have the same id if submitted on multiple governors + * accross multiple networks. This also means that in order to execute the same operation twice (on the same + * governor) the proposer will have to change the description in order to avoid proposal id conflicts. + */ + function hashProposal( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 descriptionHash + ) public pure virtual override returns (uint256) { + return uint256(keccak256(abi.encode(targets, values, calldatas, descriptionHash))); + } + + /** + * @dev See {IGovernor-state}. + */ + function state(uint256 proposalId) public view virtual override returns (ProposalState) { + ProposalCore memory proposal = _proposals[proposalId]; + + if (proposal.executed) { + return ProposalState.Executed; + } else if (proposal.canceled) { + return ProposalState.Canceled; + } else if (proposal.voteStart.getDeadline() >= block.number) { + return ProposalState.Pending; + } else if (proposal.voteEnd.getDeadline() >= block.number) { + return ProposalState.Active; + } else if (proposal.voteEnd.isExpired()) { + return + _quorumReached(proposalId) && _voteSucceeded(proposalId) + ? ProposalState.Succeeded + : ProposalState.Defeated; + } else { + revert("Governor: unknown proposal id"); + } + } + + /** + * @dev See {IGovernor-proposalSnapshot}. + */ + function proposalSnapshot(uint256 proposalId) public view virtual override returns (uint256) { + return _proposals[proposalId].voteStart.getDeadline(); + } + + /** + * @dev See {IGovernor-proposalDeadline}. + */ + function proposalDeadline(uint256 proposalId) public view virtual override returns (uint256) { + return _proposals[proposalId].voteEnd.getDeadline(); + } + + /** + * @dev Part of the Governor Bravo's interface: _"The number of votes required in order for a voter to become a proposer"_. + */ + function proposalThreshold() public view virtual returns (uint256) { + return 0; + } + + /** + * @dev Amount of votes already cast passes the threshold limit. + */ + function _quorumReached(uint256 proposalId) internal view virtual returns (bool); + + /** + * @dev Is the proposal successful or not. + */ + function _voteSucceeded(uint256 proposalId) internal view virtual returns (bool); + + /** + * @dev Register a vote with a given support and voting weight. + * + * Note: Support is generic and can represent various things depending on the voting system used. + */ + function _countVote( + uint256 proposalId, + address account, + uint8 support, + uint256 weight + ) internal virtual; + + /** + * @dev See {IGovernor-propose}. + */ + function propose( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + string memory description + ) public virtual override returns (uint256) { + require( + getVotes(msg.sender, block.number - 1) >= proposalThreshold(), + "GovernorCompatibilityBravo: proposer votes below proposal threshold" + ); + + uint256 proposalId = hashProposal(targets, values, calldatas, keccak256(bytes(description))); + + require(targets.length == values.length, "Governor: invalid proposal length"); + require(targets.length == calldatas.length, "Governor: invalid proposal length"); + require(targets.length > 0, "Governor: empty proposal"); + + ProposalCore storage proposal = _proposals[proposalId]; + require(proposal.voteStart.isUnset(), "Governor: proposal already exists"); + + uint64 snapshot = block.number.toUint64() + votingDelay().toUint64(); + uint64 deadline = snapshot + votingPeriod().toUint64(); + + proposal.voteStart.setDeadline(snapshot); + proposal.voteEnd.setDeadline(deadline); + + emit ProposalCreated( + proposalId, + _msgSender(), + targets, + values, + new string[](targets.length), + calldatas, + snapshot, + deadline, + description + ); + + return proposalId; + } + + /** + * @dev See {IGovernor-execute}. + */ + function execute( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 descriptionHash + ) public payable virtual override returns (uint256) { + uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash); + + ProposalState status = state(proposalId); + require( + status == ProposalState.Succeeded || status == ProposalState.Queued, + "Governor: proposal not successful" + ); + _proposals[proposalId].executed = true; + + emit ProposalExecuted(proposalId); + + _execute(proposalId, targets, values, calldatas, descriptionHash); + + return proposalId; + } + + /** + * @dev Internal execution mechanism. Can be overriden to implement different execution mechanism + */ + function _execute( + uint256, /* proposalId */ + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 /*descriptionHash*/ + ) internal virtual { + string memory errorMessage = "Governor: call reverted without message"; + for (uint256 i = 0; i < targets.length; ++i) { + (bool success, bytes memory returndata) = targets[i].call{value: values[i]}(calldatas[i]); + Address.verifyCallResult(success, returndata, errorMessage); + } + } + + /** + * @dev Internal cancel mechanism: locks up the proposal timer, preventing it from being re-submitted. Marks it as + * canceled to allow distinguishing it from executed proposals. + * + * Emits a {IGovernor-ProposalCanceled} event. + */ + function _cancel( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 descriptionHash + ) internal virtual returns (uint256) { + uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash); + ProposalState status = state(proposalId); + + require( + status != ProposalState.Canceled && status != ProposalState.Expired && status != ProposalState.Executed, + "Governor: proposal not active" + ); + _proposals[proposalId].canceled = true; + + emit ProposalCanceled(proposalId); + + return proposalId; + } + + /** + * @dev See {IGovernor-castVote}. + */ + function castVote(uint256 proposalId, uint8 support) public virtual override returns (uint256) { + address voter = _msgSender(); + return _castVote(proposalId, voter, support, ""); + } + + /** + * @dev See {IGovernor-castVoteWithReason}. + */ + function castVoteWithReason( + uint256 proposalId, + uint8 support, + string calldata reason + ) public virtual override returns (uint256) { + address voter = _msgSender(); + return _castVote(proposalId, voter, support, reason); + } + + /** + * @dev See {IGovernor-castVoteBySig}. + */ + function castVoteBySig( + uint256 proposalId, + uint8 support, + uint8 v, + bytes32 r, + bytes32 s + ) public virtual override returns (uint256) { + address voter = ECDSA.recover( + _hashTypedDataV4(keccak256(abi.encode(BALLOT_TYPEHASH, proposalId, support))), + v, + r, + s + ); + return _castVote(proposalId, voter, support, ""); + } + + /** + * @dev Internal vote casting mechanism: Check that the vote is pending, that it has not been cast yet, retrieve + * voting weight using {IGovernor-getVotes} and call the {_countVote} internal function. + * + * Emits a {IGovernor-VoteCast} event. + */ + function _castVote( + uint256 proposalId, + address account, + uint8 support, + string memory reason + ) internal virtual returns (uint256) { + ProposalCore storage proposal = _proposals[proposalId]; + require(state(proposalId) == ProposalState.Active, "Governor: vote not currently active"); + + uint256 weight = getVotes(account, proposal.voteStart.getDeadline()); + _countVote(proposalId, account, support, weight); + + emit VoteCast(account, proposalId, support, weight, reason); + + return weight; + } + + /** + * @dev Address through which the governor executes action. Will be overloaded by module that execute actions + * through another contract such as a timelock. + */ + function _executor() internal view virtual returns (address) { + return address(this); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol new file mode 100644 index 0000000000..50d9d9952d --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol @@ -0,0 +1,218 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/IGovernor.sol) + +pragma solidity ^0.8.0; + +import "../utils/introspection/ERC165.sol"; + +/** + * @dev Interface of the {Governor} core. + * + * _Available since v4.3._ + */ +abstract contract IGovernor is IERC165 { + enum ProposalState { + Pending, + Active, + Canceled, + Defeated, + Succeeded, + Queued, + Expired, + Executed + } + + /** + * @dev Emitted when a proposal is created. + */ + event ProposalCreated( + uint256 proposalId, + address proposer, + address[] targets, + uint256[] values, + string[] signatures, + bytes[] calldatas, + uint256 startBlock, + uint256 endBlock, + string description + ); + + /** + * @dev Emitted when a proposal is canceled. + */ + event ProposalCanceled(uint256 proposalId); + + /** + * @dev Emitted when a proposal is executed. + */ + event ProposalExecuted(uint256 proposalId); + + /** + * @dev Emitted when a vote is cast. + * + * Note: `support` values should be seen as buckets. There interpretation depends on the voting module used. + */ + event VoteCast(address indexed voter, uint256 proposalId, uint8 support, uint256 weight, string reason); + + /** + * @notice module:core + * @dev Name of the governor instance (used in building the ERC712 domain separator). + */ + function name() public view virtual returns (string memory); + + /** + * @notice module:core + * @dev Version of the governor instance (used in building the ERC712 domain separator). Default: "1" + */ + function version() public view virtual returns (string memory); + + /** + * @notice module:voting + * @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to + * be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of + * key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. + * + * There are 2 standard keys: `support` and `quorum`. + * + * - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. + * - `quorum=bravo` means that only For votes are counted towards quorum. + * - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. + * + * NOTE: The string can be decoded by the standard + * https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] + * JavaScript class. + */ + // solhint-disable-next-line func-name-mixedcase + function COUNTING_MODE() public pure virtual returns (string memory); + + /** + * @notice module:core + * @dev Hashing function used to (re)build the proposal id from the proposal details.. + */ + function hashProposal( + address[] calldata targets, + uint256[] calldata values, + bytes[] calldata calldatas, + bytes32 descriptionHash + ) public pure virtual returns (uint256); + + /** + * @notice module:core + * @dev Current state of a proposal, following Compound's convention + */ + function state(uint256 proposalId) public view virtual returns (ProposalState); + + /** + * @notice module:core + * @dev Block number used to retrieve user's votes and quorum. As per Compound's Comp and OpenZeppelin's + * ERC20Votes, the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the + * beginning of the following block. + */ + function proposalSnapshot(uint256 proposalId) public view virtual returns (uint256); + + /** + * @notice module:core + * @dev Block number at which votes close. Votes close at the end of this block, so it is possible to cast a vote + * during this block. + */ + function proposalDeadline(uint256 proposalId) public view virtual returns (uint256); + + /** + * @notice module:user-config + * @dev Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to + * leave time for users to buy voting power, of delegate it, before the voting of a proposal starts. + */ + function votingDelay() public view virtual returns (uint256); + + /** + * @notice module:user-config + * @dev Delay, in number of blocks, between the vote start and vote ends. + * + * NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting + * duration compared to the voting delay. + */ + function votingPeriod() public view virtual returns (uint256); + + /** + * @notice module:user-config + * @dev Minimum number of cast voted required for a proposal to be successful. + * + * Note: The `blockNumber` parameter corresponds to the snaphot used for counting vote. This allows to scale the + * quroum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}). + */ + function quorum(uint256 blockNumber) public view virtual returns (uint256); + + /** + * @notice module:reputation + * @dev Voting power of an `account` at a specific `blockNumber`. + * + * Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or + * multiple), {ERC20Votes} tokens. + */ + function getVotes(address account, uint256 blockNumber) public view virtual returns (uint256); + + /** + * @notice module:voting + * @dev Returns weither `account` has cast a vote on `proposalId`. + */ + function hasVoted(uint256 proposalId, address account) public view virtual returns (bool); + + /** + * @dev Create a new proposal. Vote start {IGovernor-votingDelay} blocks after the proposal is created and ends + * {IGovernor-votingPeriod} blocks after the voting starts. + * + * Emits a {ProposalCreated} event. + */ + function propose( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + string memory description + ) public virtual returns (uint256 proposalId); + + /** + * @dev Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the + * deadline to be reached. + * + * Emits a {ProposalExecuted} event. + * + * Note: some module can modify the requirements for execution, for example by adding an additional timelock. + */ + function execute( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 descriptionHash + ) public payable virtual returns (uint256 proposalId); + + /** + * @dev Cast a vote + * + * Emits a {VoteCast} event. + */ + function castVote(uint256 proposalId, uint8 support) public virtual returns (uint256 balance); + + /** + * @dev Cast a with a reason + * + * Emits a {VoteCast} event. + */ + function castVoteWithReason( + uint256 proposalId, + uint8 support, + string calldata reason + ) public virtual returns (uint256 balance); + + /** + * @dev Cast a vote using the user cryptographic signature. + * + * Emits a {VoteCast} event. + */ + function castVoteBySig( + uint256 proposalId, + uint8 support, + uint8 v, + bytes32 r, + bytes32 s + ) public virtual returns (uint256 balance); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol new file mode 100644 index 0000000000..b20ac9538a --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol @@ -0,0 +1,353 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/TimelockController.sol) + +pragma solidity ^0.8.0; + +import "../access/AccessControl.sol"; + +/** + * @dev Contract module which acts as a timelocked controller. When set as the + * owner of an `Ownable` smart contract, it enforces a timelock on all + * `onlyOwner` maintenance operations. This gives time for users of the + * controlled contract to exit before a potentially dangerous maintenance + * operation is applied. + * + * By default, this contract is self administered, meaning administration tasks + * have to go through the timelock process. The proposer (resp executor) role + * is in charge of proposing (resp executing) operations. A common use case is + * to position this {TimelockController} as the owner of a smart contract, with + * a multisig or a DAO as the sole proposer. + * + * _Available since v3.3._ + */ +contract TimelockController is AccessControl { + bytes32 public constant TIMELOCK_ADMIN_ROLE = keccak256("TIMELOCK_ADMIN_ROLE"); + bytes32 public constant PROPOSER_ROLE = keccak256("PROPOSER_ROLE"); + bytes32 public constant EXECUTOR_ROLE = keccak256("EXECUTOR_ROLE"); + uint256 internal constant _DONE_TIMESTAMP = uint256(1); + + mapping(bytes32 => uint256) private _timestamps; + uint256 private _minDelay; + + /** + * @dev Emitted when a call is scheduled as part of operation `id`. + */ + event CallScheduled( + bytes32 indexed id, + uint256 indexed index, + address target, + uint256 value, + bytes data, + bytes32 predecessor, + uint256 delay + ); + + /** + * @dev Emitted when a call is performed as part of operation `id`. + */ + event CallExecuted(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data); + + /** + * @dev Emitted when operation `id` is cancelled. + */ + event Cancelled(bytes32 indexed id); + + /** + * @dev Emitted when the minimum delay for future operations is modified. + */ + event MinDelayChange(uint256 oldDuration, uint256 newDuration); + + /** + * @dev Initializes the contract with a given `minDelay`. + */ + constructor( + uint256 minDelay, + address[] memory proposers, + address[] memory executors + ) { + _setRoleAdmin(TIMELOCK_ADMIN_ROLE, TIMELOCK_ADMIN_ROLE); + _setRoleAdmin(PROPOSER_ROLE, TIMELOCK_ADMIN_ROLE); + _setRoleAdmin(EXECUTOR_ROLE, TIMELOCK_ADMIN_ROLE); + + // deployer + self administration + _setupRole(TIMELOCK_ADMIN_ROLE, _msgSender()); + _setupRole(TIMELOCK_ADMIN_ROLE, address(this)); + + // register proposers + for (uint256 i = 0; i < proposers.length; ++i) { + _setupRole(PROPOSER_ROLE, proposers[i]); + } + + // register executors + for (uint256 i = 0; i < executors.length; ++i) { + _setupRole(EXECUTOR_ROLE, executors[i]); + } + + _minDelay = minDelay; + emit MinDelayChange(0, minDelay); + } + + /** + * @dev Modifier to make a function callable only by a certain role. In + * addition to checking the sender's role, `address(0)` 's role is also + * considered. Granting a role to `address(0)` is equivalent to enabling + * this role for everyone. + */ + modifier onlyRoleOrOpenRole(bytes32 role) { + if (!hasRole(role, address(0))) { + _checkRole(role, _msgSender()); + } + _; + } + + /** + * @dev Contract might receive/hold ETH as part of the maintenance process. + */ + receive() external payable {} + + /** + * @dev Returns whether an id correspond to a registered operation. This + * includes both Pending, Ready and Done operations. + */ + function isOperation(bytes32 id) public view virtual returns (bool pending) { + return getTimestamp(id) > 0; + } + + /** + * @dev Returns whether an operation is pending or not. + */ + function isOperationPending(bytes32 id) public view virtual returns (bool pending) { + return getTimestamp(id) > _DONE_TIMESTAMP; + } + + /** + * @dev Returns whether an operation is ready or not. + */ + function isOperationReady(bytes32 id) public view virtual returns (bool ready) { + uint256 timestamp = getTimestamp(id); + return timestamp > _DONE_TIMESTAMP && timestamp <= block.timestamp; + } + + /** + * @dev Returns whether an operation is done or not. + */ + function isOperationDone(bytes32 id) public view virtual returns (bool done) { + return getTimestamp(id) == _DONE_TIMESTAMP; + } + + /** + * @dev Returns the timestamp at with an operation becomes ready (0 for + * unset operations, 1 for done operations). + */ + function getTimestamp(bytes32 id) public view virtual returns (uint256 timestamp) { + return _timestamps[id]; + } + + /** + * @dev Returns the minimum delay for an operation to become valid. + * + * This value can be changed by executing an operation that calls `updateDelay`. + */ + function getMinDelay() public view virtual returns (uint256 duration) { + return _minDelay; + } + + /** + * @dev Returns the identifier of an operation containing a single + * transaction. + */ + function hashOperation( + address target, + uint256 value, + bytes calldata data, + bytes32 predecessor, + bytes32 salt + ) public pure virtual returns (bytes32 hash) { + return keccak256(abi.encode(target, value, data, predecessor, salt)); + } + + /** + * @dev Returns the identifier of an operation containing a batch of + * transactions. + */ + function hashOperationBatch( + address[] calldata targets, + uint256[] calldata values, + bytes[] calldata datas, + bytes32 predecessor, + bytes32 salt + ) public pure virtual returns (bytes32 hash) { + return keccak256(abi.encode(targets, values, datas, predecessor, salt)); + } + + /** + * @dev Schedule an operation containing a single transaction. + * + * Emits a {CallScheduled} event. + * + * Requirements: + * + * - the caller must have the 'proposer' role. + */ + function schedule( + address target, + uint256 value, + bytes calldata data, + bytes32 predecessor, + bytes32 salt, + uint256 delay + ) public virtual onlyRole(PROPOSER_ROLE) { + bytes32 id = hashOperation(target, value, data, predecessor, salt); + _schedule(id, delay); + emit CallScheduled(id, 0, target, value, data, predecessor, delay); + } + + /** + * @dev Schedule an operation containing a batch of transactions. + * + * Emits one {CallScheduled} event per transaction in the batch. + * + * Requirements: + * + * - the caller must have the 'proposer' role. + */ + function scheduleBatch( + address[] calldata targets, + uint256[] calldata values, + bytes[] calldata datas, + bytes32 predecessor, + bytes32 salt, + uint256 delay + ) public virtual onlyRole(PROPOSER_ROLE) { + require(targets.length == values.length, "TimelockController: length mismatch"); + require(targets.length == datas.length, "TimelockController: length mismatch"); + + bytes32 id = hashOperationBatch(targets, values, datas, predecessor, salt); + _schedule(id, delay); + for (uint256 i = 0; i < targets.length; ++i) { + emit CallScheduled(id, i, targets[i], values[i], datas[i], predecessor, delay); + } + } + + /** + * @dev Schedule an operation that is to becomes valid after a given delay. + */ + function _schedule(bytes32 id, uint256 delay) private { + require(!isOperation(id), "TimelockController: operation already scheduled"); + require(delay >= getMinDelay(), "TimelockController: insufficient delay"); + _timestamps[id] = block.timestamp + delay; + } + + /** + * @dev Cancel an operation. + * + * Requirements: + * + * - the caller must have the 'proposer' role. + */ + function cancel(bytes32 id) public virtual onlyRole(PROPOSER_ROLE) { + require(isOperationPending(id), "TimelockController: operation cannot be cancelled"); + delete _timestamps[id]; + + emit Cancelled(id); + } + + /** + * @dev Execute an (ready) operation containing a single transaction. + * + * Emits a {CallExecuted} event. + * + * Requirements: + * + * - the caller must have the 'executor' role. + */ + function execute( + address target, + uint256 value, + bytes calldata data, + bytes32 predecessor, + bytes32 salt + ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) { + bytes32 id = hashOperation(target, value, data, predecessor, salt); + _beforeCall(id, predecessor); + _call(id, 0, target, value, data); + _afterCall(id); + } + + /** + * @dev Execute an (ready) operation containing a batch of transactions. + * + * Emits one {CallExecuted} event per transaction in the batch. + * + * Requirements: + * + * - the caller must have the 'executor' role. + */ + function executeBatch( + address[] calldata targets, + uint256[] calldata values, + bytes[] calldata datas, + bytes32 predecessor, + bytes32 salt + ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) { + require(targets.length == values.length, "TimelockController: length mismatch"); + require(targets.length == datas.length, "TimelockController: length mismatch"); + + bytes32 id = hashOperationBatch(targets, values, datas, predecessor, salt); + _beforeCall(id, predecessor); + for (uint256 i = 0; i < targets.length; ++i) { + _call(id, i, targets[i], values[i], datas[i]); + } + _afterCall(id); + } + + /** + * @dev Checks before execution of an operation's calls. + */ + function _beforeCall(bytes32 id, bytes32 predecessor) private view { + require(isOperationReady(id), "TimelockController: operation is not ready"); + require(predecessor == bytes32(0) || isOperationDone(predecessor), "TimelockController: missing dependency"); + } + + /** + * @dev Checks after execution of an operation's calls. + */ + function _afterCall(bytes32 id) private { + require(isOperationReady(id), "TimelockController: operation is not ready"); + _timestamps[id] = _DONE_TIMESTAMP; + } + + /** + * @dev Execute an operation's call. + * + * Emits a {CallExecuted} event. + */ + function _call( + bytes32 id, + uint256 index, + address target, + uint256 value, + bytes calldata data + ) private { + (bool success, ) = target.call{value: value}(data); + require(success, "TimelockController: underlying transaction reverted"); + + emit CallExecuted(id, index, target, value, data); + } + + /** + * @dev Changes the minimum timelock duration for future operations. + * + * Emits a {MinDelayChange} event. + * + * Requirements: + * + * - the caller must be the timelock itself. This can only be achieved by scheduling and later executing + * an operation where the timelock is the target and the data is the ABI-encoded call to this function. + */ + function updateDelay(uint256 newDelay) external virtual { + require(msg.sender == address(this), "TimelockController: caller must be timelock"); + emit MinDelayChange(_minDelay, newDelay); + _minDelay = newDelay; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol new file mode 100644 index 0000000000..5c64187279 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol @@ -0,0 +1,288 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/compatibility/GovernorCompatibilityBravo.sol) + +pragma solidity ^0.8.0; + +import "../../utils/Counters.sol"; +import "../../utils/math/SafeCast.sol"; +import "../extensions/IGovernorTimelock.sol"; +import "../Governor.sol"; +import "./IGovernorCompatibilityBravo.sol"; + +/** + * @dev Compatibility layer that implements GovernorBravo compatibility on to of {Governor}. + * + * This compatibility layer includes a voting system and requires a {IGovernorTimelock} compatible module to be added + * through inheritance. It does not include token bindings, not does it include any variable upgrade patterns. + * + * NOTE: When using this module, you may need to enable the Solidity optimizer to avoid hitting the contract size limit. + * + * _Available since v4.3._ + */ +abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorCompatibilityBravo, Governor { + using Counters for Counters.Counter; + using Timers for Timers.BlockNumber; + + enum VoteType { + Against, + For, + Abstain + } + + struct ProposalDetails { + address proposer; + address[] targets; + uint256[] values; + string[] signatures; + bytes[] calldatas; + uint256 forVotes; + uint256 againstVotes; + uint256 abstainVotes; + mapping(address => Receipt) receipts; + bytes32 descriptionHash; + } + + mapping(uint256 => ProposalDetails) private _proposalDetails; + + // solhint-disable-next-line func-name-mixedcase + function COUNTING_MODE() public pure virtual override returns (string memory) { + return "support=bravo&quorum=bravo"; + } + + // ============================================== Proposal lifecycle ============================================== + /** + * @dev See {IGovernor-propose}. + */ + function propose( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + string memory description + ) public virtual override(IGovernor, Governor) returns (uint256) { + _storeProposal(_msgSender(), targets, values, new string[](calldatas.length), calldatas, description); + return super.propose(targets, values, calldatas, description); + } + + /** + * @dev See {IGovernorCompatibilityBravo-propose}. + */ + function propose( + address[] memory targets, + uint256[] memory values, + string[] memory signatures, + bytes[] memory calldatas, + string memory description + ) public virtual override returns (uint256) { + _storeProposal(_msgSender(), targets, values, signatures, calldatas, description); + return propose(targets, values, _encodeCalldata(signatures, calldatas), description); + } + + /** + * @dev See {IGovernorCompatibilityBravo-queue}. + */ + function queue(uint256 proposalId) public virtual override { + ProposalDetails storage details = _proposalDetails[proposalId]; + queue( + details.targets, + details.values, + _encodeCalldata(details.signatures, details.calldatas), + details.descriptionHash + ); + } + + /** + * @dev See {IGovernorCompatibilityBravo-execute}. + */ + function execute(uint256 proposalId) public payable virtual override { + ProposalDetails storage details = _proposalDetails[proposalId]; + execute( + details.targets, + details.values, + _encodeCalldata(details.signatures, details.calldatas), + details.descriptionHash + ); + } + + function cancel(uint256 proposalId) public virtual override { + ProposalDetails storage details = _proposalDetails[proposalId]; + + require( + _msgSender() == details.proposer || getVotes(details.proposer, block.number - 1) < proposalThreshold(), + "GovernorBravo: proposer above threshold" + ); + + _cancel( + details.targets, + details.values, + _encodeCalldata(details.signatures, details.calldatas), + details.descriptionHash + ); + } + + /** + * @dev Encodes calldatas with optional function signature. + */ + function _encodeCalldata(string[] memory signatures, bytes[] memory calldatas) + private + pure + returns (bytes[] memory) + { + bytes[] memory fullcalldatas = new bytes[](calldatas.length); + + for (uint256 i = 0; i < signatures.length; ++i) { + fullcalldatas[i] = bytes(signatures[i]).length == 0 + ? calldatas[i] + : abi.encodeWithSignature(signatures[i], calldatas[i]); + } + + return fullcalldatas; + } + + /** + * @dev Store proposal metadata for later lookup + */ + function _storeProposal( + address proposer, + address[] memory targets, + uint256[] memory values, + string[] memory signatures, + bytes[] memory calldatas, + string memory description + ) private { + bytes32 descriptionHash = keccak256(bytes(description)); + uint256 proposalId = hashProposal(targets, values, _encodeCalldata(signatures, calldatas), descriptionHash); + + ProposalDetails storage details = _proposalDetails[proposalId]; + if (details.descriptionHash == bytes32(0)) { + details.proposer = proposer; + details.targets = targets; + details.values = values; + details.signatures = signatures; + details.calldatas = calldatas; + details.descriptionHash = descriptionHash; + } + } + + // ==================================================== Views ===================================================== + /** + * @dev See {IGovernorCompatibilityBravo-proposals}. + */ + function proposals(uint256 proposalId) + public + view + virtual + override + returns ( + uint256 id, + address proposer, + uint256 eta, + uint256 startBlock, + uint256 endBlock, + uint256 forVotes, + uint256 againstVotes, + uint256 abstainVotes, + bool canceled, + bool executed + ) + { + id = proposalId; + eta = proposalEta(proposalId); + startBlock = proposalSnapshot(proposalId); + endBlock = proposalDeadline(proposalId); + + ProposalDetails storage details = _proposalDetails[proposalId]; + proposer = details.proposer; + forVotes = details.forVotes; + againstVotes = details.againstVotes; + abstainVotes = details.abstainVotes; + + ProposalState status = state(proposalId); + canceled = status == ProposalState.Canceled; + executed = status == ProposalState.Executed; + } + + /** + * @dev See {IGovernorCompatibilityBravo-getActions}. + */ + function getActions(uint256 proposalId) + public + view + virtual + override + returns ( + address[] memory targets, + uint256[] memory values, + string[] memory signatures, + bytes[] memory calldatas + ) + { + ProposalDetails storage details = _proposalDetails[proposalId]; + return (details.targets, details.values, details.signatures, details.calldatas); + } + + /** + * @dev See {IGovernorCompatibilityBravo-getReceipt}. + */ + function getReceipt(uint256 proposalId, address voter) public view virtual override returns (Receipt memory) { + return _proposalDetails[proposalId].receipts[voter]; + } + + /** + * @dev See {IGovernorCompatibilityBravo-quorumVotes}. + */ + function quorumVotes() public view virtual override returns (uint256) { + return quorum(block.number - 1); + } + + // ==================================================== Voting ==================================================== + /** + * @dev See {IGovernor-hasVoted}. + */ + function hasVoted(uint256 proposalId, address account) public view virtual override returns (bool) { + return _proposalDetails[proposalId].receipts[account].hasVoted; + } + + /** + * @dev See {Governor-_quorumReached}. In this module, only forVotes count toward the quorum. + */ + function _quorumReached(uint256 proposalId) internal view virtual override returns (bool) { + ProposalDetails storage details = _proposalDetails[proposalId]; + return quorum(proposalSnapshot(proposalId)) <= details.forVotes; + } + + /** + * @dev See {Governor-_voteSucceeded}. In this module, the forVotes must be scritly over the againstVotes. + */ + function _voteSucceeded(uint256 proposalId) internal view virtual override returns (bool) { + ProposalDetails storage details = _proposalDetails[proposalId]; + return details.forVotes > details.againstVotes; + } + + /** + * @dev See {Governor-_countVote}. In this module, the support follows Governor Bravo. + */ + function _countVote( + uint256 proposalId, + address account, + uint8 support, + uint256 weight + ) internal virtual override { + ProposalDetails storage details = _proposalDetails[proposalId]; + Receipt storage receipt = details.receipts[account]; + + require(!receipt.hasVoted, "GovernorCompatibilityBravo: vote already cast"); + receipt.hasVoted = true; + receipt.support = support; + receipt.votes = SafeCast.toUint96(weight); + + if (support == uint8(VoteType.Against)) { + details.againstVotes += weight; + } else if (support == uint8(VoteType.For)) { + details.forVotes += weight; + } else if (support == uint8(VoteType.Abstain)) { + details.abstainVotes += weight; + } else { + revert("GovernorCompatibilityBravo: invalid vote type"); + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol new file mode 100644 index 0000000000..591bc3f785 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol @@ -0,0 +1,114 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/compatibility/IGovernorCompatibilityBravo.sol) + +pragma solidity ^0.8.0; + +import "../IGovernor.sol"; + +/** + * @dev Interface extension that adds missing functions to the {Governor} core to provide `GovernorBravo` compatibility. + * + * _Available since v4.3._ + */ +abstract contract IGovernorCompatibilityBravo is IGovernor { + /** + * @dev Proposal structure from Compound Governor Bravo. Not actually used by the compatibility layer, as + * {{proposal}} returns a very different structure. + */ + struct Proposal { + uint256 id; + address proposer; + uint256 eta; + address[] targets; + uint256[] values; + string[] signatures; + bytes[] calldatas; + uint256 startBlock; + uint256 endBlock; + uint256 forVotes; + uint256 againstVotes; + uint256 abstainVotes; + bool canceled; + bool executed; + mapping(address => Receipt) receipts; + } + + /** + * @dev Receipt structure from Compound Governor Bravo + */ + struct Receipt { + bool hasVoted; + uint8 support; + uint96 votes; + } + + /** + * @dev Part of the Governor Bravo's interface. + */ + function quorumVotes() public view virtual returns (uint256); + + /** + * @dev Part of the Governor Bravo's interface: _"The official record of all proposals ever proposed"_. + */ + function proposals(uint256) + public + view + virtual + returns ( + uint256 id, + address proposer, + uint256 eta, + uint256 startBlock, + uint256 endBlock, + uint256 forVotes, + uint256 againstVotes, + uint256 abstainVotes, + bool canceled, + bool executed + ); + + /** + * @dev Part of the Governor Bravo's interface: _"Function used to propose a new proposal"_. + */ + function propose( + address[] memory targets, + uint256[] memory values, + string[] memory signatures, + bytes[] memory calldatas, + string memory description + ) public virtual returns (uint256); + + /** + * @dev Part of the Governor Bravo's interface: _"Queues a proposal of state succeeded"_. + */ + function queue(uint256 proposalId) public virtual; + + /** + * @dev Part of the Governor Bravo's interface: _"Executes a queued proposal if eta has passed"_. + */ + function execute(uint256 proposalId) public payable virtual; + + /** + * @dev Cancels a proposal only if sender is the proposer, or proposer delegates dropped below proposal threshold. + */ + function cancel(uint256 proposalId) public virtual; + + /** + * @dev Part of the Governor Bravo's interface: _"Gets actions of a proposal"_. + */ + function getActions(uint256 proposalId) + public + view + virtual + returns ( + address[] memory targets, + uint256[] memory values, + string[] memory signatures, + bytes[] memory calldatas + ); + + /** + * @dev Part of the Governor Bravo's interface: _"Gets the receipt for a voter on a given proposal"_. + */ + function getReceipt(uint256 proposalId, address voter) public view virtual returns (Receipt memory); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol new file mode 100644 index 0000000000..68fa2e3111 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol @@ -0,0 +1,106 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorCountingSimple.sol) + +pragma solidity ^0.8.0; + +import "../Governor.sol"; + +/** + * @dev Extension of {Governor} for simple, 3 options, vote counting. + * + * _Available since v4.3._ + */ +abstract contract GovernorCountingSimple is Governor { + /** + * @dev Supported vote types. Matches Governor Bravo ordering. + */ + enum VoteType { + Against, + For, + Abstain + } + + struct ProposalVote { + uint256 againstVotes; + uint256 forVotes; + uint256 abstainVotes; + mapping(address => bool) hasVoted; + } + + mapping(uint256 => ProposalVote) private _proposalVotes; + + /** + * @dev See {IGovernor-COUNTING_MODE}. + */ + // solhint-disable-next-line func-name-mixedcase + function COUNTING_MODE() public pure virtual override returns (string memory) { + return "support=bravo&quorum=for,abstain"; + } + + /** + * @dev See {IGovernor-hasVoted}. + */ + function hasVoted(uint256 proposalId, address account) public view virtual override returns (bool) { + return _proposalVotes[proposalId].hasVoted[account]; + } + + /** + * @dev Accessor to the internal vote counts. + */ + function proposalVotes(uint256 proposalId) + public + view + virtual + returns ( + uint256 againstVotes, + uint256 forVotes, + uint256 abstainVotes + ) + { + ProposalVote storage proposalvote = _proposalVotes[proposalId]; + return (proposalvote.againstVotes, proposalvote.forVotes, proposalvote.abstainVotes); + } + + /** + * @dev See {Governor-_quorumReached}. + */ + function _quorumReached(uint256 proposalId) internal view virtual override returns (bool) { + ProposalVote storage proposalvote = _proposalVotes[proposalId]; + + return quorum(proposalSnapshot(proposalId)) <= proposalvote.forVotes + proposalvote.abstainVotes; + } + + /** + * @dev See {Governor-_voteSucceeded}. In this module, the forVotes must be strictly over the againstVotes. + */ + function _voteSucceeded(uint256 proposalId) internal view virtual override returns (bool) { + ProposalVote storage proposalvote = _proposalVotes[proposalId]; + + return proposalvote.forVotes > proposalvote.againstVotes; + } + + /** + * @dev See {Governor-_countVote}. In this module, the support follows the `VoteType` enum (from Governor Bravo). + */ + function _countVote( + uint256 proposalId, + address account, + uint8 support, + uint256 weight + ) internal virtual override { + ProposalVote storage proposalvote = _proposalVotes[proposalId]; + + require(!proposalvote.hasVoted[account], "GovernorVotingSimple: vote already cast"); + proposalvote.hasVoted[account] = true; + + if (support == uint8(VoteType.Against)) { + proposalvote.againstVotes += weight; + } else if (support == uint8(VoteType.For)) { + proposalvote.forVotes += weight; + } else if (support == uint8(VoteType.Abstain)) { + proposalvote.abstainVotes += weight; + } else { + revert("GovernorVotingSimple: invalid value for enum VoteType"); + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol new file mode 100644 index 0000000000..fae4c625b5 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorProposalThreshold.sol) + +pragma solidity ^0.8.0; + +import "../Governor.sol"; + +/** + * @dev Extension of {Governor} for proposal restriction to token holders with a minimum balance. + * + * _Available since v4.3._ + * _Deprecated since v4.4._ + */ +abstract contract GovernorProposalThreshold is Governor { + function propose( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + string memory description + ) public virtual override returns (uint256) { + return super.propose(targets, values, calldatas, description); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol new file mode 100644 index 0000000000..41152d486c --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol @@ -0,0 +1,114 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorSettings.sol) + +pragma solidity ^0.8.0; + +import "../Governor.sol"; + +/** + * @dev Extension of {Governor} for settings updatable through governance. + * + * _Available since v4.4._ + */ +abstract contract GovernorSettings is Governor { + uint256 private _votingDelay; + uint256 private _votingPeriod; + uint256 private _proposalThreshold; + + event VotingDelaySet(uint256 oldVotingDelay, uint256 newVotingDelay); + event VotingPeriodSet(uint256 oldVotingPeriod, uint256 newVotingPeriod); + event ProposalThresholdSet(uint256 oldProposalThreshold, uint256 newProposalThreshold); + + /** + * @dev Initialize the governance parameters. + */ + constructor( + uint256 initialVotingDelay, + uint256 initialVotingPeriod, + uint256 initialProposalThreshold + ) { + _setVotingDelay(initialVotingDelay); + _setVotingPeriod(initialVotingPeriod); + _setProposalThreshold(initialProposalThreshold); + } + + /** + * @dev See {IGovernor-votingDelay}. + */ + function votingDelay() public view virtual override returns (uint256) { + return _votingDelay; + } + + /** + * @dev See {IGovernor-votingPeriod}. + */ + function votingPeriod() public view virtual override returns (uint256) { + return _votingPeriod; + } + + /** + * @dev See {Governor-proposalThreshold}. + */ + function proposalThreshold() public view virtual override returns (uint256) { + return _proposalThreshold; + } + + /** + * @dev Update the voting delay. This operation can only be performed through a governance proposal. + * + * Emits a {VotingDelaySet} event. + */ + function setVotingDelay(uint256 newVotingDelay) public virtual onlyGovernance { + _setVotingDelay(newVotingDelay); + } + + /** + * @dev Update the voting period. This operation can only be performed through a governance proposal. + * + * Emits a {VotingPeriodSet} event. + */ + function setVotingPeriod(uint256 newVotingPeriod) public virtual onlyGovernance { + _setVotingPeriod(newVotingPeriod); + } + + /** + * @dev Update the proposal threshold. This operation can only be performed through a governance proposal. + * + * Emits a {ProposalThresholdSet} event. + */ + function setProposalThreshold(uint256 newProposalThreshold) public virtual onlyGovernance { + _setProposalThreshold(newProposalThreshold); + } + + /** + * @dev Internal setter for the voting delay. + * + * Emits a {VotingDelaySet} event. + */ + function _setVotingDelay(uint256 newVotingDelay) internal virtual { + emit VotingDelaySet(_votingDelay, newVotingDelay); + _votingDelay = newVotingDelay; + } + + /** + * @dev Internal setter for the voting period. + * + * Emits a {VotingPeriodSet} event. + */ + function _setVotingPeriod(uint256 newVotingPeriod) internal virtual { + // voting period must be at least one block long + require(newVotingPeriod > 0, "GovernorSettings: voting period too low"); + emit VotingPeriodSet(_votingPeriod, newVotingPeriod); + _votingPeriod = newVotingPeriod; + } + + /** + * @dev Internal setter for the proposal threshold. + * + * Emits a {ProposalThresholdSet} event. + */ + function _setProposalThreshold(uint256 newProposalThreshold) internal virtual { + emit ProposalThresholdSet(_proposalThreshold, newProposalThreshold); + _proposalThreshold = newProposalThreshold; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol new file mode 100644 index 0000000000..fa5ccb2c7e --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol @@ -0,0 +1,244 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorTimelockCompound.sol) + +pragma solidity ^0.8.0; + +import "./IGovernorTimelock.sol"; +import "../Governor.sol"; +import "../../utils/math/SafeCast.sol"; + +/** + * https://github.com/compound-finance/compound-protocol/blob/master/contracts/Timelock.sol[Compound's timelock] interface + */ +interface ICompoundTimelock { + receive() external payable; + + // solhint-disable-next-line func-name-mixedcase + function GRACE_PERIOD() external view returns (uint256); + + // solhint-disable-next-line func-name-mixedcase + function MINIMUM_DELAY() external view returns (uint256); + + // solhint-disable-next-line func-name-mixedcase + function MAXIMUM_DELAY() external view returns (uint256); + + function admin() external view returns (address); + + function pendingAdmin() external view returns (address); + + function delay() external view returns (uint256); + + function queuedTransactions(bytes32) external view returns (bool); + + function setDelay(uint256) external; + + function acceptAdmin() external; + + function setPendingAdmin(address) external; + + function queueTransaction( + address target, + uint256 value, + string memory signature, + bytes memory data, + uint256 eta + ) external returns (bytes32); + + function cancelTransaction( + address target, + uint256 value, + string memory signature, + bytes memory data, + uint256 eta + ) external; + + function executeTransaction( + address target, + uint256 value, + string memory signature, + bytes memory data, + uint256 eta + ) external payable returns (bytes memory); +} + +/** + * @dev Extension of {Governor} that binds the execution process to a Compound Timelock. This adds a delay, enforced by + * the external timelock to all successful proposal (in addition to the voting duration). The {Governor} needs to be + * the admin of the timelock for any operation to be performed. A public, unrestricted, + * {GovernorTimelockCompound-__acceptAdmin} is available to accept ownership of the timelock. + * + * Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus, + * the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be + * inaccessible. + * + * _Available since v4.3._ + */ +abstract contract GovernorTimelockCompound is IGovernorTimelock, Governor { + using SafeCast for uint256; + using Timers for Timers.Timestamp; + + struct ProposalTimelock { + Timers.Timestamp timer; + } + + ICompoundTimelock private _timelock; + + mapping(uint256 => ProposalTimelock) private _proposalTimelocks; + + /** + * @dev Emitted when the timelock controller used for proposal execution is modified. + */ + event TimelockChange(address oldTimelock, address newTimelock); + + /** + * @dev Set the timelock. + */ + constructor(ICompoundTimelock timelockAddress) { + _updateTimelock(timelockAddress); + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, Governor) returns (bool) { + return interfaceId == type(IGovernorTimelock).interfaceId || super.supportsInterface(interfaceId); + } + + /** + * @dev Overriden version of the {Governor-state} function with added support for the `Queued` and `Expired` status. + */ + function state(uint256 proposalId) public view virtual override(IGovernor, Governor) returns (ProposalState) { + ProposalState status = super.state(proposalId); + + if (status != ProposalState.Succeeded) { + return status; + } + + uint256 eta = proposalEta(proposalId); + if (eta == 0) { + return status; + } else if (block.timestamp >= eta + _timelock.GRACE_PERIOD()) { + return ProposalState.Expired; + } else { + return ProposalState.Queued; + } + } + + /** + * @dev Public accessor to check the address of the timelock + */ + function timelock() public view virtual override returns (address) { + return address(_timelock); + } + + /** + * @dev Public accessor to check the eta of a queued proposal + */ + function proposalEta(uint256 proposalId) public view virtual override returns (uint256) { + return _proposalTimelocks[proposalId].timer.getDeadline(); + } + + /** + * @dev Function to queue a proposal to the timelock. + */ + function queue( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 descriptionHash + ) public virtual override returns (uint256) { + uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash); + + require(state(proposalId) == ProposalState.Succeeded, "Governor: proposal not successful"); + + uint256 eta = block.timestamp + _timelock.delay(); + _proposalTimelocks[proposalId].timer.setDeadline(eta.toUint64()); + for (uint256 i = 0; i < targets.length; ++i) { + require( + !_timelock.queuedTransactions(keccak256(abi.encode(targets[i], values[i], "", calldatas[i], eta))), + "GovernorTimelockCompound: identical proposal action already queued" + ); + _timelock.queueTransaction(targets[i], values[i], "", calldatas[i], eta); + } + + emit ProposalQueued(proposalId, eta); + + return proposalId; + } + + /** + * @dev Overriden execute function that run the already queued proposal through the timelock. + */ + function _execute( + uint256 proposalId, + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 /*descriptionHash*/ + ) internal virtual override { + uint256 eta = proposalEta(proposalId); + require(eta > 0, "GovernorTimelockCompound: proposal not yet queued"); + Address.sendValue(payable(_timelock), msg.value); + for (uint256 i = 0; i < targets.length; ++i) { + _timelock.executeTransaction(targets[i], values[i], "", calldatas[i], eta); + } + } + + /** + * @dev Overriden version of the {Governor-_cancel} function to cancel the timelocked proposal if it as already + * been queued. + */ + function _cancel( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 descriptionHash + ) internal virtual override returns (uint256) { + uint256 proposalId = super._cancel(targets, values, calldatas, descriptionHash); + + uint256 eta = proposalEta(proposalId); + if (eta > 0) { + for (uint256 i = 0; i < targets.length; ++i) { + _timelock.cancelTransaction(targets[i], values[i], "", calldatas[i], eta); + } + _proposalTimelocks[proposalId].timer.reset(); + } + + return proposalId; + } + + /** + * @dev Address through which the governor executes action. In this case, the timelock. + */ + function _executor() internal view virtual override returns (address) { + return address(_timelock); + } + + /** + * @dev Accept admin right over the timelock. + */ + // solhint-disable-next-line private-vars-leading-underscore + function __acceptAdmin() public { + _timelock.acceptAdmin(); + } + + /** + * @dev Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates + * must be proposed, scheduled and executed using the {Governor} workflow. + * + * For security reason, the timelock must be handed over to another admin before setting up a new one. The two + * operations (hand over the timelock) and do the update can be batched in a single proposal. + * + * Note that if the timelock admin has been handed over in a previous operation, we refuse updates made through the + * timelock if admin of the timelock has already been accepted and the operation is executed outside the scope of + * governance. + */ + function updateTimelock(ICompoundTimelock newTimelock) external virtual onlyGovernance { + _updateTimelock(newTimelock); + } + + function _updateTimelock(ICompoundTimelock newTimelock) private { + emit TimelockChange(address(_timelock), address(newTimelock)); + _timelock = newTimelock; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol new file mode 100644 index 0000000000..37303b4abf --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol @@ -0,0 +1,154 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorTimelockControl.sol) + +pragma solidity ^0.8.0; + +import "./IGovernorTimelock.sol"; +import "../Governor.sol"; +import "../TimelockController.sol"; + +/** + * @dev Extension of {Governor} that binds the execution process to an instance of {TimelockController}. This adds a + * delay, enforced by the {TimelockController} to all successful proposal (in addition to the voting duration). The + * {Governor} needs the proposer (an ideally the executor) roles for the {Governor} to work properly. + * + * Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus, + * the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be + * inaccessible. + * + * _Available since v4.3._ + */ +abstract contract GovernorTimelockControl is IGovernorTimelock, Governor { + TimelockController private _timelock; + mapping(uint256 => bytes32) private _timelockIds; + + /** + * @dev Emitted when the timelock controller used for proposal execution is modified. + */ + event TimelockChange(address oldTimelock, address newTimelock); + + /** + * @dev Set the timelock. + */ + constructor(TimelockController timelockAddress) { + _updateTimelock(timelockAddress); + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, Governor) returns (bool) { + return interfaceId == type(IGovernorTimelock).interfaceId || super.supportsInterface(interfaceId); + } + + /** + * @dev Overriden version of the {Governor-state} function with added support for the `Queued` status. + */ + function state(uint256 proposalId) public view virtual override(IGovernor, Governor) returns (ProposalState) { + ProposalState status = super.state(proposalId); + + if (status != ProposalState.Succeeded) { + return status; + } + + // core tracks execution, so we just have to check if successful proposal have been queued. + bytes32 queueid = _timelockIds[proposalId]; + if (queueid == bytes32(0)) { + return status; + } else if (_timelock.isOperationDone(queueid)) { + return ProposalState.Executed; + } else { + return ProposalState.Queued; + } + } + + /** + * @dev Public accessor to check the address of the timelock + */ + function timelock() public view virtual override returns (address) { + return address(_timelock); + } + + /** + * @dev Public accessor to check the eta of a queued proposal + */ + function proposalEta(uint256 proposalId) public view virtual override returns (uint256) { + uint256 eta = _timelock.getTimestamp(_timelockIds[proposalId]); + return eta == 1 ? 0 : eta; // _DONE_TIMESTAMP (1) should be replaced with a 0 value + } + + /** + * @dev Function to queue a proposal to the timelock. + */ + function queue( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 descriptionHash + ) public virtual override returns (uint256) { + uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash); + + require(state(proposalId) == ProposalState.Succeeded, "Governor: proposal not successful"); + + uint256 delay = _timelock.getMinDelay(); + _timelockIds[proposalId] = _timelock.hashOperationBatch(targets, values, calldatas, 0, descriptionHash); + _timelock.scheduleBatch(targets, values, calldatas, 0, descriptionHash, delay); + + emit ProposalQueued(proposalId, block.timestamp + delay); + + return proposalId; + } + + /** + * @dev Overriden execute function that run the already queued proposal through the timelock. + */ + function _execute( + uint256, /* proposalId */ + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 descriptionHash + ) internal virtual override { + _timelock.executeBatch{value: msg.value}(targets, values, calldatas, 0, descriptionHash); + } + + /** + * @dev Overriden version of the {Governor-_cancel} function to cancel the timelocked proposal if it as already + * been queued. + */ + function _cancel( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 descriptionHash + ) internal virtual override returns (uint256) { + uint256 proposalId = super._cancel(targets, values, calldatas, descriptionHash); + + if (_timelockIds[proposalId] != 0) { + _timelock.cancel(_timelockIds[proposalId]); + delete _timelockIds[proposalId]; + } + + return proposalId; + } + + /** + * @dev Address through which the governor executes action. In this case, the timelock. + */ + function _executor() internal view virtual override returns (address) { + return address(_timelock); + } + + /** + * @dev Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates + * must be proposed, scheduled and executed using the {Governor} workflow. + */ + function updateTimelock(TimelockController newTimelock) external virtual onlyGovernance { + _updateTimelock(newTimelock); + } + + function _updateTimelock(TimelockController newTimelock) private { + emit TimelockChange(address(_timelock), address(newTimelock)); + _timelock = newTimelock; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol new file mode 100644 index 0000000000..d1719ca149 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorVotes.sol) + +pragma solidity ^0.8.0; + +import "../Governor.sol"; +import "../../token/ERC20/extensions/ERC20Votes.sol"; +import "../../utils/math/Math.sol"; + +/** + * @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token. + * + * _Available since v4.3._ + */ +abstract contract GovernorVotes is Governor { + ERC20Votes public immutable token; + + constructor(ERC20Votes tokenAddress) { + token = tokenAddress; + } + + /** + * Read the voting weight from the token's built in snapshot mechanism (see {IGovernor-getVotes}). + */ + function getVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) { + return token.getPastVotes(account, blockNumber); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol new file mode 100644 index 0000000000..53c882b210 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorVotesComp.sol) + +pragma solidity ^0.8.0; + +import "../Governor.sol"; +import "../../token/ERC20/extensions/ERC20VotesComp.sol"; + +/** + * @dev Extension of {Governor} for voting weight extraction from a Comp token. + * + * _Available since v4.3._ + */ +abstract contract GovernorVotesComp is Governor { + ERC20VotesComp public immutable token; + + constructor(ERC20VotesComp token_) { + token = token_; + } + + /** + * Read the voting weight from the token's built in snapshot mechanism (see {IGovernor-getVotes}). + */ + function getVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) { + return token.getPriorVotes(account, blockNumber); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol new file mode 100644 index 0000000000..ab52e55d7d --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol @@ -0,0 +1,50 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorVotesQuorumFraction.sol) + +pragma solidity ^0.8.0; + +import "./GovernorVotes.sol"; + +/** + * @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a + * fraction of the total supply. + * + * _Available since v4.3._ + */ +abstract contract GovernorVotesQuorumFraction is GovernorVotes { + uint256 private _quorumNumerator; + + event QuorumNumeratorUpdated(uint256 oldQuorumNumerator, uint256 newQuorumNumerator); + + constructor(uint256 quorumNumeratorValue) { + _updateQuorumNumerator(quorumNumeratorValue); + } + + function quorumNumerator() public view virtual returns (uint256) { + return _quorumNumerator; + } + + function quorumDenominator() public view virtual returns (uint256) { + return 100; + } + + function quorum(uint256 blockNumber) public view virtual override returns (uint256) { + return (token.getPastTotalSupply(blockNumber) * quorumNumerator()) / quorumDenominator(); + } + + function updateQuorumNumerator(uint256 newQuorumNumerator) external virtual onlyGovernance { + _updateQuorumNumerator(newQuorumNumerator); + } + + function _updateQuorumNumerator(uint256 newQuorumNumerator) internal virtual { + require( + newQuorumNumerator <= quorumDenominator(), + "GovernorVotesQuorumFraction: quorumNumerator over quorumDenominator" + ); + + uint256 oldQuorumNumerator = _quorumNumerator; + _quorumNumerator = newQuorumNumerator; + + emit QuorumNumeratorUpdated(oldQuorumNumerator, newQuorumNumerator); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol new file mode 100644 index 0000000000..68ed3f2a16 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (governance/extensions/IGovernorTimelock.sol) + +pragma solidity ^0.8.0; + +import "../IGovernor.sol"; + +/** + * @dev Extension of the {IGovernor} for timelock supporting modules. + * + * _Available since v4.3._ + */ +abstract contract IGovernorTimelock is IGovernor { + event ProposalQueued(uint256 proposalId, uint256 eta); + + function timelock() public view virtual returns (address); + + function proposalEta(uint256 proposalId) public view virtual returns (uint256); + + function queue( + address[] memory targets, + uint256[] memory values, + bytes[] memory calldatas, + bytes32 descriptionHash + ) public virtual returns (uint256 proposalId); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol new file mode 100644 index 0000000000..8998930bad --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1155.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC1155/IERC1155.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol new file mode 100644 index 0000000000..045859e9dd --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1155MetadataURI.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC1155/extensions/IERC1155MetadataURI.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol new file mode 100644 index 0000000000..9eac7674c5 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1155Receiver.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC1155/IERC1155Receiver.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol new file mode 100644 index 0000000000..7d76532562 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1271.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Interface of the ERC1271 standard signature validation method for + * contracts as defined in https://eips.ethereum.org/EIPS/eip-1271[ERC-1271]. + * + * _Available since v4.1._ + */ +interface IERC1271 { + /** + * @dev Should return whether the signature provided is valid for the provided data + * @param hash Hash of the data to be signed + * @param signature Signature byte array associated with _data + */ + function isValidSignature(bytes32 hash, bytes memory signature) external view returns (bytes4 magicValue); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol new file mode 100644 index 0000000000..f18c7a4fac --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol @@ -0,0 +1,95 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1363.sol) + +pragma solidity ^0.8.0; + +import "./IERC20.sol"; +import "./IERC165.sol"; + +interface IERC1363 is IERC165, IERC20 { + /* + * Note: the ERC-165 identifier for this interface is 0x4bbee2df. + * 0x4bbee2df === + * bytes4(keccak256('transferAndCall(address,uint256)')) ^ + * bytes4(keccak256('transferAndCall(address,uint256,bytes)')) ^ + * bytes4(keccak256('transferFromAndCall(address,address,uint256)')) ^ + * bytes4(keccak256('transferFromAndCall(address,address,uint256,bytes)')) + */ + + /* + * Note: the ERC-165 identifier for this interface is 0xfb9ec8ce. + * 0xfb9ec8ce === + * bytes4(keccak256('approveAndCall(address,uint256)')) ^ + * bytes4(keccak256('approveAndCall(address,uint256,bytes)')) + */ + + /** + * @dev Transfer tokens from `msg.sender` to another address and then call `onTransferReceived` on receiver + * @param to address The address which you want to transfer to + * @param value uint256 The amount of tokens to be transferred + * @return true unless throwing + */ + function transferAndCall(address to, uint256 value) external returns (bool); + + /** + * @dev Transfer tokens from `msg.sender` to another address and then call `onTransferReceived` on receiver + * @param to address The address which you want to transfer to + * @param value uint256 The amount of tokens to be transferred + * @param data bytes Additional data with no specified format, sent in call to `to` + * @return true unless throwing + */ + function transferAndCall( + address to, + uint256 value, + bytes memory data + ) external returns (bool); + + /** + * @dev Transfer tokens from one address to another and then call `onTransferReceived` on receiver + * @param from address The address which you want to send tokens from + * @param to address The address which you want to transfer to + * @param value uint256 The amount of tokens to be transferred + * @return true unless throwing + */ + function transferFromAndCall( + address from, + address to, + uint256 value + ) external returns (bool); + + /** + * @dev Transfer tokens from one address to another and then call `onTransferReceived` on receiver + * @param from address The address which you want to send tokens from + * @param to address The address which you want to transfer to + * @param value uint256 The amount of tokens to be transferred + * @param data bytes Additional data with no specified format, sent in call to `to` + * @return true unless throwing + */ + function transferFromAndCall( + address from, + address to, + uint256 value, + bytes memory data + ) external returns (bool); + + /** + * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender + * and then call `onApprovalReceived` on spender. + * @param spender address The address which will spend the funds + * @param value uint256 The amount of tokens to be spent + */ + function approveAndCall(address spender, uint256 value) external returns (bool); + + /** + * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender + * and then call `onApprovalReceived` on spender. + * @param spender address The address which will spend the funds + * @param value uint256 The amount of tokens to be spent + * @param data bytes Additional data with no specified format, sent in call to `spender` + */ + function approveAndCall( + address spender, + uint256 value, + bytes memory data + ) external returns (bool); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol new file mode 100644 index 0000000000..18c31dda50 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol @@ -0,0 +1,32 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1363Receiver.sol) + +pragma solidity ^0.8.0; + +interface IERC1363Receiver { + /* + * Note: the ERC-165 identifier for this interface is 0x88a7ca5c. + * 0x88a7ca5c === bytes4(keccak256("onTransferReceived(address,address,uint256,bytes)")) + */ + + /** + * @notice Handle the receipt of ERC1363 tokens + * @dev Any ERC1363 smart contract calls this function on the recipient + * after a `transfer` or a `transferFrom`. This function MAY throw to revert and reject the + * transfer. Return of other than the magic value MUST result in the + * transaction being reverted. + * Note: the token contract address is always the message sender. + * @param operator address The address which called `transferAndCall` or `transferFromAndCall` function + * @param from address The address which are token transferred from + * @param value uint256 The amount of tokens transferred + * @param data bytes Additional data with no specified format + * @return `bytes4(keccak256("onTransferReceived(address,address,uint256,bytes)"))` + * unless throwing + */ + function onTransferReceived( + address operator, + address from, + uint256 value, + bytes memory data + ) external returns (bytes4); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol new file mode 100644 index 0000000000..f5e7503e21 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1363Spender.sol) + +pragma solidity ^0.8.0; + +interface IERC1363Spender { + /* + * Note: the ERC-165 identifier for this interface is 0x7b04a2d0. + * 0x7b04a2d0 === bytes4(keccak256("onApprovalReceived(address,uint256,bytes)")) + */ + + /** + * @notice Handle the approval of ERC1363 tokens + * @dev Any ERC1363 smart contract calls this function on the recipient + * after an `approve`. This function MAY throw to revert and reject the + * approval. Return of other than the magic value MUST result in the + * transaction being reverted. + * Note: the token contract address is always the message sender. + * @param owner address The address which called `approveAndCall` function + * @param value uint256 The amount of tokens to be spent + * @param data bytes Additional data with no specified format + * @return `bytes4(keccak256("onApprovalReceived(address,uint256,bytes)"))` + * unless throwing + */ + function onApprovalReceived( + address owner, + uint256 value, + bytes memory data + ) external returns (bytes4); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol new file mode 100644 index 0000000000..1399ad3f29 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC165.sol) + +pragma solidity ^0.8.0; + +import "../utils/introspection/IERC165.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol new file mode 100644 index 0000000000..efab81914d --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1820Implementer.sol) + +pragma solidity ^0.8.0; + +import "../utils/introspection/IERC1820Implementer.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol new file mode 100644 index 0000000000..6b0b573678 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1820Registry.sol) + +pragma solidity ^0.8.0; + +import "../utils/introspection/IERC1820Registry.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol new file mode 100644 index 0000000000..541ce3deb0 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC20.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC20/IERC20.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol new file mode 100644 index 0000000000..ed5d72fb85 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC20Metadata.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC20/extensions/IERC20Metadata.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol new file mode 100644 index 0000000000..20a417c64d --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol @@ -0,0 +1,23 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC2981.sol) + +pragma solidity ^0.8.0; + +import "./IERC165.sol"; + +/** + * @dev Interface for the NFT Royalty Standard + */ +interface IERC2981 is IERC165 { + /** + * @dev Called with the sale price to determine how much royalty is owed and to whom. + * @param tokenId - the NFT asset queried for royalty information + * @param salePrice - the sale price of the NFT asset specified by `tokenId` + * @return receiver - address of who should be sent the royalty payment + * @return royaltyAmount - the royalty payment amount for `salePrice` + */ + function royaltyInfo(uint256 tokenId, uint256 salePrice) + external + view + returns (address receiver, uint256 royaltyAmount); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol new file mode 100644 index 0000000000..593c121703 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol @@ -0,0 +1,7 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC3156.sol) + +pragma solidity ^0.8.0; + +import "./IERC3156FlashBorrower.sol"; +import "./IERC3156FlashLender.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol new file mode 100644 index 0000000000..e0299bfcc8 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC3156FlashBorrower.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Interface of the ERC3156 FlashBorrower, as defined in + * https://eips.ethereum.org/EIPS/eip-3156[ERC-3156]. + * + * _Available since v4.1._ + */ +interface IERC3156FlashBorrower { + /** + * @dev Receive a flash loan. + * @param initiator The initiator of the loan. + * @param token The loan currency. + * @param amount The amount of tokens lent. + * @param fee The additional amount of tokens to repay. + * @param data Arbitrary data structure, intended to contain user-defined parameters. + * @return The keccak256 hash of "ERC3156FlashBorrower.onFlashLoan" + */ + function onFlashLoan( + address initiator, + address token, + uint256 amount, + uint256 fee, + bytes calldata data + ) external returns (bytes32); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol new file mode 100644 index 0000000000..8f2489c8e7 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC3156FlashLender.sol) + +pragma solidity ^0.8.0; + +import "./IERC3156FlashBorrower.sol"; + +/** + * @dev Interface of the ERC3156 FlashLender, as defined in + * https://eips.ethereum.org/EIPS/eip-3156[ERC-3156]. + * + * _Available since v4.1._ + */ +interface IERC3156FlashLender { + /** + * @dev The amount of currency available to be lended. + * @param token The loan currency. + * @return The amount of `token` that can be borrowed. + */ + function maxFlashLoan(address token) external view returns (uint256); + + /** + * @dev The fee to be charged for a given loan. + * @param token The loan currency. + * @param amount The amount of tokens lent. + * @return The amount of `token` to be charged for the loan, on top of the returned principal. + */ + function flashFee(address token, uint256 amount) external view returns (uint256); + + /** + * @dev Initiate a flash loan. + * @param receiver The receiver of the tokens in the loan, and the receiver of the callback. + * @param token The loan currency. + * @param amount The amount of tokens lent. + * @param data Arbitrary data structure, intended to contain user-defined parameters. + */ + function flashLoan( + IERC3156FlashBorrower receiver, + address token, + uint256 amount, + bytes calldata data + ) external returns (bool); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol new file mode 100644 index 0000000000..5e48b5f039 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC721.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC721/IERC721.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol new file mode 100644 index 0000000000..109abc5b56 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC721Enumerable.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC721/extensions/IERC721Enumerable.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol new file mode 100644 index 0000000000..74bc26cc22 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC721Metadata.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC721/extensions/IERC721Metadata.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol new file mode 100644 index 0000000000..ef6e704ae5 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC721Receiver.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC721/IERC721Receiver.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol new file mode 100644 index 0000000000..ad73090935 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC777.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC777/IERC777.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol new file mode 100644 index 0000000000..853da819b8 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC777Recipient.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC777/IERC777Recipient.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol new file mode 100644 index 0000000000..fe288135f8 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol @@ -0,0 +1,6 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/IERC777Sender.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC777/IERC777Sender.sol"; diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol new file mode 100644 index 0000000000..6ab5de3539 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol @@ -0,0 +1,8 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (interfaces/draft-IERC2612.sol) + +pragma solidity ^0.8.0; + +import "../token/ERC20/extensions/draft-IERC20Permit.sol"; + +interface IERC2612 is IERC20Permit {} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol new file mode 100644 index 0000000000..ea96b8d3e6 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (metatx/ERC2771Context.sol) + +pragma solidity ^0.8.0; + +import "../utils/Context.sol"; + +/** + * @dev Context variant with ERC2771 support. + */ +abstract contract ERC2771Context is Context { + address private _trustedForwarder; + + constructor(address trustedForwarder) { + _trustedForwarder = trustedForwarder; + } + + function isTrustedForwarder(address forwarder) public view virtual returns (bool) { + return forwarder == _trustedForwarder; + } + + function _msgSender() internal view virtual override returns (address sender) { + if (isTrustedForwarder(msg.sender)) { + // The assembly code is more direct than the Solidity version using `abi.decode`. + assembly { + sender := shr(96, calldataload(sub(calldatasize(), 20))) + } + } else { + return super._msgSender(); + } + } + + function _msgData() internal view virtual override returns (bytes calldata) { + if (isTrustedForwarder(msg.sender)) { + return msg.data[:msg.data.length - 20]; + } else { + return super._msgData(); + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol new file mode 100644 index 0000000000..01638181ba --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol @@ -0,0 +1,59 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (metatx/MinimalForwarder.sol) + +pragma solidity ^0.8.0; + +import "../utils/cryptography/ECDSA.sol"; +import "../utils/cryptography/draft-EIP712.sol"; + +/** + * @dev Simple minimal forwarder to be used together with an ERC2771 compatible contract. See {ERC2771Context}. + */ +contract MinimalForwarder is EIP712 { + using ECDSA for bytes32; + + struct ForwardRequest { + address from; + address to; + uint256 value; + uint256 gas; + uint256 nonce; + bytes data; + } + + bytes32 private constant _TYPEHASH = + keccak256("ForwardRequest(address from,address to,uint256 value,uint256 gas,uint256 nonce,bytes data)"); + + mapping(address => uint256) private _nonces; + + constructor() EIP712("MinimalForwarder", "0.0.1") {} + + function getNonce(address from) public view returns (uint256) { + return _nonces[from]; + } + + function verify(ForwardRequest calldata req, bytes calldata signature) public view returns (bool) { + address signer = _hashTypedDataV4( + keccak256(abi.encode(_TYPEHASH, req.from, req.to, req.value, req.gas, req.nonce, keccak256(req.data))) + ).recover(signature); + return _nonces[req.from] == req.nonce && signer == req.from; + } + + function execute(ForwardRequest calldata req, bytes calldata signature) + public + payable + returns (bool, bytes memory) + { + require(verify(req, signature), "MinimalForwarder: signature does not match request"); + _nonces[req.from] = req.nonce + 1; + + (bool success, bytes memory returndata) = req.to.call{gas: req.gas, value: req.value}( + abi.encodePacked(req.data, req.from) + ); + // Validate that the relayer has sent enough gas for the call. + // See https://ronan.eth.link/blog/ethereum-gas-dangers/ + assert(gasleft() > req.gas / 63); + + return (success, returndata); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/package.json b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/package.json new file mode 100644 index 0000000000..220a063ff3 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/package.json @@ -0,0 +1,62 @@ +{ + "_from": "@openzeppelin/contracts", + "_id": "@openzeppelin/contracts@4.4.0", + "_inBundle": false, + "_integrity": "sha512-dlKiZmDvJnGRLHojrDoFZJmsQVeltVeoiRN7RK+cf2FmkhASDEblE0RiaYdxPNsUZa6mRG8393b9bfyp+V5IAw==", + "_location": "/@openzeppelin/contracts", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "@openzeppelin/contracts", + "name": "@openzeppelin/contracts", + "escapedName": "@openzeppelin%2fcontracts", + "scope": "@openzeppelin", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.4.0.tgz", + "_shasum": "4a1df71f736c31230bbbd634dfb006a756b51e6b", + "_spec": "@openzeppelin/contracts", + "_where": "/home/monty/tob/tools/slither/tests/test_node_modules", + "author": { + "name": "OpenZeppelin Community", + "email": "maintainers@openzeppelin.org" + }, + "bugs": { + "url": "https://github.com/OpenZeppelin/openzeppelin-contracts/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "Secure Smart Contract library for Solidity", + "files": [ + "**/*.sol", + "/build/contracts/*.json", + "!/mocks/**/*" + ], + "homepage": "https://openzeppelin.com/contracts/", + "keywords": [ + "solidity", + "ethereum", + "smart", + "contracts", + "security", + "zeppelin" + ], + "license": "MIT", + "name": "@openzeppelin/contracts", + "repository": { + "type": "git", + "url": "git+https://github.com/OpenZeppelin/openzeppelin-contracts.git" + }, + "scripts": { + "prepare": "bash ../scripts/prepare-contracts-package.sh", + "prepare-docs": "cd ..; npm run prepare-docs" + }, + "version": "4.4.0" +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol new file mode 100644 index 0000000000..feed33e7df --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (proxy/Clones.sol) + +pragma solidity ^0.8.0; + +/** + * @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for + * deploying minimal proxy contracts, also known as "clones". + * + * > To simply and cheaply clone contract functionality in an immutable way, this standard specifies + * > a minimal bytecode implementation that delegates all calls to a known, fixed address. + * + * The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2` + * (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the + * deterministic method. + * + * _Available since v3.4._ + */ +library Clones { + /** + * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`. + * + * This function uses the create opcode, which should never revert. + */ + function clone(address implementation) internal returns (address instance) { + assembly { + let ptr := mload(0x40) + mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) + mstore(add(ptr, 0x14), shl(0x60, implementation)) + mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) + instance := create(0, ptr, 0x37) + } + require(instance != address(0), "ERC1167: create failed"); + } + + /** + * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`. + * + * This function uses the create2 opcode and a `salt` to deterministically deploy + * the clone. Using the same `implementation` and `salt` multiple time will revert, since + * the clones cannot be deployed twice at the same address. + */ + function cloneDeterministic(address implementation, bytes32 salt) internal returns (address instance) { + assembly { + let ptr := mload(0x40) + mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) + mstore(add(ptr, 0x14), shl(0x60, implementation)) + mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) + instance := create2(0, ptr, 0x37, salt) + } + require(instance != address(0), "ERC1167: create2 failed"); + } + + /** + * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}. + */ + function predictDeterministicAddress( + address implementation, + bytes32 salt, + address deployer + ) internal pure returns (address predicted) { + assembly { + let ptr := mload(0x40) + mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) + mstore(add(ptr, 0x14), shl(0x60, implementation)) + mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000) + mstore(add(ptr, 0x38), shl(0x60, deployer)) + mstore(add(ptr, 0x4c), salt) + mstore(add(ptr, 0x6c), keccak256(ptr, 0x37)) + predicted := keccak256(add(ptr, 0x37), 0x55) + } + } + + /** + * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}. + */ + function predictDeterministicAddress(address implementation, bytes32 salt) + internal + view + returns (address predicted) + { + return predictDeterministicAddress(implementation, salt, address(this)); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol new file mode 100644 index 0000000000..5d2a3533f5 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (proxy/ERC1967/ERC1967Proxy.sol) + +pragma solidity ^0.8.0; + +import "../Proxy.sol"; +import "./ERC1967Upgrade.sol"; + +/** + * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an + * implementation address that can be changed. This address is stored in storage in the location specified by + * https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the + * implementation behind the proxy. + */ +contract ERC1967Proxy is Proxy, ERC1967Upgrade { + /** + * @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`. + * + * If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded + * function call, and allows initializating the storage of the proxy like a Solidity constructor. + */ + constructor(address _logic, bytes memory _data) payable { + assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1)); + _upgradeToAndCall(_logic, _data, false); + } + + /** + * @dev Returns the current implementation address. + */ + function _implementation() internal view virtual override returns (address impl) { + return ERC1967Upgrade._getImplementation(); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol new file mode 100644 index 0000000000..04394aeeec --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol @@ -0,0 +1,194 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (proxy/ERC1967/ERC1967Upgrade.sol) + +pragma solidity ^0.8.2; + +import "../beacon/IBeacon.sol"; +import "../../utils/Address.sol"; +import "../../utils/StorageSlot.sol"; + +/** + * @dev This abstract contract provides getters and event emitting update functions for + * https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots. + * + * _Available since v4.1._ + * + * @custom:oz-upgrades-unsafe-allow delegatecall + */ +abstract contract ERC1967Upgrade { + // This is the keccak-256 hash of "eip1967.proxy.rollback" subtracted by 1 + bytes32 private constant _ROLLBACK_SLOT = 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143; + + /** + * @dev Storage slot with the address of the current implementation. + * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is + * validated in the constructor. + */ + bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; + + /** + * @dev Emitted when the implementation is upgraded. + */ + event Upgraded(address indexed implementation); + + /** + * @dev Returns the current implementation address. + */ + function _getImplementation() internal view returns (address) { + return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; + } + + /** + * @dev Stores a new address in the EIP1967 implementation slot. + */ + function _setImplementation(address newImplementation) private { + require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract"); + StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; + } + + /** + * @dev Perform implementation upgrade + * + * Emits an {Upgraded} event. + */ + function _upgradeTo(address newImplementation) internal { + _setImplementation(newImplementation); + emit Upgraded(newImplementation); + } + + /** + * @dev Perform implementation upgrade with additional setup call. + * + * Emits an {Upgraded} event. + */ + function _upgradeToAndCall( + address newImplementation, + bytes memory data, + bool forceCall + ) internal { + _upgradeTo(newImplementation); + if (data.length > 0 || forceCall) { + Address.functionDelegateCall(newImplementation, data); + } + } + + /** + * @dev Perform implementation upgrade with security checks for UUPS proxies, and additional setup call. + * + * Emits an {Upgraded} event. + */ + function _upgradeToAndCallSecure( + address newImplementation, + bytes memory data, + bool forceCall + ) internal { + address oldImplementation = _getImplementation(); + + // Initial upgrade and setup call + _setImplementation(newImplementation); + if (data.length > 0 || forceCall) { + Address.functionDelegateCall(newImplementation, data); + } + + // Perform rollback test if not already in progress + StorageSlot.BooleanSlot storage rollbackTesting = StorageSlot.getBooleanSlot(_ROLLBACK_SLOT); + if (!rollbackTesting.value) { + // Trigger rollback using upgradeTo from the new implementation + rollbackTesting.value = true; + Address.functionDelegateCall( + newImplementation, + abi.encodeWithSignature("upgradeTo(address)", oldImplementation) + ); + rollbackTesting.value = false; + // Check rollback was effective + require(oldImplementation == _getImplementation(), "ERC1967Upgrade: upgrade breaks further upgrades"); + // Finally reset to the new implementation and log the upgrade + _upgradeTo(newImplementation); + } + } + + /** + * @dev Storage slot with the admin of the contract. + * This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1, and is + * validated in the constructor. + */ + bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; + + /** + * @dev Emitted when the admin account has changed. + */ + event AdminChanged(address previousAdmin, address newAdmin); + + /** + * @dev Returns the current admin. + */ + function _getAdmin() internal view returns (address) { + return StorageSlot.getAddressSlot(_ADMIN_SLOT).value; + } + + /** + * @dev Stores a new address in the EIP1967 admin slot. + */ + function _setAdmin(address newAdmin) private { + require(newAdmin != address(0), "ERC1967: new admin is the zero address"); + StorageSlot.getAddressSlot(_ADMIN_SLOT).value = newAdmin; + } + + /** + * @dev Changes the admin of the proxy. + * + * Emits an {AdminChanged} event. + */ + function _changeAdmin(address newAdmin) internal { + emit AdminChanged(_getAdmin(), newAdmin); + _setAdmin(newAdmin); + } + + /** + * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. + * This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor. + */ + bytes32 internal constant _BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50; + + /** + * @dev Emitted when the beacon is upgraded. + */ + event BeaconUpgraded(address indexed beacon); + + /** + * @dev Returns the current beacon. + */ + function _getBeacon() internal view returns (address) { + return StorageSlot.getAddressSlot(_BEACON_SLOT).value; + } + + /** + * @dev Stores a new beacon in the EIP1967 beacon slot. + */ + function _setBeacon(address newBeacon) private { + require(Address.isContract(newBeacon), "ERC1967: new beacon is not a contract"); + require( + Address.isContract(IBeacon(newBeacon).implementation()), + "ERC1967: beacon implementation is not a contract" + ); + StorageSlot.getAddressSlot(_BEACON_SLOT).value = newBeacon; + } + + /** + * @dev Perform beacon upgrade with additional setup call. Note: This upgrades the address of the beacon, it does + * not upgrade the implementation contained in the beacon (see {UpgradeableBeacon-_setImplementation} for that). + * + * Emits a {BeaconUpgraded} event. + */ + function _upgradeBeaconToAndCall( + address newBeacon, + bytes memory data, + bool forceCall + ) internal { + _setBeacon(newBeacon); + emit BeaconUpgraded(newBeacon); + if (data.length > 0 || forceCall) { + Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data); + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol new file mode 100644 index 0000000000..cbb78efa9f --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol @@ -0,0 +1,86 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (proxy/Proxy.sol) + +pragma solidity ^0.8.0; + +/** + * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM + * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to + * be specified by overriding the virtual {_implementation} function. + * + * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a + * different contract through the {_delegate} function. + * + * The success and return data of the delegated call will be returned back to the caller of the proxy. + */ +abstract contract Proxy { + /** + * @dev Delegates the current call to `implementation`. + * + * This function does not return to its internall call site, it will return directly to the external caller. + */ + function _delegate(address implementation) internal virtual { + assembly { + // Copy msg.data. We take full control of memory in this inline assembly + // block because it will not return to Solidity code. We overwrite the + // Solidity scratch pad at memory position 0. + calldatacopy(0, 0, calldatasize()) + + // Call the implementation. + // out and outsize are 0 because we don't know the size yet. + let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0) + + // Copy the returned data. + returndatacopy(0, 0, returndatasize()) + + switch result + // delegatecall returns 0 on error. + case 0 { + revert(0, returndatasize()) + } + default { + return(0, returndatasize()) + } + } + } + + /** + * @dev This is a virtual function that should be overriden so it returns the address to which the fallback function + * and {_fallback} should delegate. + */ + function _implementation() internal view virtual returns (address); + + /** + * @dev Delegates the current call to the address returned by `_implementation()`. + * + * This function does not return to its internall call site, it will return directly to the external caller. + */ + function _fallback() internal virtual { + _beforeFallback(); + _delegate(_implementation()); + } + + /** + * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other + * function in the contract matches the call data. + */ + fallback() external payable virtual { + _fallback(); + } + + /** + * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data + * is empty. + */ + receive() external payable virtual { + _fallback(); + } + + /** + * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback` + * call, or as part of the Solidity `fallback` or `receive` functions. + * + * If overriden should call `super._beforeFallback()`. + */ + function _beforeFallback() internal virtual {} +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol new file mode 100644 index 0000000000..15b6eb55e5 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (proxy/beacon/BeaconProxy.sol) + +pragma solidity ^0.8.0; + +import "./IBeacon.sol"; +import "../Proxy.sol"; +import "../ERC1967/ERC1967Upgrade.sol"; + +/** + * @dev This contract implements a proxy that gets the implementation address for each call from a {UpgradeableBeacon}. + * + * The beacon address is stored in storage slot `uint256(keccak256('eip1967.proxy.beacon')) - 1`, so that it doesn't + * conflict with the storage layout of the implementation behind the proxy. + * + * _Available since v3.4._ + */ +contract BeaconProxy is Proxy, ERC1967Upgrade { + /** + * @dev Initializes the proxy with `beacon`. + * + * If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. This + * will typically be an encoded function call, and allows initializating the storage of the proxy like a Solidity + * constructor. + * + * Requirements: + * + * - `beacon` must be a contract with the interface {IBeacon}. + */ + constructor(address beacon, bytes memory data) payable { + assert(_BEACON_SLOT == bytes32(uint256(keccak256("eip1967.proxy.beacon")) - 1)); + _upgradeBeaconToAndCall(beacon, data, false); + } + + /** + * @dev Returns the current beacon address. + */ + function _beacon() internal view virtual returns (address) { + return _getBeacon(); + } + + /** + * @dev Returns the current implementation address of the associated beacon. + */ + function _implementation() internal view virtual override returns (address) { + return IBeacon(_getBeacon()).implementation(); + } + + /** + * @dev Changes the proxy to use a new beacon. Deprecated: see {_upgradeBeaconToAndCall}. + * + * If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. + * + * Requirements: + * + * - `beacon` must be a contract. + * - The implementation returned by `beacon` must be a contract. + */ + function _setBeacon(address beacon, bytes memory data) internal virtual { + _upgradeBeaconToAndCall(beacon, data, false); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol new file mode 100644 index 0000000000..e8b18af4ca --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol @@ -0,0 +1,16 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (proxy/beacon/IBeacon.sol) + +pragma solidity ^0.8.0; + +/** + * @dev This is the interface that {BeaconProxy} expects of its beacon. + */ +interface IBeacon { + /** + * @dev Must return an address that can be used as a delegate call target. + * + * {BeaconProxy} will check that this address is a contract. + */ + function implementation() external view returns (address); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol new file mode 100644 index 0000000000..c03261509d --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol @@ -0,0 +1,65 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (proxy/beacon/UpgradeableBeacon.sol) + +pragma solidity ^0.8.0; + +import "./IBeacon.sol"; +import "../../access/Ownable.sol"; +import "../../utils/Address.sol"; + +/** + * @dev This contract is used in conjunction with one or more instances of {BeaconProxy} to determine their + * implementation contract, which is where they will delegate all function calls. + * + * An owner is able to change the implementation the beacon points to, thus upgrading the proxies that use this beacon. + */ +contract UpgradeableBeacon is IBeacon, Ownable { + address private _implementation; + + /** + * @dev Emitted when the implementation returned by the beacon is changed. + */ + event Upgraded(address indexed implementation); + + /** + * @dev Sets the address of the initial implementation, and the deployer account as the owner who can upgrade the + * beacon. + */ + constructor(address implementation_) { + _setImplementation(implementation_); + } + + /** + * @dev Returns the current implementation address. + */ + function implementation() public view virtual override returns (address) { + return _implementation; + } + + /** + * @dev Upgrades the beacon to a new implementation. + * + * Emits an {Upgraded} event. + * + * Requirements: + * + * - msg.sender must be the owner of the contract. + * - `newImplementation` must be a contract. + */ + function upgradeTo(address newImplementation) public virtual onlyOwner { + _setImplementation(newImplementation); + emit Upgraded(newImplementation); + } + + /** + * @dev Sets the implementation contract address for this beacon + * + * Requirements: + * + * - `newImplementation` must be a contract. + */ + function _setImplementation(address newImplementation) private { + require(Address.isContract(newImplementation), "UpgradeableBeacon: implementation is not a contract"); + _implementation = newImplementation; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol new file mode 100644 index 0000000000..82f49eb7dc --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol @@ -0,0 +1,81 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (proxy/transparent/ProxyAdmin.sol) + +pragma solidity ^0.8.0; + +import "./TransparentUpgradeableProxy.sol"; +import "../../access/Ownable.sol"; + +/** + * @dev This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an + * explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}. + */ +contract ProxyAdmin is Ownable { + /** + * @dev Returns the current implementation of `proxy`. + * + * Requirements: + * + * - This contract must be the admin of `proxy`. + */ + function getProxyImplementation(TransparentUpgradeableProxy proxy) public view virtual returns (address) { + // We need to manually run the static call since the getter cannot be flagged as view + // bytes4(keccak256("implementation()")) == 0x5c60da1b + (bool success, bytes memory returndata) = address(proxy).staticcall(hex"5c60da1b"); + require(success); + return abi.decode(returndata, (address)); + } + + /** + * @dev Returns the current admin of `proxy`. + * + * Requirements: + * + * - This contract must be the admin of `proxy`. + */ + function getProxyAdmin(TransparentUpgradeableProxy proxy) public view virtual returns (address) { + // We need to manually run the static call since the getter cannot be flagged as view + // bytes4(keccak256("admin()")) == 0xf851a440 + (bool success, bytes memory returndata) = address(proxy).staticcall(hex"f851a440"); + require(success); + return abi.decode(returndata, (address)); + } + + /** + * @dev Changes the admin of `proxy` to `newAdmin`. + * + * Requirements: + * + * - This contract must be the current admin of `proxy`. + */ + function changeProxyAdmin(TransparentUpgradeableProxy proxy, address newAdmin) public virtual onlyOwner { + proxy.changeAdmin(newAdmin); + } + + /** + * @dev Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}. + * + * Requirements: + * + * - This contract must be the admin of `proxy`. + */ + function upgrade(TransparentUpgradeableProxy proxy, address implementation) public virtual onlyOwner { + proxy.upgradeTo(implementation); + } + + /** + * @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation. See + * {TransparentUpgradeableProxy-upgradeToAndCall}. + * + * Requirements: + * + * - This contract must be the admin of `proxy`. + */ + function upgradeAndCall( + TransparentUpgradeableProxy proxy, + address implementation, + bytes memory data + ) public payable virtual onlyOwner { + proxy.upgradeToAndCall{value: msg.value}(implementation, data); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol new file mode 100644 index 0000000000..f1b101ef37 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol @@ -0,0 +1,125 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (proxy/transparent/TransparentUpgradeableProxy.sol) + +pragma solidity ^0.8.0; + +import "../ERC1967/ERC1967Proxy.sol"; + +/** + * @dev This contract implements a proxy that is upgradeable by an admin. + * + * To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector + * clashing], which can potentially be used in an attack, this contract uses the + * https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two + * things that go hand in hand: + * + * 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if + * that call matches one of the admin functions exposed by the proxy itself. + * 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the + * implementation. If the admin tries to call a function on the implementation it will fail with an error that says + * "admin cannot fallback to proxy target". + * + * These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing + * the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due + * to sudden errors when trying to call a function from the proxy implementation. + * + * Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way, + * you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy. + */ +contract TransparentUpgradeableProxy is ERC1967Proxy { + /** + * @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and + * optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}. + */ + constructor( + address _logic, + address admin_, + bytes memory _data + ) payable ERC1967Proxy(_logic, _data) { + assert(_ADMIN_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1)); + _changeAdmin(admin_); + } + + /** + * @dev Modifier used internally that will delegate the call to the implementation unless the sender is the admin. + */ + modifier ifAdmin() { + if (msg.sender == _getAdmin()) { + _; + } else { + _fallback(); + } + } + + /** + * @dev Returns the current admin. + * + * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}. + * + * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the + * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. + * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103` + */ + function admin() external ifAdmin returns (address admin_) { + admin_ = _getAdmin(); + } + + /** + * @dev Returns the current implementation. + * + * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}. + * + * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the + * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. + * `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc` + */ + function implementation() external ifAdmin returns (address implementation_) { + implementation_ = _implementation(); + } + + /** + * @dev Changes the admin of the proxy. + * + * Emits an {AdminChanged} event. + * + * NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}. + */ + function changeAdmin(address newAdmin) external virtual ifAdmin { + _changeAdmin(newAdmin); + } + + /** + * @dev Upgrade the implementation of the proxy. + * + * NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}. + */ + function upgradeTo(address newImplementation) external ifAdmin { + _upgradeToAndCall(newImplementation, bytes(""), false); + } + + /** + * @dev Upgrade the implementation of the proxy, and then call a function from the new implementation as specified + * by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the + * proxied contract. + * + * NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}. + */ + function upgradeToAndCall(address newImplementation, bytes calldata data) external payable ifAdmin { + _upgradeToAndCall(newImplementation, data, true); + } + + /** + * @dev Returns the current admin. + */ + function _admin() internal view virtual returns (address) { + return _getAdmin(); + } + + /** + * @dev Makes sure the admin cannot access the fallback function. See {Proxy-_beforeFallback}. + */ + function _beforeFallback() internal virtual override { + require(msg.sender != _getAdmin(), "TransparentUpgradeableProxy: admin cannot fallback to proxy target"); + super._beforeFallback(); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol new file mode 100644 index 0000000000..0107bdabf5 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol @@ -0,0 +1,62 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (proxy/utils/Initializable.sol) + +pragma solidity ^0.8.0; + +/** + * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed + * behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an + * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer + * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. + * + * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as + * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. + * + * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure + * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. + * + * [CAUTION] + * ==== + * Avoid leaving a contract uninitialized. + * + * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation + * contract, which may impact the proxy. To initialize the implementation contract, you can either invoke the + * initializer manually, or you can include a constructor to automatically mark it as initialized when it is deployed: + * + * [.hljs-theme-light.nopadding] + * ``` + * /// @custom:oz-upgrades-unsafe-allow constructor + * constructor() initializer {} + * ``` + * ==== + */ +abstract contract Initializable { + /** + * @dev Indicates that the contract has been initialized. + */ + bool private _initialized; + + /** + * @dev Indicates that the contract is in the process of being initialized. + */ + bool private _initializing; + + /** + * @dev Modifier to protect an initializer function from being invoked twice. + */ + modifier initializer() { + require(_initializing || !_initialized, "Initializable: contract is already initialized"); + + bool isTopLevelCall = !_initializing; + if (isTopLevelCall) { + _initializing = true; + _initialized = true; + } + + _; + + if (isTopLevelCall) { + _initializing = false; + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol new file mode 100644 index 0000000000..89ceccced4 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol @@ -0,0 +1,73 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (proxy/utils/UUPSUpgradeable.sol) + +pragma solidity ^0.8.0; + +import "../ERC1967/ERC1967Upgrade.sol"; + +/** + * @dev An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an + * {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy. + * + * A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is + * reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing + * `UUPSUpgradeable` with a custom implementation of upgrades. + * + * The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism. + * + * _Available since v4.1._ + */ +abstract contract UUPSUpgradeable is ERC1967Upgrade { + /// @custom:oz-upgrades-unsafe-allow state-variable-immutable state-variable-assignment + address private immutable __self = address(this); + + /** + * @dev Check that the execution is being performed through a delegatecall call and that the execution context is + * a proxy contract with an implementation (as defined in ERC1967) pointing to self. This should only be the case + * for UUPS and transparent proxies that are using the current contract as their implementation. Execution of a + * function through ERC1167 minimal proxies (clones) would not normally pass this test, but is not guaranteed to + * fail. + */ + modifier onlyProxy() { + require(address(this) != __self, "Function must be called through delegatecall"); + require(_getImplementation() == __self, "Function must be called through active proxy"); + _; + } + + /** + * @dev Upgrade the implementation of the proxy to `newImplementation`. + * + * Calls {_authorizeUpgrade}. + * + * Emits an {Upgraded} event. + */ + function upgradeTo(address newImplementation) external virtual onlyProxy { + _authorizeUpgrade(newImplementation); + _upgradeToAndCallSecure(newImplementation, new bytes(0), false); + } + + /** + * @dev Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call + * encoded in `data`. + * + * Calls {_authorizeUpgrade}. + * + * Emits an {Upgraded} event. + */ + function upgradeToAndCall(address newImplementation, bytes memory data) external payable virtual onlyProxy { + _authorizeUpgrade(newImplementation); + _upgradeToAndCallSecure(newImplementation, data, true); + } + + /** + * @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract. Called by + * {upgradeTo} and {upgradeToAndCall}. + * + * Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}. + * + * ```solidity + * function _authorizeUpgrade(address) internal override onlyOwner {} + * ``` + */ + function _authorizeUpgrade(address newImplementation) internal virtual; +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol new file mode 100644 index 0000000000..004db0492f --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol @@ -0,0 +1,91 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (security/Pausable.sol) + +pragma solidity ^0.8.0; + +import "../utils/Context.sol"; + +/** + * @dev Contract module which allows children to implement an emergency stop + * mechanism that can be triggered by an authorized account. + * + * This module is used through inheritance. It will make available the + * modifiers `whenNotPaused` and `whenPaused`, which can be applied to + * the functions of your contract. Note that they will not be pausable by + * simply including this module, only once the modifiers are put in place. + */ +abstract contract Pausable is Context { + /** + * @dev Emitted when the pause is triggered by `account`. + */ + event Paused(address account); + + /** + * @dev Emitted when the pause is lifted by `account`. + */ + event Unpaused(address account); + + bool private _paused; + + /** + * @dev Initializes the contract in unpaused state. + */ + constructor() { + _paused = false; + } + + /** + * @dev Returns true if the contract is paused, and false otherwise. + */ + function paused() public view virtual returns (bool) { + return _paused; + } + + /** + * @dev Modifier to make a function callable only when the contract is not paused. + * + * Requirements: + * + * - The contract must not be paused. + */ + modifier whenNotPaused() { + require(!paused(), "Pausable: paused"); + _; + } + + /** + * @dev Modifier to make a function callable only when the contract is paused. + * + * Requirements: + * + * - The contract must be paused. + */ + modifier whenPaused() { + require(paused(), "Pausable: not paused"); + _; + } + + /** + * @dev Triggers stopped state. + * + * Requirements: + * + * - The contract must not be paused. + */ + function _pause() internal virtual whenNotPaused { + _paused = true; + emit Paused(_msgSender()); + } + + /** + * @dev Returns to normal state. + * + * Requirements: + * + * - The contract must be paused. + */ + function _unpause() internal virtual whenPaused { + _paused = false; + emit Unpaused(_msgSender()); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol new file mode 100644 index 0000000000..829f13ed3d --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (security/PullPayment.sol) + +pragma solidity ^0.8.0; + +import "../utils/escrow/Escrow.sol"; + +/** + * @dev Simple implementation of a + * https://consensys.github.io/smart-contract-best-practices/recommendations/#favor-pull-over-push-for-external-calls[pull-payment] + * strategy, where the paying contract doesn't interact directly with the + * receiver account, which must withdraw its payments itself. + * + * Pull-payments are often considered the best practice when it comes to sending + * Ether, security-wise. It prevents recipients from blocking execution, and + * eliminates reentrancy concerns. + * + * TIP: If you would like to learn more about reentrancy and alternative ways + * to protect against it, check out our blog post + * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. + * + * To use, derive from the `PullPayment` contract, and use {_asyncTransfer} + * instead of Solidity's `transfer` function. Payees can query their due + * payments with {payments}, and retrieve them with {withdrawPayments}. + */ +abstract contract PullPayment { + Escrow private immutable _escrow; + + constructor() { + _escrow = new Escrow(); + } + + /** + * @dev Withdraw accumulated payments, forwarding all gas to the recipient. + * + * Note that _any_ account can call this function, not just the `payee`. + * This means that contracts unaware of the `PullPayment` protocol can still + * receive funds this way, by having a separate account call + * {withdrawPayments}. + * + * WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. + * Make sure you trust the recipient, or are either following the + * checks-effects-interactions pattern or using {ReentrancyGuard}. + * + * @param payee Whose payments will be withdrawn. + */ + function withdrawPayments(address payable payee) public virtual { + _escrow.withdraw(payee); + } + + /** + * @dev Returns the payments owed to an address. + * @param dest The creditor's address. + */ + function payments(address dest) public view returns (uint256) { + return _escrow.depositsOf(dest); + } + + /** + * @dev Called by the payer to store the sent amount as credit to be pulled. + * Funds sent in this way are stored in an intermediate {Escrow} contract, so + * there is no danger of them being spent before withdrawal. + * + * @param dest The destination address of the funds. + * @param amount The amount to transfer. + */ + function _asyncTransfer(address dest, uint256 amount) internal virtual { + _escrow.deposit{value: amount}(dest); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol new file mode 100644 index 0000000000..0534bc3216 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (security/ReentrancyGuard.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Contract module that helps prevent reentrant calls to a function. + * + * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier + * available, which can be applied to functions to make sure there are no nested + * (reentrant) calls to them. + * + * Note that because there is a single `nonReentrant` guard, functions marked as + * `nonReentrant` may not call one another. This can be worked around by making + * those functions `private`, and then adding `external` `nonReentrant` entry + * points to them. + * + * TIP: If you would like to learn more about reentrancy and alternative ways + * to protect against it, check out our blog post + * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. + */ +abstract contract ReentrancyGuard { + // Booleans are more expensive than uint256 or any type that takes up a full + // word because each write operation emits an extra SLOAD to first read the + // slot's contents, replace the bits taken up by the boolean, and then write + // back. This is the compiler's defense against contract upgrades and + // pointer aliasing, and it cannot be disabled. + + // The values being non-zero value makes deployment a bit more expensive, + // but in exchange the refund on every call to nonReentrant will be lower in + // amount. Since refunds are capped to a percentage of the total + // transaction's gas, it is best to keep them low in cases like this one, to + // increase the likelihood of the full refund coming into effect. + uint256 private constant _NOT_ENTERED = 1; + uint256 private constant _ENTERED = 2; + + uint256 private _status; + + constructor() { + _status = _NOT_ENTERED; + } + + /** + * @dev Prevents a contract from calling itself, directly or indirectly. + * Calling a `nonReentrant` function from another `nonReentrant` + * function is not supported. It is possible to prevent this from happening + * by making the `nonReentrant` function external, and making it call a + * `private` function that does the actual work. + */ + modifier nonReentrant() { + // On the first call to nonReentrant, _notEntered will be true + require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); + + // Any calls to nonReentrant after this point will fail + _status = _ENTERED; + + _; + + // By storing the original value once again, a refund is triggered (see + // https://eips.ethereum.org/EIPS/eip-2200) + _status = _NOT_ENTERED; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol new file mode 100644 index 0000000000..5357a5d281 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol @@ -0,0 +1,464 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC1155/ERC1155.sol) + +pragma solidity ^0.8.0; + +import "./IERC1155.sol"; +import "./IERC1155Receiver.sol"; +import "./extensions/IERC1155MetadataURI.sol"; +import "../../utils/Address.sol"; +import "../../utils/Context.sol"; +import "../../utils/introspection/ERC165.sol"; + +/** + * @dev Implementation of the basic standard multi-token. + * See https://eips.ethereum.org/EIPS/eip-1155 + * Originally based on code by Enjin: https://github.com/enjin/erc-1155 + * + * _Available since v3.1._ + */ +contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI { + using Address for address; + + // Mapping from token ID to account balances + mapping(uint256 => mapping(address => uint256)) private _balances; + + // Mapping from account to operator approvals + mapping(address => mapping(address => bool)) private _operatorApprovals; + + // Used as the URI for all token types by relying on ID substitution, e.g. https://token-cdn-domain/{id}.json + string private _uri; + + /** + * @dev See {_setURI}. + */ + constructor(string memory uri_) { + _setURI(uri_); + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { + return + interfaceId == type(IERC1155).interfaceId || + interfaceId == type(IERC1155MetadataURI).interfaceId || + super.supportsInterface(interfaceId); + } + + /** + * @dev See {IERC1155MetadataURI-uri}. + * + * This implementation returns the same URI for *all* token types. It relies + * on the token type ID substitution mechanism + * https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. + * + * Clients calling this function must replace the `\{id\}` substring with the + * actual token type ID. + */ + function uri(uint256) public view virtual override returns (string memory) { + return _uri; + } + + /** + * @dev See {IERC1155-balanceOf}. + * + * Requirements: + * + * - `account` cannot be the zero address. + */ + function balanceOf(address account, uint256 id) public view virtual override returns (uint256) { + require(account != address(0), "ERC1155: balance query for the zero address"); + return _balances[id][account]; + } + + /** + * @dev See {IERC1155-balanceOfBatch}. + * + * Requirements: + * + * - `accounts` and `ids` must have the same length. + */ + function balanceOfBatch(address[] memory accounts, uint256[] memory ids) + public + view + virtual + override + returns (uint256[] memory) + { + require(accounts.length == ids.length, "ERC1155: accounts and ids length mismatch"); + + uint256[] memory batchBalances = new uint256[](accounts.length); + + for (uint256 i = 0; i < accounts.length; ++i) { + batchBalances[i] = balanceOf(accounts[i], ids[i]); + } + + return batchBalances; + } + + /** + * @dev See {IERC1155-setApprovalForAll}. + */ + function setApprovalForAll(address operator, bool approved) public virtual override { + _setApprovalForAll(_msgSender(), operator, approved); + } + + /** + * @dev See {IERC1155-isApprovedForAll}. + */ + function isApprovedForAll(address account, address operator) public view virtual override returns (bool) { + return _operatorApprovals[account][operator]; + } + + /** + * @dev See {IERC1155-safeTransferFrom}. + */ + function safeTransferFrom( + address from, + address to, + uint256 id, + uint256 amount, + bytes memory data + ) public virtual override { + require( + from == _msgSender() || isApprovedForAll(from, _msgSender()), + "ERC1155: caller is not owner nor approved" + ); + _safeTransferFrom(from, to, id, amount, data); + } + + /** + * @dev See {IERC1155-safeBatchTransferFrom}. + */ + function safeBatchTransferFrom( + address from, + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) public virtual override { + require( + from == _msgSender() || isApprovedForAll(from, _msgSender()), + "ERC1155: transfer caller is not owner nor approved" + ); + _safeBatchTransferFrom(from, to, ids, amounts, data); + } + + /** + * @dev Transfers `amount` tokens of token type `id` from `from` to `to`. + * + * Emits a {TransferSingle} event. + * + * Requirements: + * + * - `to` cannot be the zero address. + * - `from` must have a balance of tokens of type `id` of at least `amount`. + * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the + * acceptance magic value. + */ + function _safeTransferFrom( + address from, + address to, + uint256 id, + uint256 amount, + bytes memory data + ) internal virtual { + require(to != address(0), "ERC1155: transfer to the zero address"); + + address operator = _msgSender(); + + _beforeTokenTransfer(operator, from, to, _asSingletonArray(id), _asSingletonArray(amount), data); + + uint256 fromBalance = _balances[id][from]; + require(fromBalance >= amount, "ERC1155: insufficient balance for transfer"); + unchecked { + _balances[id][from] = fromBalance - amount; + } + _balances[id][to] += amount; + + emit TransferSingle(operator, from, to, id, amount); + + _doSafeTransferAcceptanceCheck(operator, from, to, id, amount, data); + } + + /** + * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_safeTransferFrom}. + * + * Emits a {TransferBatch} event. + * + * Requirements: + * + * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the + * acceptance magic value. + */ + function _safeBatchTransferFrom( + address from, + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) internal virtual { + require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch"); + require(to != address(0), "ERC1155: transfer to the zero address"); + + address operator = _msgSender(); + + _beforeTokenTransfer(operator, from, to, ids, amounts, data); + + for (uint256 i = 0; i < ids.length; ++i) { + uint256 id = ids[i]; + uint256 amount = amounts[i]; + + uint256 fromBalance = _balances[id][from]; + require(fromBalance >= amount, "ERC1155: insufficient balance for transfer"); + unchecked { + _balances[id][from] = fromBalance - amount; + } + _balances[id][to] += amount; + } + + emit TransferBatch(operator, from, to, ids, amounts); + + _doSafeBatchTransferAcceptanceCheck(operator, from, to, ids, amounts, data); + } + + /** + * @dev Sets a new URI for all token types, by relying on the token type ID + * substitution mechanism + * https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. + * + * By this mechanism, any occurrence of the `\{id\}` substring in either the + * URI or any of the amounts in the JSON file at said URI will be replaced by + * clients with the token type ID. + * + * For example, the `https://token-cdn-domain/\{id\}.json` URI would be + * interpreted by clients as + * `https://token-cdn-domain/000000000000000000000000000000000000000000000000000000000004cce0.json` + * for token type ID 0x4cce0. + * + * See {uri}. + * + * Because these URIs cannot be meaningfully represented by the {URI} event, + * this function emits no events. + */ + function _setURI(string memory newuri) internal virtual { + _uri = newuri; + } + + /** + * @dev Creates `amount` tokens of token type `id`, and assigns them to `to`. + * + * Emits a {TransferSingle} event. + * + * Requirements: + * + * - `to` cannot be the zero address. + * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the + * acceptance magic value. + */ + function _mint( + address to, + uint256 id, + uint256 amount, + bytes memory data + ) internal virtual { + require(to != address(0), "ERC1155: mint to the zero address"); + + address operator = _msgSender(); + + _beforeTokenTransfer(operator, address(0), to, _asSingletonArray(id), _asSingletonArray(amount), data); + + _balances[id][to] += amount; + emit TransferSingle(operator, address(0), to, id, amount); + + _doSafeTransferAcceptanceCheck(operator, address(0), to, id, amount, data); + } + + /** + * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_mint}. + * + * Requirements: + * + * - `ids` and `amounts` must have the same length. + * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the + * acceptance magic value. + */ + function _mintBatch( + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) internal virtual { + require(to != address(0), "ERC1155: mint to the zero address"); + require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch"); + + address operator = _msgSender(); + + _beforeTokenTransfer(operator, address(0), to, ids, amounts, data); + + for (uint256 i = 0; i < ids.length; i++) { + _balances[ids[i]][to] += amounts[i]; + } + + emit TransferBatch(operator, address(0), to, ids, amounts); + + _doSafeBatchTransferAcceptanceCheck(operator, address(0), to, ids, amounts, data); + } + + /** + * @dev Destroys `amount` tokens of token type `id` from `from` + * + * Requirements: + * + * - `from` cannot be the zero address. + * - `from` must have at least `amount` tokens of token type `id`. + */ + function _burn( + address from, + uint256 id, + uint256 amount + ) internal virtual { + require(from != address(0), "ERC1155: burn from the zero address"); + + address operator = _msgSender(); + + _beforeTokenTransfer(operator, from, address(0), _asSingletonArray(id), _asSingletonArray(amount), ""); + + uint256 fromBalance = _balances[id][from]; + require(fromBalance >= amount, "ERC1155: burn amount exceeds balance"); + unchecked { + _balances[id][from] = fromBalance - amount; + } + + emit TransferSingle(operator, from, address(0), id, amount); + } + + /** + * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_burn}. + * + * Requirements: + * + * - `ids` and `amounts` must have the same length. + */ + function _burnBatch( + address from, + uint256[] memory ids, + uint256[] memory amounts + ) internal virtual { + require(from != address(0), "ERC1155: burn from the zero address"); + require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch"); + + address operator = _msgSender(); + + _beforeTokenTransfer(operator, from, address(0), ids, amounts, ""); + + for (uint256 i = 0; i < ids.length; i++) { + uint256 id = ids[i]; + uint256 amount = amounts[i]; + + uint256 fromBalance = _balances[id][from]; + require(fromBalance >= amount, "ERC1155: burn amount exceeds balance"); + unchecked { + _balances[id][from] = fromBalance - amount; + } + } + + emit TransferBatch(operator, from, address(0), ids, amounts); + } + + /** + * @dev Approve `operator` to operate on all of `owner` tokens + * + * Emits a {ApprovalForAll} event. + */ + function _setApprovalForAll( + address owner, + address operator, + bool approved + ) internal virtual { + require(owner != operator, "ERC1155: setting approval status for self"); + _operatorApprovals[owner][operator] = approved; + emit ApprovalForAll(owner, operator, approved); + } + + /** + * @dev Hook that is called before any token transfer. This includes minting + * and burning, as well as batched variants. + * + * The same hook is called on both single and batched variants. For single + * transfers, the length of the `id` and `amount` arrays will be 1. + * + * Calling conditions (for each `id` and `amount` pair): + * + * - When `from` and `to` are both non-zero, `amount` of ``from``'s tokens + * of token type `id` will be transferred to `to`. + * - When `from` is zero, `amount` tokens of token type `id` will be minted + * for `to`. + * - when `to` is zero, `amount` of ``from``'s tokens of token type `id` + * will be burned. + * - `from` and `to` are never both zero. + * - `ids` and `amounts` have the same, non-zero length. + * + * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. + */ + function _beforeTokenTransfer( + address operator, + address from, + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) internal virtual {} + + function _doSafeTransferAcceptanceCheck( + address operator, + address from, + address to, + uint256 id, + uint256 amount, + bytes memory data + ) private { + if (to.isContract()) { + try IERC1155Receiver(to).onERC1155Received(operator, from, id, amount, data) returns (bytes4 response) { + if (response != IERC1155Receiver.onERC1155Received.selector) { + revert("ERC1155: ERC1155Receiver rejected tokens"); + } + } catch Error(string memory reason) { + revert(reason); + } catch { + revert("ERC1155: transfer to non ERC1155Receiver implementer"); + } + } + } + + function _doSafeBatchTransferAcceptanceCheck( + address operator, + address from, + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) private { + if (to.isContract()) { + try IERC1155Receiver(to).onERC1155BatchReceived(operator, from, ids, amounts, data) returns ( + bytes4 response + ) { + if (response != IERC1155Receiver.onERC1155BatchReceived.selector) { + revert("ERC1155: ERC1155Receiver rejected tokens"); + } + } catch Error(string memory reason) { + revert(reason); + } catch { + revert("ERC1155: transfer to non ERC1155Receiver implementer"); + } + } + } + + function _asSingletonArray(uint256 element) private pure returns (uint256[] memory) { + uint256[] memory array = new uint256[](1); + array[0] = element; + + return array; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol new file mode 100644 index 0000000000..6c93eddd12 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol @@ -0,0 +1,125 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC1155/IERC1155.sol) + +pragma solidity ^0.8.0; + +import "../../utils/introspection/IERC165.sol"; + +/** + * @dev Required interface of an ERC1155 compliant contract, as defined in the + * https://eips.ethereum.org/EIPS/eip-1155[EIP]. + * + * _Available since v3.1._ + */ +interface IERC1155 is IERC165 { + /** + * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`. + */ + event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value); + + /** + * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all + * transfers. + */ + event TransferBatch( + address indexed operator, + address indexed from, + address indexed to, + uint256[] ids, + uint256[] values + ); + + /** + * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to + * `approved`. + */ + event ApprovalForAll(address indexed account, address indexed operator, bool approved); + + /** + * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. + * + * If an {URI} event was emitted for `id`, the standard + * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value + * returned by {IERC1155MetadataURI-uri}. + */ + event URI(string value, uint256 indexed id); + + /** + * @dev Returns the amount of tokens of token type `id` owned by `account`. + * + * Requirements: + * + * - `account` cannot be the zero address. + */ + function balanceOf(address account, uint256 id) external view returns (uint256); + + /** + * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. + * + * Requirements: + * + * - `accounts` and `ids` must have the same length. + */ + function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids) + external + view + returns (uint256[] memory); + + /** + * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, + * + * Emits an {ApprovalForAll} event. + * + * Requirements: + * + * - `operator` cannot be the caller. + */ + function setApprovalForAll(address operator, bool approved) external; + + /** + * @dev Returns true if `operator` is approved to transfer ``account``'s tokens. + * + * See {setApprovalForAll}. + */ + function isApprovedForAll(address account, address operator) external view returns (bool); + + /** + * @dev Transfers `amount` tokens of token type `id` from `from` to `to`. + * + * Emits a {TransferSingle} event. + * + * Requirements: + * + * - `to` cannot be the zero address. + * - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}. + * - `from` must have a balance of tokens of type `id` of at least `amount`. + * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the + * acceptance magic value. + */ + function safeTransferFrom( + address from, + address to, + uint256 id, + uint256 amount, + bytes calldata data + ) external; + + /** + * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. + * + * Emits a {TransferBatch} event. + * + * Requirements: + * + * - `ids` and `amounts` must have the same length. + * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the + * acceptance magic value. + */ + function safeBatchTransferFrom( + address from, + address to, + uint256[] calldata ids, + uint256[] calldata amounts, + bytes calldata data + ) external; +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol new file mode 100644 index 0000000000..e19d64f085 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol @@ -0,0 +1,53 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC1155/IERC1155Receiver.sol) + +pragma solidity ^0.8.0; + +import "../../utils/introspection/IERC165.sol"; + +/** + * @dev _Available since v3.1._ + */ +interface IERC1155Receiver is IERC165 { + /** + @dev Handles the receipt of a single ERC1155 token type. This function is + called at the end of a `safeTransferFrom` after the balance has been updated. + To accept the transfer, this must return + `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` + (i.e. 0xf23a6e61, or its own function selector). + @param operator The address which initiated the transfer (i.e. msg.sender) + @param from The address which previously owned the token + @param id The ID of the token being transferred + @param value The amount of tokens being transferred + @param data Additional data with no specified format + @return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed + */ + function onERC1155Received( + address operator, + address from, + uint256 id, + uint256 value, + bytes calldata data + ) external returns (bytes4); + + /** + @dev Handles the receipt of a multiple ERC1155 token types. This function + is called at the end of a `safeBatchTransferFrom` after the balances have + been updated. To accept the transfer(s), this must return + `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` + (i.e. 0xbc197c81, or its own function selector). + @param operator The address which initiated the batch transfer (i.e. msg.sender) + @param from The address which previously owned the token + @param ids An array containing ids of each token being transferred (order and length must match values array) + @param values An array containing amounts of each token being transferred (order and length must match ids array) + @param data Additional data with no specified format + @return `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` if transfer is allowed + */ + function onERC1155BatchReceived( + address operator, + address from, + uint256[] calldata ids, + uint256[] calldata values, + bytes calldata data + ) external returns (bytes4); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol new file mode 100644 index 0000000000..3608d81241 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol @@ -0,0 +1,40 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC1155/extensions/ERC1155Burnable.sol) + +pragma solidity ^0.8.0; + +import "../ERC1155.sol"; + +/** + * @dev Extension of {ERC1155} that allows token holders to destroy both their + * own tokens and those that they have been approved to use. + * + * _Available since v3.1._ + */ +abstract contract ERC1155Burnable is ERC1155 { + function burn( + address account, + uint256 id, + uint256 value + ) public virtual { + require( + account == _msgSender() || isApprovedForAll(account, _msgSender()), + "ERC1155: caller is not owner nor approved" + ); + + _burn(account, id, value); + } + + function burnBatch( + address account, + uint256[] memory ids, + uint256[] memory values + ) public virtual { + require( + account == _msgSender() || isApprovedForAll(account, _msgSender()), + "ERC1155: caller is not owner nor approved" + ); + + _burnBatch(account, ids, values); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol new file mode 100644 index 0000000000..189c248716 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol @@ -0,0 +1,38 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC1155/extensions/ERC1155Pausable.sol) + +pragma solidity ^0.8.0; + +import "../ERC1155.sol"; +import "../../../security/Pausable.sol"; + +/** + * @dev ERC1155 token with pausable token transfers, minting and burning. + * + * Useful for scenarios such as preventing trades until the end of an evaluation + * period, or having an emergency switch for freezing all token transfers in the + * event of a large bug. + * + * _Available since v3.1._ + */ +abstract contract ERC1155Pausable is ERC1155, Pausable { + /** + * @dev See {ERC1155-_beforeTokenTransfer}. + * + * Requirements: + * + * - the contract must not be paused. + */ + function _beforeTokenTransfer( + address operator, + address from, + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) internal virtual override { + super._beforeTokenTransfer(operator, from, to, ids, amounts, data); + + require(!paused(), "ERC1155Pausable: token transfer while paused"); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol new file mode 100644 index 0000000000..10552f26ad --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol @@ -0,0 +1,58 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC1155/extensions/ERC1155Supply.sol) + +pragma solidity ^0.8.0; + +import "../ERC1155.sol"; + +/** + * @dev Extension of ERC1155 that adds tracking of total supply per id. + * + * Useful for scenarios where Fungible and Non-fungible tokens have to be + * clearly identified. Note: While a totalSupply of 1 might mean the + * corresponding is an NFT, there is no guarantees that no other token with the + * same id are not going to be minted. + */ +abstract contract ERC1155Supply is ERC1155 { + mapping(uint256 => uint256) private _totalSupply; + + /** + * @dev Total amount of tokens in with a given id. + */ + function totalSupply(uint256 id) public view virtual returns (uint256) { + return _totalSupply[id]; + } + + /** + * @dev Indicates whether any token exist with a given id, or not. + */ + function exists(uint256 id) public view virtual returns (bool) { + return ERC1155Supply.totalSupply(id) > 0; + } + + /** + * @dev See {ERC1155-_beforeTokenTransfer}. + */ + function _beforeTokenTransfer( + address operator, + address from, + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) internal virtual override { + super._beforeTokenTransfer(operator, from, to, ids, amounts, data); + + if (from == address(0)) { + for (uint256 i = 0; i < ids.length; ++i) { + _totalSupply[ids[i]] += amounts[i]; + } + } + + if (to == address(0)) { + for (uint256 i = 0; i < ids.length; ++i) { + _totalSupply[ids[i]] -= amounts[i]; + } + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol new file mode 100644 index 0000000000..9f3522c799 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol @@ -0,0 +1,22 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC1155/extensions/IERC1155MetadataURI.sol) + +pragma solidity ^0.8.0; + +import "../IERC1155.sol"; + +/** + * @dev Interface of the optional ERC1155MetadataExtension interface, as defined + * in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[EIP]. + * + * _Available since v3.1._ + */ +interface IERC1155MetadataURI is IERC1155 { + /** + * @dev Returns the URI for token type `id`. + * + * If the `\{id\}` substring is present in the URI, it must be replaced by + * clients with the actual token type ID. + */ + function uri(uint256 id) external view returns (string memory); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol new file mode 100644 index 0000000000..1241f2ad1e --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol @@ -0,0 +1,126 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC1155/presets/ERC1155PresetMinterPauser.sol) + +pragma solidity ^0.8.0; + +import "../ERC1155.sol"; +import "../extensions/ERC1155Burnable.sol"; +import "../extensions/ERC1155Pausable.sol"; +import "../../../access/AccessControlEnumerable.sol"; +import "../../../utils/Context.sol"; + +/** + * @dev {ERC1155} token, including: + * + * - ability for holders to burn (destroy) their tokens + * - a minter role that allows for token minting (creation) + * - a pauser role that allows to stop all token transfers + * + * This contract uses {AccessControl} to lock permissioned functions using the + * different roles - head to its documentation for details. + * + * The account that deploys the contract will be granted the minter and pauser + * roles, as well as the default admin role, which will let it grant both minter + * and pauser roles to other accounts. + */ +contract ERC1155PresetMinterPauser is Context, AccessControlEnumerable, ERC1155Burnable, ERC1155Pausable { + bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); + bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); + + /** + * @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE`, and `PAUSER_ROLE` to the account that + * deploys the contract. + */ + constructor(string memory uri) ERC1155(uri) { + _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); + + _setupRole(MINTER_ROLE, _msgSender()); + _setupRole(PAUSER_ROLE, _msgSender()); + } + + /** + * @dev Creates `amount` new tokens for `to`, of token type `id`. + * + * See {ERC1155-_mint}. + * + * Requirements: + * + * - the caller must have the `MINTER_ROLE`. + */ + function mint( + address to, + uint256 id, + uint256 amount, + bytes memory data + ) public virtual { + require(hasRole(MINTER_ROLE, _msgSender()), "ERC1155PresetMinterPauser: must have minter role to mint"); + + _mint(to, id, amount, data); + } + + /** + * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] variant of {mint}. + */ + function mintBatch( + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) public virtual { + require(hasRole(MINTER_ROLE, _msgSender()), "ERC1155PresetMinterPauser: must have minter role to mint"); + + _mintBatch(to, ids, amounts, data); + } + + /** + * @dev Pauses all token transfers. + * + * See {ERC1155Pausable} and {Pausable-_pause}. + * + * Requirements: + * + * - the caller must have the `PAUSER_ROLE`. + */ + function pause() public virtual { + require(hasRole(PAUSER_ROLE, _msgSender()), "ERC1155PresetMinterPauser: must have pauser role to pause"); + _pause(); + } + + /** + * @dev Unpauses all token transfers. + * + * See {ERC1155Pausable} and {Pausable-_unpause}. + * + * Requirements: + * + * - the caller must have the `PAUSER_ROLE`. + */ + function unpause() public virtual { + require(hasRole(PAUSER_ROLE, _msgSender()), "ERC1155PresetMinterPauser: must have pauser role to unpause"); + _unpause(); + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) + public + view + virtual + override(AccessControlEnumerable, ERC1155) + returns (bool) + { + return super.supportsInterface(interfaceId); + } + + function _beforeTokenTransfer( + address operator, + address from, + address to, + uint256[] memory ids, + uint256[] memory amounts, + bytes memory data + ) internal virtual override(ERC1155, ERC1155Pausable) { + super._beforeTokenTransfer(operator, from, to, ids, amounts, data); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol new file mode 100644 index 0000000000..c5d737a1c8 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol @@ -0,0 +1,31 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC1155/utils/ERC1155Holder.sol) + +pragma solidity ^0.8.0; + +import "./ERC1155Receiver.sol"; + +/** + * @dev _Available since v3.1._ + */ +contract ERC1155Holder is ERC1155Receiver { + function onERC1155Received( + address, + address, + uint256, + uint256, + bytes memory + ) public virtual override returns (bytes4) { + return this.onERC1155Received.selector; + } + + function onERC1155BatchReceived( + address, + address, + uint256[] memory, + uint256[] memory, + bytes memory + ) public virtual override returns (bytes4) { + return this.onERC1155BatchReceived.selector; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol new file mode 100644 index 0000000000..b0d2f5dee1 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol @@ -0,0 +1,19 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC1155/utils/ERC1155Receiver.sol) + +pragma solidity ^0.8.0; + +import "../IERC1155Receiver.sol"; +import "../../../utils/introspection/ERC165.sol"; + +/** + * @dev _Available since v3.1._ + */ +abstract contract ERC1155Receiver is ERC165, IERC1155Receiver { + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { + return interfaceId == type(IERC1155Receiver).interfaceId || super.supportsInterface(interfaceId); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol new file mode 100644 index 0000000000..a8c60e5956 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol @@ -0,0 +1,356 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/ERC20.sol) + +pragma solidity ^0.8.0; + +import "./IERC20.sol"; +import "./extensions/IERC20Metadata.sol"; +import "../../utils/Context.sol"; + +/** + * @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.zeppelin.solutions/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 is Context, IERC20, IERC20Metadata { + 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 override returns (string memory) { + return _name; + } + + /** + * @dev Returns the symbol of the token, usually a shorter version of the + * name. + */ + function symbol() public view virtual override 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 override returns (uint8) { + return 18; + } + + /** + * @dev See {IERC20-totalSupply}. + */ + function totalSupply() public view virtual override returns (uint256) { + return _totalSupply; + } + + /** + * @dev See {IERC20-balanceOf}. + */ + function balanceOf(address account) public view virtual override returns (uint256) { + return _balances[account]; + } + + /** + * @dev See {IERC20-transfer}. + * + * Requirements: + * + * - `recipient` cannot be the zero address. + * - the caller must have a balance of at least `amount`. + */ + function transfer(address recipient, uint256 amount) public virtual override returns (bool) { + _transfer(_msgSender(), recipient, amount); + return true; + } + + /** + * @dev See {IERC20-allowance}. + */ + function allowance(address owner, address spender) public view virtual override returns (uint256) { + return _allowances[owner][spender]; + } + + /** + * @dev See {IERC20-approve}. + * + * Requirements: + * + * - `spender` cannot be the zero address. + */ + function approve(address spender, uint256 amount) public virtual override returns (bool) { + _approve(_msgSender(), 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}. + * + * Requirements: + * + * - `sender` and `recipient` cannot be the zero address. + * - `sender` must have a balance of at least `amount`. + * - the caller must have allowance for ``sender``'s tokens of at least + * `amount`. + */ + function transferFrom( + address sender, + address recipient, + uint256 amount + ) public virtual override returns (bool) { + _transfer(sender, recipient, amount); + + uint256 currentAllowance = _allowances[sender][_msgSender()]; + require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); + unchecked { + _approve(sender, _msgSender(), currentAllowance - 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) { + _approve(_msgSender(), spender, _allowances[_msgSender()][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) { + uint256 currentAllowance = _allowances[_msgSender()][spender]; + require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); + unchecked { + _approve(_msgSender(), spender, currentAllowance - subtractedValue); + } + + return true; + } + + /** + * @dev Moves `amount` of tokens from `sender` to `recipient`. + * + * 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: + * + * - `sender` cannot be the zero address. + * - `recipient` cannot be the zero address. + * - `sender` must have a balance of at least `amount`. + */ + function _transfer( + address sender, + address recipient, + uint256 amount + ) internal virtual { + require(sender != address(0), "ERC20: transfer from the zero address"); + require(recipient != address(0), "ERC20: transfer to the zero address"); + + _beforeTokenTransfer(sender, recipient, amount); + + uint256 senderBalance = _balances[sender]; + require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); + unchecked { + _balances[sender] = senderBalance - amount; + } + _balances[recipient] += amount; + + emit Transfer(sender, recipient, amount); + + _afterTokenTransfer(sender, recipient, 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; + _balances[account] += amount; + emit Transfer(address(0), 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; + } + _totalSupply -= amount; + + emit Transfer(account, address(0), 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; + emit Approval(owner, spender, 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/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol new file mode 100644 index 0000000000..ba210565b1 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol @@ -0,0 +1,82 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Interface of the ERC20 standard as defined in the EIP. + */ +interface IERC20 { + /** + * @dev Returns the amount of tokens in existence. + */ + function totalSupply() external view returns (uint256); + + /** + * @dev Returns the amount of tokens owned by `account`. + */ + function balanceOf(address account) external view returns (uint256); + + /** + * @dev Moves `amount` tokens from the caller's account to `recipient`. + * + * Returns a boolean value indicating whether the operation succeeded. + * + * Emits a {Transfer} event. + */ + function transfer(address recipient, uint256 amount) external returns (bool); + + /** + * @dev Returns the remaining number of tokens that `spender` will be + * allowed to spend on behalf of `owner` through {transferFrom}. This is + * zero by default. + * + * This value changes when {approve} or {transferFrom} are called. + */ + function allowance(address owner, address spender) external view returns (uint256); + + /** + * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. + * + * Returns a boolean value indicating whether the operation succeeded. + * + * IMPORTANT: Beware that changing an allowance with this method brings the risk + * that someone may use both the old and the new allowance by unfortunate + * transaction ordering. One possible solution to mitigate this race + * condition is to first reduce the spender's allowance to 0 and set the + * desired value afterwards: + * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 + * + * Emits an {Approval} event. + */ + function approve(address spender, uint256 amount) external returns (bool); + + /** + * @dev Moves `amount` tokens from `sender` to `recipient` using the + * allowance mechanism. `amount` is then deducted from the caller's + * allowance. + * + * Returns a boolean value indicating whether the operation succeeded. + * + * Emits a {Transfer} event. + */ + function transferFrom( + address sender, + address recipient, + uint256 amount + ) external returns (bool); + + /** + * @dev Emitted when `value` tokens are moved from one account (`from`) to + * another (`to`). + * + * Note that `value` may be zero. + */ + event Transfer(address indexed from, address indexed to, uint256 value); + + /** + * @dev Emitted when the allowance of a `spender` for an `owner` is set by + * a call to {approve}. `value` is the new allowance. + */ + event Approval(address indexed owner, address indexed spender, uint256 value); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol new file mode 100644 index 0000000000..e5e00f97c7 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Burnable.sol) + +pragma solidity ^0.8.0; + +import "../ERC20.sol"; +import "../../../utils/Context.sol"; + +/** + * @dev Extension of {ERC20} that allows token holders to destroy both their own + * tokens and those that they have an allowance for, in a way that can be + * recognized off-chain (via event analysis). + */ +abstract contract ERC20Burnable is Context, ERC20 { + /** + * @dev Destroys `amount` tokens from the caller. + * + * See {ERC20-_burn}. + */ + function burn(uint256 amount) public virtual { + _burn(_msgSender(), amount); + } + + /** + * @dev Destroys `amount` tokens from `account`, deducting from the caller's + * allowance. + * + * See {ERC20-_burn} and {ERC20-allowance}. + * + * Requirements: + * + * - the caller must have allowance for ``accounts``'s tokens of at least + * `amount`. + */ + function burnFrom(address account, uint256 amount) public virtual { + uint256 currentAllowance = allowance(account, _msgSender()); + require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance"); + unchecked { + _approve(account, _msgSender(), currentAllowance - amount); + } + _burn(account, amount); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol new file mode 100644 index 0000000000..88c12cd43a --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol @@ -0,0 +1,37 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Capped.sol) + +pragma solidity ^0.8.0; + +import "../ERC20.sol"; + +/** + * @dev Extension of {ERC20} that adds a cap to the supply of tokens. + */ +abstract contract ERC20Capped is ERC20 { + uint256 private immutable _cap; + + /** + * @dev Sets the value of the `cap`. This value is immutable, it can only be + * set once during construction. + */ + constructor(uint256 cap_) { + require(cap_ > 0, "ERC20Capped: cap is 0"); + _cap = cap_; + } + + /** + * @dev Returns the cap on the token's total supply. + */ + function cap() public view virtual returns (uint256) { + return _cap; + } + + /** + * @dev See {ERC20-_mint}. + */ + function _mint(address account, uint256 amount) internal virtual override { + require(ERC20.totalSupply() + amount <= cap(), "ERC20Capped: cap exceeded"); + super._mint(account, amount); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol new file mode 100644 index 0000000000..c16ae0387b --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol @@ -0,0 +1,77 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20FlashMint.sol) + +pragma solidity ^0.8.0; + +import "../../../interfaces/IERC3156.sol"; +import "../ERC20.sol"; + +/** + * @dev Implementation of the ERC3156 Flash loans extension, as defined in + * https://eips.ethereum.org/EIPS/eip-3156[ERC-3156]. + * + * Adds the {flashLoan} method, which provides flash loan support at the token + * level. By default there is no fee, but this can be changed by overriding {flashFee}. + * + * _Available since v4.1._ + */ +abstract contract ERC20FlashMint is ERC20, IERC3156FlashLender { + bytes32 private constant _RETURN_VALUE = keccak256("ERC3156FlashBorrower.onFlashLoan"); + + /** + * @dev Returns the maximum amount of tokens available for loan. + * @param token The address of the token that is requested. + * @return The amont of token that can be loaned. + */ + function maxFlashLoan(address token) public view override returns (uint256) { + return token == address(this) ? type(uint256).max - ERC20.totalSupply() : 0; + } + + /** + * @dev Returns the fee applied when doing flash loans. By default this + * implementation has 0 fees. This function can be overloaded to make + * the flash loan mechanism deflationary. + * @param token The token to be flash loaned. + * @param amount The amount of tokens to be loaned. + * @return The fees applied to the corresponding flash loan. + */ + function flashFee(address token, uint256 amount) public view virtual override returns (uint256) { + require(token == address(this), "ERC20FlashMint: wrong token"); + // silence warning about unused variable without the addition of bytecode. + amount; + return 0; + } + + /** + * @dev Performs a flash loan. New tokens are minted and sent to the + * `receiver`, who is required to implement the {IERC3156FlashBorrower} + * interface. By the end of the flash loan, the receiver is expected to own + * amount + fee tokens and have them approved back to the token contract itself so + * they can be burned. + * @param receiver The receiver of the flash loan. Should implement the + * {IERC3156FlashBorrower.onFlashLoan} interface. + * @param token The token to be flash loaned. Only `address(this)` is + * supported. + * @param amount The amount of tokens to be loaned. + * @param data An arbitrary datafield that is passed to the receiver. + * @return `true` is the flash loan was successful. + */ + function flashLoan( + IERC3156FlashBorrower receiver, + address token, + uint256 amount, + bytes calldata data + ) public virtual override returns (bool) { + uint256 fee = flashFee(token, amount); + _mint(address(receiver), amount); + require( + receiver.onFlashLoan(msg.sender, token, amount, fee, data) == _RETURN_VALUE, + "ERC20FlashMint: invalid return value" + ); + uint256 currentAllowance = allowance(address(receiver), address(this)); + require(currentAllowance >= amount + fee, "ERC20FlashMint: allowance does not allow refund"); + _approve(address(receiver), address(this), currentAllowance - amount - fee); + _burn(address(receiver), amount + fee); + return true; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol new file mode 100644 index 0000000000..6bbedade4c --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Pausable.sol) + +pragma solidity ^0.8.0; + +import "../ERC20.sol"; +import "../../../security/Pausable.sol"; + +/** + * @dev ERC20 token with pausable token transfers, minting and burning. + * + * Useful for scenarios such as preventing trades until the end of an evaluation + * period, or having an emergency switch for freezing all token transfers in the + * event of a large bug. + */ +abstract contract ERC20Pausable is ERC20, Pausable { + /** + * @dev See {ERC20-_beforeTokenTransfer}. + * + * Requirements: + * + * - the contract must not be paused. + */ + function _beforeTokenTransfer( + address from, + address to, + uint256 amount + ) internal virtual override { + super._beforeTokenTransfer(from, to, amount); + + require(!paused(), "ERC20Pausable: token transfer while paused"); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol new file mode 100644 index 0000000000..fde8637030 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol @@ -0,0 +1,195 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Snapshot.sol) + +pragma solidity ^0.8.0; + +import "../ERC20.sol"; +import "../../../utils/Arrays.sol"; +import "../../../utils/Counters.sol"; + +/** + * @dev This contract extends an ERC20 token with a snapshot mechanism. When a snapshot is created, the balances and + * total supply at the time are recorded for later access. + * + * This can be used to safely create mechanisms based on token balances such as trustless dividends or weighted voting. + * In naive implementations it's possible to perform a "double spend" attack by reusing the same balance from different + * accounts. By using snapshots to calculate dividends or voting power, those attacks no longer apply. It can also be + * used to create an efficient ERC20 forking mechanism. + * + * Snapshots are created by the internal {_snapshot} function, which will emit the {Snapshot} event and return a + * snapshot id. To get the total supply at the time of a snapshot, call the function {totalSupplyAt} with the snapshot + * id. To get the balance of an account at the time of a snapshot, call the {balanceOfAt} function with the snapshot id + * and the account address. + * + * NOTE: Snapshot policy can be customized by overriding the {_getCurrentSnapshotId} method. For example, having it + * return `block.number` will trigger the creation of snapshot at the begining of each new block. When overridding this + * function, be careful about the monotonicity of its result. Non-monotonic snapshot ids will break the contract. + * + * Implementing snapshots for every block using this method will incur significant gas costs. For a gas-efficient + * alternative consider {ERC20Votes}. + * + * ==== Gas Costs + * + * Snapshots are efficient. Snapshot creation is _O(1)_. Retrieval of balances or total supply from a snapshot is _O(log + * n)_ in the number of snapshots that have been created, although _n_ for a specific account will generally be much + * smaller since identical balances in subsequent snapshots are stored as a single entry. + * + * There is a constant overhead for normal ERC20 transfers due to the additional snapshot bookkeeping. This overhead is + * only significant for the first transfer that immediately follows a snapshot for a particular account. Subsequent + * transfers will have normal cost until the next snapshot, and so on. + */ + +abstract contract ERC20Snapshot is ERC20 { + // Inspired by Jordi Baylina's MiniMeToken to record historical balances: + // https://github.com/Giveth/minimd/blob/ea04d950eea153a04c51fa510b068b9dded390cb/contracts/MiniMeToken.sol + + using Arrays for uint256[]; + using Counters for Counters.Counter; + + // Snapshotted values have arrays of ids and the value corresponding to that id. These could be an array of a + // Snapshot struct, but that would impede usage of functions that work on an array. + struct Snapshots { + uint256[] ids; + uint256[] values; + } + + mapping(address => Snapshots) private _accountBalanceSnapshots; + Snapshots private _totalSupplySnapshots; + + // Snapshot ids increase monotonically, with the first value being 1. An id of 0 is invalid. + Counters.Counter private _currentSnapshotId; + + /** + * @dev Emitted by {_snapshot} when a snapshot identified by `id` is created. + */ + event Snapshot(uint256 id); + + /** + * @dev Creates a new snapshot and returns its snapshot id. + * + * Emits a {Snapshot} event that contains the same id. + * + * {_snapshot} is `internal` and you have to decide how to expose it externally. Its usage may be restricted to a + * set of accounts, for example using {AccessControl}, or it may be open to the public. + * + * [WARNING] + * ==== + * While an open way of calling {_snapshot} is required for certain trust minimization mechanisms such as forking, + * you must consider that it can potentially be used by attackers in two ways. + * + * First, it can be used to increase the cost of retrieval of values from snapshots, although it will grow + * logarithmically thus rendering this attack ineffective in the long term. Second, it can be used to target + * specific accounts and increase the cost of ERC20 transfers for them, in the ways specified in the Gas Costs + * section above. + * + * We haven't measured the actual numbers; if this is something you're interested in please reach out to us. + * ==== + */ + function _snapshot() internal virtual returns (uint256) { + _currentSnapshotId.increment(); + + uint256 currentId = _getCurrentSnapshotId(); + emit Snapshot(currentId); + return currentId; + } + + /** + * @dev Get the current snapshotId + */ + function _getCurrentSnapshotId() internal view virtual returns (uint256) { + return _currentSnapshotId.current(); + } + + /** + * @dev Retrieves the balance of `account` at the time `snapshotId` was created. + */ + function balanceOfAt(address account, uint256 snapshotId) public view virtual returns (uint256) { + (bool snapshotted, uint256 value) = _valueAt(snapshotId, _accountBalanceSnapshots[account]); + + return snapshotted ? value : balanceOf(account); + } + + /** + * @dev Retrieves the total supply at the time `snapshotId` was created. + */ + function totalSupplyAt(uint256 snapshotId) public view virtual returns (uint256) { + (bool snapshotted, uint256 value) = _valueAt(snapshotId, _totalSupplySnapshots); + + return snapshotted ? value : totalSupply(); + } + + // Update balance and/or total supply snapshots before the values are modified. This is implemented + // in the _beforeTokenTransfer hook, which is executed for _mint, _burn, and _transfer operations. + function _beforeTokenTransfer( + address from, + address to, + uint256 amount + ) internal virtual override { + super._beforeTokenTransfer(from, to, amount); + + if (from == address(0)) { + // mint + _updateAccountSnapshot(to); + _updateTotalSupplySnapshot(); + } else if (to == address(0)) { + // burn + _updateAccountSnapshot(from); + _updateTotalSupplySnapshot(); + } else { + // transfer + _updateAccountSnapshot(from); + _updateAccountSnapshot(to); + } + } + + function _valueAt(uint256 snapshotId, Snapshots storage snapshots) private view returns (bool, uint256) { + require(snapshotId > 0, "ERC20Snapshot: id is 0"); + require(snapshotId <= _getCurrentSnapshotId(), "ERC20Snapshot: nonexistent id"); + + // When a valid snapshot is queried, there are three possibilities: + // a) The queried value was not modified after the snapshot was taken. Therefore, a snapshot entry was never + // created for this id, and all stored snapshot ids are smaller than the requested one. The value that corresponds + // to this id is the current one. + // b) The queried value was modified after the snapshot was taken. Therefore, there will be an entry with the + // requested id, and its value is the one to return. + // c) More snapshots were created after the requested one, and the queried value was later modified. There will be + // no entry for the requested id: the value that corresponds to it is that of the smallest snapshot id that is + // larger than the requested one. + // + // In summary, we need to find an element in an array, returning the index of the smallest value that is larger if + // it is not found, unless said value doesn't exist (e.g. when all values are smaller). Arrays.findUpperBound does + // exactly this. + + uint256 index = snapshots.ids.findUpperBound(snapshotId); + + if (index == snapshots.ids.length) { + return (false, 0); + } else { + return (true, snapshots.values[index]); + } + } + + function _updateAccountSnapshot(address account) private { + _updateSnapshot(_accountBalanceSnapshots[account], balanceOf(account)); + } + + function _updateTotalSupplySnapshot() private { + _updateSnapshot(_totalSupplySnapshots, totalSupply()); + } + + function _updateSnapshot(Snapshots storage snapshots, uint256 currentValue) private { + uint256 currentId = _getCurrentSnapshotId(); + if (_lastSnapshotId(snapshots.ids) < currentId) { + snapshots.ids.push(currentId); + snapshots.values.push(currentValue); + } + } + + function _lastSnapshotId(uint256[] storage ids) private view returns (uint256) { + if (ids.length == 0) { + return 0; + } else { + return ids[ids.length - 1]; + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol new file mode 100644 index 0000000000..f4fd21d3e5 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol @@ -0,0 +1,260 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Votes.sol) + +pragma solidity ^0.8.0; + +import "./draft-ERC20Permit.sol"; +import "../../../utils/math/Math.sol"; +import "../../../utils/math/SafeCast.sol"; +import "../../../utils/cryptography/ECDSA.sol"; + +/** + * @dev Extension of ERC20 to support Compound-like voting and delegation. This version is more generic than Compound's, + * and supports token supply up to 2^224^ - 1, while COMP is limited to 2^96^ - 1. + * + * NOTE: If exact COMP compatibility is required, use the {ERC20VotesComp} variant of this module. + * + * This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either + * by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting + * power can be queried through the public accessors {getVotes} and {getPastVotes}. + * + * By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it + * requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked. + * Enabling self-delegation can easily be done by overriding the {delegates} function. Keep in mind however that this + * will significantly increase the base gas cost of transfers. + * + * _Available since v4.2._ + */ +abstract contract ERC20Votes is ERC20Permit { + struct Checkpoint { + uint32 fromBlock; + uint224 votes; + } + + bytes32 private constant _DELEGATION_TYPEHASH = + keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)"); + + mapping(address => address) private _delegates; + mapping(address => Checkpoint[]) private _checkpoints; + Checkpoint[] private _totalSupplyCheckpoints; + + /** + * @dev Emitted when an account changes their delegate. + */ + event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate); + + /** + * @dev Emitted when a token transfer or delegate change results in changes to an account's voting power. + */ + event DelegateVotesChanged(address indexed delegate, uint256 previousBalance, uint256 newBalance); + + /** + * @dev Get the `pos`-th checkpoint for `account`. + */ + function checkpoints(address account, uint32 pos) public view virtual returns (Checkpoint memory) { + return _checkpoints[account][pos]; + } + + /** + * @dev Get number of checkpoints for `account`. + */ + function numCheckpoints(address account) public view virtual returns (uint32) { + return SafeCast.toUint32(_checkpoints[account].length); + } + + /** + * @dev Get the address `account` is currently delegating to. + */ + function delegates(address account) public view virtual returns (address) { + return _delegates[account]; + } + + /** + * @dev Gets the current votes balance for `account` + */ + function getVotes(address account) public view returns (uint256) { + uint256 pos = _checkpoints[account].length; + return pos == 0 ? 0 : _checkpoints[account][pos - 1].votes; + } + + /** + * @dev Retrieve the number of votes for `account` at the end of `blockNumber`. + * + * Requirements: + * + * - `blockNumber` must have been already mined + */ + function getPastVotes(address account, uint256 blockNumber) public view returns (uint256) { + require(blockNumber < block.number, "ERC20Votes: block not yet mined"); + return _checkpointsLookup(_checkpoints[account], blockNumber); + } + + /** + * @dev Retrieve the `totalSupply` at the end of `blockNumber`. Note, this value is the sum of all balances. + * It is but NOT the sum of all the delegated votes! + * + * Requirements: + * + * - `blockNumber` must have been already mined + */ + function getPastTotalSupply(uint256 blockNumber) public view returns (uint256) { + require(blockNumber < block.number, "ERC20Votes: block not yet mined"); + return _checkpointsLookup(_totalSupplyCheckpoints, blockNumber); + } + + /** + * @dev Lookup a value in a list of (sorted) checkpoints. + */ + function _checkpointsLookup(Checkpoint[] storage ckpts, uint256 blockNumber) private view returns (uint256) { + // We run a binary search to look for the earliest checkpoint taken after `blockNumber`. + // + // During the loop, the index of the wanted checkpoint remains in the range [low-1, high). + // With each iteration, either `low` or `high` is moved towards the middle of the range to maintain the invariant. + // - If the middle checkpoint is after `blockNumber`, we look in [low, mid) + // - If the middle checkpoint is before or equal to `blockNumber`, we look in [mid+1, high) + // Once we reach a single value (when low == high), we've found the right checkpoint at the index high-1, if not + // out of bounds (in which case we're looking too far in the past and the result is 0). + // Note that if the latest checkpoint available is exactly for `blockNumber`, we end up with an index that is + // past the end of the array, so we technically don't find a checkpoint after `blockNumber`, but it works out + // the same. + uint256 high = ckpts.length; + uint256 low = 0; + while (low < high) { + uint256 mid = Math.average(low, high); + if (ckpts[mid].fromBlock > blockNumber) { + high = mid; + } else { + low = mid + 1; + } + } + + return high == 0 ? 0 : ckpts[high - 1].votes; + } + + /** + * @dev Delegate votes from the sender to `delegatee`. + */ + function delegate(address delegatee) public virtual { + _delegate(_msgSender(), delegatee); + } + + /** + * @dev Delegates votes from signer to `delegatee` + */ + function delegateBySig( + address delegatee, + uint256 nonce, + uint256 expiry, + uint8 v, + bytes32 r, + bytes32 s + ) public virtual { + require(block.timestamp <= expiry, "ERC20Votes: signature expired"); + address signer = ECDSA.recover( + _hashTypedDataV4(keccak256(abi.encode(_DELEGATION_TYPEHASH, delegatee, nonce, expiry))), + v, + r, + s + ); + require(nonce == _useNonce(signer), "ERC20Votes: invalid nonce"); + _delegate(signer, delegatee); + } + + /** + * @dev Maximum token supply. Defaults to `type(uint224).max` (2^224^ - 1). + */ + function _maxSupply() internal view virtual returns (uint224) { + return type(uint224).max; + } + + /** + * @dev Snapshots the totalSupply after it has been increased. + */ + function _mint(address account, uint256 amount) internal virtual override { + super._mint(account, amount); + require(totalSupply() <= _maxSupply(), "ERC20Votes: total supply risks overflowing votes"); + + _writeCheckpoint(_totalSupplyCheckpoints, _add, amount); + } + + /** + * @dev Snapshots the totalSupply after it has been decreased. + */ + function _burn(address account, uint256 amount) internal virtual override { + super._burn(account, amount); + + _writeCheckpoint(_totalSupplyCheckpoints, _subtract, amount); + } + + /** + * @dev Move voting power when tokens are transferred. + * + * Emits a {DelegateVotesChanged} event. + */ + function _afterTokenTransfer( + address from, + address to, + uint256 amount + ) internal virtual override { + super._afterTokenTransfer(from, to, amount); + + _moveVotingPower(delegates(from), delegates(to), amount); + } + + /** + * @dev Change delegation for `delegator` to `delegatee`. + * + * Emits events {DelegateChanged} and {DelegateVotesChanged}. + */ + function _delegate(address delegator, address delegatee) internal virtual { + address currentDelegate = delegates(delegator); + uint256 delegatorBalance = balanceOf(delegator); + _delegates[delegator] = delegatee; + + emit DelegateChanged(delegator, currentDelegate, delegatee); + + _moveVotingPower(currentDelegate, delegatee, delegatorBalance); + } + + function _moveVotingPower( + address src, + address dst, + uint256 amount + ) private { + if (src != dst && amount > 0) { + if (src != address(0)) { + (uint256 oldWeight, uint256 newWeight) = _writeCheckpoint(_checkpoints[src], _subtract, amount); + emit DelegateVotesChanged(src, oldWeight, newWeight); + } + + if (dst != address(0)) { + (uint256 oldWeight, uint256 newWeight) = _writeCheckpoint(_checkpoints[dst], _add, amount); + emit DelegateVotesChanged(dst, oldWeight, newWeight); + } + } + } + + function _writeCheckpoint( + Checkpoint[] storage ckpts, + function(uint256, uint256) view returns (uint256) op, + uint256 delta + ) private returns (uint256 oldWeight, uint256 newWeight) { + uint256 pos = ckpts.length; + oldWeight = pos == 0 ? 0 : ckpts[pos - 1].votes; + newWeight = op(oldWeight, delta); + + if (pos > 0 && ckpts[pos - 1].fromBlock == block.number) { + ckpts[pos - 1].votes = SafeCast.toUint224(newWeight); + } else { + ckpts.push(Checkpoint({fromBlock: SafeCast.toUint32(block.number), votes: SafeCast.toUint224(newWeight)})); + } + } + + function _add(uint256 a, uint256 b) private pure returns (uint256) { + return a + b; + } + + function _subtract(uint256 a, uint256 b) private pure returns (uint256) { + return a - b; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol new file mode 100644 index 0000000000..1939c3f577 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol @@ -0,0 +1,48 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20VotesComp.sol) + +pragma solidity ^0.8.0; + +import "./ERC20Votes.sol"; + +/** + * @dev Extension of ERC20 to support Compound's voting and delegation. This version exactly matches Compound's + * interface, with the drawback of only supporting supply up to (2^96^ - 1). + * + * NOTE: You should use this contract if you need exact compatibility with COMP (for example in order to use your token + * with Governor Alpha or Bravo) and if you are sure the supply cap of 2^96^ is enough for you. Otherwise, use the + * {ERC20Votes} variant of this module. + * + * This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either + * by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting + * power can be queried through the public accessors {getCurrentVotes} and {getPriorVotes}. + * + * By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it + * requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked. + * Enabling self-delegation can easily be done by overriding the {delegates} function. Keep in mind however that this + * will significantly increase the base gas cost of transfers. + * + * _Available since v4.2._ + */ +abstract contract ERC20VotesComp is ERC20Votes { + /** + * @dev Comp version of the {getVotes} accessor, with `uint96` return type. + */ + function getCurrentVotes(address account) external view returns (uint96) { + return SafeCast.toUint96(getVotes(account)); + } + + /** + * @dev Comp version of the {getPastVotes} accessor, with `uint96` return type. + */ + function getPriorVotes(address account, uint256 blockNumber) external view returns (uint96) { + return SafeCast.toUint96(getPastVotes(account, blockNumber)); + } + + /** + * @dev Maximum token supply. Reduced to `type(uint96).max` (2^96^ - 1) to fit COMP interface. + */ + function _maxSupply() internal view virtual override returns (uint224) { + return type(uint96).max; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol new file mode 100644 index 0000000000..6bc313d6e8 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Wrapper.sol) + +pragma solidity ^0.8.0; + +import "../ERC20.sol"; +import "../utils/SafeERC20.sol"; + +/** + * @dev Extension of the ERC20 token contract to support token wrapping. + * + * Users can deposit and withdraw "underlying tokens" and receive a matching number of "wrapped tokens". This is useful + * in conjunction with other modules. For example, combining this wrapping mechanism with {ERC20Votes} will allow the + * wrapping of an existing "basic" ERC20 into a governance token. + * + * _Available since v4.2._ + */ +abstract contract ERC20Wrapper is ERC20 { + IERC20 public immutable underlying; + + constructor(IERC20 underlyingToken) { + underlying = underlyingToken; + } + + /** + * @dev Allow a user to deposit underlying tokens and mint the corresponding number of wrapped tokens. + */ + function depositFor(address account, uint256 amount) public virtual returns (bool) { + SafeERC20.safeTransferFrom(underlying, _msgSender(), address(this), amount); + _mint(account, amount); + return true; + } + + /** + * @dev Allow a user to burn a number of wrapped tokens and withdraw the corresponding number of underlying tokens. + */ + function withdrawTo(address account, uint256 amount) public virtual returns (bool) { + _burn(_msgSender(), amount); + SafeERC20.safeTransfer(underlying, account, amount); + return true; + } + + /** + * @dev Mint wrapped token to cover any underlyingTokens that would have been transfered by mistake. Internal + * function that can be exposed with access control if desired. + */ + function _recover(address account) internal virtual returns (uint256) { + uint256 value = underlying.balanceOf(address(this)) - totalSupply(); + _mint(account, value); + return value; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol new file mode 100644 index 0000000000..93fe3670f4 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol) + +pragma solidity ^0.8.0; + +import "../IERC20.sol"; + +/** + * @dev Interface for the optional metadata functions from the ERC20 standard. + * + * _Available since v4.1._ + */ +interface IERC20Metadata is IERC20 { + /** + * @dev Returns the name of the token. + */ + function name() external view returns (string memory); + + /** + * @dev Returns the symbol of the token. + */ + function symbol() external view returns (string memory); + + /** + * @dev Returns the decimals places of the token. + */ + function decimals() external view returns (uint8); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol new file mode 100644 index 0000000000..1b33f1642f --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol @@ -0,0 +1,87 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/draft-ERC20Permit.sol) + +pragma solidity ^0.8.0; + +import "./draft-IERC20Permit.sol"; +import "../ERC20.sol"; +import "../../../utils/cryptography/draft-EIP712.sol"; +import "../../../utils/cryptography/ECDSA.sol"; +import "../../../utils/Counters.sol"; + +/** + * @dev Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in + * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. + * + * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by + * presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't + * need to send a transaction, and thus is not required to hold Ether at all. + * + * _Available since v3.4._ + */ +abstract contract ERC20Permit is ERC20, IERC20Permit, EIP712 { + using Counters for Counters.Counter; + + mapping(address => Counters.Counter) private _nonces; + + // solhint-disable-next-line var-name-mixedcase + bytes32 private immutable _PERMIT_TYPEHASH = + keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"); + + /** + * @dev Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `"1"`. + * + * It's a good idea to use the same `name` that is defined as the ERC20 token name. + */ + constructor(string memory name) EIP712(name, "1") {} + + /** + * @dev See {IERC20Permit-permit}. + */ + function permit( + address owner, + address spender, + uint256 value, + uint256 deadline, + uint8 v, + bytes32 r, + bytes32 s + ) public virtual override { + require(block.timestamp <= deadline, "ERC20Permit: expired deadline"); + + bytes32 structHash = keccak256(abi.encode(_PERMIT_TYPEHASH, owner, spender, value, _useNonce(owner), deadline)); + + bytes32 hash = _hashTypedDataV4(structHash); + + address signer = ECDSA.recover(hash, v, r, s); + require(signer == owner, "ERC20Permit: invalid signature"); + + _approve(owner, spender, value); + } + + /** + * @dev See {IERC20Permit-nonces}. + */ + function nonces(address owner) public view virtual override returns (uint256) { + return _nonces[owner].current(); + } + + /** + * @dev See {IERC20Permit-DOMAIN_SEPARATOR}. + */ + // solhint-disable-next-line func-name-mixedcase + function DOMAIN_SEPARATOR() external view override returns (bytes32) { + return _domainSeparatorV4(); + } + + /** + * @dev "Consume a nonce": return the current value and increment. + * + * _Available since v4.1._ + */ + function _useNonce(address owner) internal virtual returns (uint256 current) { + Counters.Counter storage nonce = _nonces[owner]; + current = nonce.current(); + nonce.increment(); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol new file mode 100644 index 0000000000..6869944cca --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol @@ -0,0 +1,60 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/draft-IERC20Permit.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in + * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. + * + * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by + * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't + * need to send a transaction, and thus is not required to hold Ether at all. + */ +interface IERC20Permit { + /** + * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens, + * given ``owner``'s signed approval. + * + * IMPORTANT: The same issues {IERC20-approve} has related to transaction + * ordering also apply here. + * + * Emits an {Approval} event. + * + * Requirements: + * + * - `spender` cannot be the zero address. + * - `deadline` must be a timestamp in the future. + * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` + * over the EIP712-formatted function arguments. + * - the signature must use ``owner``'s current nonce (see {nonces}). + * + * For more information on the signature format, see the + * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP + * section]. + */ + function permit( + address owner, + address spender, + uint256 value, + uint256 deadline, + uint8 v, + bytes32 r, + bytes32 s + ) external; + + /** + * @dev Returns the current nonce for `owner`. This value must be + * included whenever a signature is generated for {permit}. + * + * Every successful call to {permit} increases ``owner``'s nonce by one. This + * prevents a signature from being used multiple times. + */ + function nonces(address owner) external view returns (uint256); + + /** + * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}. + */ + // solhint-disable-next-line func-name-mixedcase + function DOMAIN_SEPARATOR() external view returns (bytes32); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol new file mode 100644 index 0000000000..7a9703d637 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/presets/ERC20PresetFixedSupply.sol) +pragma solidity ^0.8.0; + +import "../extensions/ERC20Burnable.sol"; + +/** + * @dev {ERC20} token, including: + * + * - Preminted initial supply + * - Ability for holders to burn (destroy) their tokens + * - No access control mechanism (for minting/pausing) and hence no governance + * + * This contract uses {ERC20Burnable} to include burn capabilities - head to + * its documentation for details. + * + * _Available since v3.4._ + */ +contract ERC20PresetFixedSupply is ERC20Burnable { + /** + * @dev Mints `initialSupply` amount of token and transfers them to `owner`. + * + * See {ERC20-constructor}. + */ + constructor( + string memory name, + string memory symbol, + uint256 initialSupply, + address owner + ) ERC20(name, symbol) { + _mint(owner, initialSupply); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol new file mode 100644 index 0000000000..2258b23e99 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol @@ -0,0 +1,92 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/presets/ERC20PresetMinterPauser.sol) + +pragma solidity ^0.8.0; + +import "../ERC20.sol"; +import "../extensions/ERC20Burnable.sol"; +import "../extensions/ERC20Pausable.sol"; +import "../../../access/AccessControlEnumerable.sol"; +import "../../../utils/Context.sol"; + +/** + * @dev {ERC20} token, including: + * + * - ability for holders to burn (destroy) their tokens + * - a minter role that allows for token minting (creation) + * - a pauser role that allows to stop all token transfers + * + * This contract uses {AccessControl} to lock permissioned functions using the + * different roles - head to its documentation for details. + * + * The account that deploys the contract will be granted the minter and pauser + * roles, as well as the default admin role, which will let it grant both minter + * and pauser roles to other accounts. + */ +contract ERC20PresetMinterPauser is Context, AccessControlEnumerable, ERC20Burnable, ERC20Pausable { + bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); + bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); + + /** + * @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE` and `PAUSER_ROLE` to the + * account that deploys the contract. + * + * See {ERC20-constructor}. + */ + constructor(string memory name, string memory symbol) ERC20(name, symbol) { + _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); + + _setupRole(MINTER_ROLE, _msgSender()); + _setupRole(PAUSER_ROLE, _msgSender()); + } + + /** + * @dev Creates `amount` new tokens for `to`. + * + * See {ERC20-_mint}. + * + * Requirements: + * + * - the caller must have the `MINTER_ROLE`. + */ + function mint(address to, uint256 amount) public virtual { + require(hasRole(MINTER_ROLE, _msgSender()), "ERC20PresetMinterPauser: must have minter role to mint"); + _mint(to, amount); + } + + /** + * @dev Pauses all token transfers. + * + * See {ERC20Pausable} and {Pausable-_pause}. + * + * Requirements: + * + * - the caller must have the `PAUSER_ROLE`. + */ + function pause() public virtual { + require(hasRole(PAUSER_ROLE, _msgSender()), "ERC20PresetMinterPauser: must have pauser role to pause"); + _pause(); + } + + /** + * @dev Unpauses all token transfers. + * + * See {ERC20Pausable} and {Pausable-_unpause}. + * + * Requirements: + * + * - the caller must have the `PAUSER_ROLE`. + */ + function unpause() public virtual { + require(hasRole(PAUSER_ROLE, _msgSender()), "ERC20PresetMinterPauser: must have pauser role to unpause"); + _unpause(); + } + + function _beforeTokenTransfer( + address from, + address to, + uint256 amount + ) internal virtual override(ERC20, ERC20Pausable) { + super._beforeTokenTransfer(from, to, amount); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol new file mode 100644 index 0000000000..e24d8965ff --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol @@ -0,0 +1,99 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/utils/SafeERC20.sol) + +pragma solidity ^0.8.0; + +import "../IERC20.sol"; +import "../../../utils/Address.sol"; + +/** + * @title SafeERC20 + * @dev Wrappers around ERC20 operations that throw on failure (when the token + * contract returns false). Tokens that return no value (and instead revert or + * throw on failure) are also supported, non-reverting calls are assumed to be + * successful. + * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, + * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. + */ +library SafeERC20 { + using Address for address; + + function safeTransfer( + IERC20 token, + address to, + uint256 value + ) internal { + _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); + } + + function safeTransferFrom( + IERC20 token, + address from, + address to, + uint256 value + ) internal { + _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); + } + + /** + * @dev Deprecated. This function has issues similar to the ones found in + * {IERC20-approve}, and its usage is discouraged. + * + * Whenever possible, use {safeIncreaseAllowance} and + * {safeDecreaseAllowance} instead. + */ + function safeApprove( + IERC20 token, + address spender, + uint256 value + ) internal { + // safeApprove should only be called when setting an initial allowance, + // or when resetting it to zero. To increase and decrease it, use + // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' + require( + (value == 0) || (token.allowance(address(this), spender) == 0), + "SafeERC20: approve from non-zero to non-zero allowance" + ); + _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); + } + + function safeIncreaseAllowance( + IERC20 token, + address spender, + uint256 value + ) internal { + uint256 newAllowance = token.allowance(address(this), spender) + value; + _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); + } + + function safeDecreaseAllowance( + IERC20 token, + address spender, + uint256 value + ) internal { + unchecked { + uint256 oldAllowance = token.allowance(address(this), spender); + require(oldAllowance >= value, "SafeERC20: decreased allowance below zero"); + uint256 newAllowance = oldAllowance - value; + _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); + } + } + + /** + * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement + * on the return value: the return value is optional (but if data is returned, it must not be false). + * @param token The token targeted by the call. + * @param data The call data (encoded using abi.encode or one of its variants). + */ + function _callOptionalReturn(IERC20 token, bytes memory data) private { + // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since + // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that + // the target address contains contract code and also asserts for success in the low-level call. + + bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); + if (returndata.length > 0) { + // Return data is optional + require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol new file mode 100644 index 0000000000..ddfe55e03b --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol @@ -0,0 +1,70 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC20/utils/TokenTimelock.sol) + +pragma solidity ^0.8.0; + +import "./SafeERC20.sol"; + +/** + * @dev A token holder contract that will allow a beneficiary to extract the + * tokens after a given release time. + * + * Useful for simple vesting schedules like "advisors get all of their tokens + * after 1 year". + */ +contract TokenTimelock { + using SafeERC20 for IERC20; + + // ERC20 basic token contract being held + IERC20 private immutable _token; + + // beneficiary of tokens after they are released + address private immutable _beneficiary; + + // timestamp when token release is enabled + uint256 private immutable _releaseTime; + + constructor( + IERC20 token_, + address beneficiary_, + uint256 releaseTime_ + ) { + require(releaseTime_ > block.timestamp, "TokenTimelock: release time is before current time"); + _token = token_; + _beneficiary = beneficiary_; + _releaseTime = releaseTime_; + } + + /** + * @return the token being held. + */ + function token() public view virtual returns (IERC20) { + return _token; + } + + /** + * @return the beneficiary of the tokens. + */ + function beneficiary() public view virtual returns (address) { + return _beneficiary; + } + + /** + * @return the time when the tokens are released. + */ + function releaseTime() public view virtual returns (uint256) { + return _releaseTime; + } + + /** + * @notice Transfers tokens held by timelock to beneficiary. + */ + function release() public virtual { + require(block.timestamp >= releaseTime(), "TokenTimelock: current time is before release time"); + + uint256 amount = token().balanceOf(address(this)); + require(amount > 0, "TokenTimelock: no tokens to release"); + + token().safeTransfer(beneficiary(), amount); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol new file mode 100644 index 0000000000..3c960417dc --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol @@ -0,0 +1,424 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC721/ERC721.sol) + +pragma solidity ^0.8.0; + +import "./IERC721.sol"; +import "./IERC721Receiver.sol"; +import "./extensions/IERC721Metadata.sol"; +import "../../utils/Address.sol"; +import "../../utils/Context.sol"; +import "../../utils/Strings.sol"; +import "../../utils/introspection/ERC165.sol"; + +/** + * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including + * the Metadata extension, but not including the Enumerable extension, which is available separately as + * {ERC721Enumerable}. + */ +contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { + using Address for address; + using Strings for uint256; + + // Token name + string private _name; + + // Token symbol + string private _symbol; + + // Mapping from token ID to owner address + mapping(uint256 => address) private _owners; + + // Mapping owner address to token count + mapping(address => uint256) private _balances; + + // Mapping from token ID to approved address + mapping(uint256 => address) private _tokenApprovals; + + // Mapping from owner to operator approvals + mapping(address => mapping(address => bool)) private _operatorApprovals; + + /** + * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection. + */ + constructor(string memory name_, string memory symbol_) { + _name = name_; + _symbol = symbol_; + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { + return + interfaceId == type(IERC721).interfaceId || + interfaceId == type(IERC721Metadata).interfaceId || + super.supportsInterface(interfaceId); + } + + /** + * @dev See {IERC721-balanceOf}. + */ + function balanceOf(address owner) public view virtual override returns (uint256) { + require(owner != address(0), "ERC721: balance query for the zero address"); + return _balances[owner]; + } + + /** + * @dev See {IERC721-ownerOf}. + */ + function ownerOf(uint256 tokenId) public view virtual override returns (address) { + address owner = _owners[tokenId]; + require(owner != address(0), "ERC721: owner query for nonexistent token"); + return owner; + } + + /** + * @dev See {IERC721Metadata-name}. + */ + function name() public view virtual override returns (string memory) { + return _name; + } + + /** + * @dev See {IERC721Metadata-symbol}. + */ + function symbol() public view virtual override returns (string memory) { + return _symbol; + } + + /** + * @dev See {IERC721Metadata-tokenURI}. + */ + function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { + require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token"); + + string memory baseURI = _baseURI(); + return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : ""; + } + + /** + * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each + * token will be the concatenation of the `baseURI` and the `tokenId`. Empty + * by default, can be overriden in child contracts. + */ + function _baseURI() internal view virtual returns (string memory) { + return ""; + } + + /** + * @dev See {IERC721-approve}. + */ + function approve(address to, uint256 tokenId) public virtual override { + address owner = ERC721.ownerOf(tokenId); + require(to != owner, "ERC721: approval to current owner"); + + require( + _msgSender() == owner || isApprovedForAll(owner, _msgSender()), + "ERC721: approve caller is not owner nor approved for all" + ); + + _approve(to, tokenId); + } + + /** + * @dev See {IERC721-getApproved}. + */ + function getApproved(uint256 tokenId) public view virtual override returns (address) { + require(_exists(tokenId), "ERC721: approved query for nonexistent token"); + + return _tokenApprovals[tokenId]; + } + + /** + * @dev See {IERC721-setApprovalForAll}. + */ + function setApprovalForAll(address operator, bool approved) public virtual override { + _setApprovalForAll(_msgSender(), operator, approved); + } + + /** + * @dev See {IERC721-isApprovedForAll}. + */ + function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) { + return _operatorApprovals[owner][operator]; + } + + /** + * @dev See {IERC721-transferFrom}. + */ + function transferFrom( + address from, + address to, + uint256 tokenId + ) public virtual override { + //solhint-disable-next-line max-line-length + require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); + + _transfer(from, to, tokenId); + } + + /** + * @dev See {IERC721-safeTransferFrom}. + */ + function safeTransferFrom( + address from, + address to, + uint256 tokenId + ) public virtual override { + safeTransferFrom(from, to, tokenId, ""); + } + + /** + * @dev See {IERC721-safeTransferFrom}. + */ + function safeTransferFrom( + address from, + address to, + uint256 tokenId, + bytes memory _data + ) public virtual override { + require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); + _safeTransfer(from, to, tokenId, _data); + } + + /** + * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients + * are aware of the ERC721 protocol to prevent tokens from being forever locked. + * + * `_data` is additional data, it has no specified format and it is sent in call to `to`. + * + * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g. + * implement alternative mechanisms to perform token transfer, such as signature-based. + * + * Requirements: + * + * - `from` cannot be the zero address. + * - `to` cannot be the zero address. + * - `tokenId` token must exist and be owned by `from`. + * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. + * + * Emits a {Transfer} event. + */ + function _safeTransfer( + address from, + address to, + uint256 tokenId, + bytes memory _data + ) internal virtual { + _transfer(from, to, tokenId); + require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer"); + } + + /** + * @dev Returns whether `tokenId` exists. + * + * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}. + * + * Tokens start existing when they are minted (`_mint`), + * and stop existing when they are burned (`_burn`). + */ + function _exists(uint256 tokenId) internal view virtual returns (bool) { + return _owners[tokenId] != address(0); + } + + /** + * @dev Returns whether `spender` is allowed to manage `tokenId`. + * + * Requirements: + * + * - `tokenId` must exist. + */ + function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { + require(_exists(tokenId), "ERC721: operator query for nonexistent token"); + address owner = ERC721.ownerOf(tokenId); + return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender)); + } + + /** + * @dev Safely mints `tokenId` and transfers it to `to`. + * + * Requirements: + * + * - `tokenId` must not exist. + * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. + * + * Emits a {Transfer} event. + */ + function _safeMint(address to, uint256 tokenId) internal virtual { + _safeMint(to, tokenId, ""); + } + + /** + * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is + * forwarded in {IERC721Receiver-onERC721Received} to contract recipients. + */ + function _safeMint( + address to, + uint256 tokenId, + bytes memory _data + ) internal virtual { + _mint(to, tokenId); + require( + _checkOnERC721Received(address(0), to, tokenId, _data), + "ERC721: transfer to non ERC721Receiver implementer" + ); + } + + /** + * @dev Mints `tokenId` and transfers it to `to`. + * + * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible + * + * Requirements: + * + * - `tokenId` must not exist. + * - `to` cannot be the zero address. + * + * Emits a {Transfer} event. + */ + function _mint(address to, uint256 tokenId) internal virtual { + require(to != address(0), "ERC721: mint to the zero address"); + require(!_exists(tokenId), "ERC721: token already minted"); + + _beforeTokenTransfer(address(0), to, tokenId); + + _balances[to] += 1; + _owners[tokenId] = to; + + emit Transfer(address(0), to, tokenId); + } + + /** + * @dev Destroys `tokenId`. + * The approval is cleared when the token is burned. + * + * Requirements: + * + * - `tokenId` must exist. + * + * Emits a {Transfer} event. + */ + function _burn(uint256 tokenId) internal virtual { + address owner = ERC721.ownerOf(tokenId); + + _beforeTokenTransfer(owner, address(0), tokenId); + + // Clear approvals + _approve(address(0), tokenId); + + _balances[owner] -= 1; + delete _owners[tokenId]; + + emit Transfer(owner, address(0), tokenId); + } + + /** + * @dev Transfers `tokenId` from `from` to `to`. + * As opposed to {transferFrom}, this imposes no restrictions on msg.sender. + * + * Requirements: + * + * - `to` cannot be the zero address. + * - `tokenId` token must be owned by `from`. + * + * Emits a {Transfer} event. + */ + function _transfer( + address from, + address to, + uint256 tokenId + ) internal virtual { + require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer of token that is not own"); + require(to != address(0), "ERC721: transfer to the zero address"); + + _beforeTokenTransfer(from, to, tokenId); + + // Clear approvals from the previous owner + _approve(address(0), tokenId); + + _balances[from] -= 1; + _balances[to] += 1; + _owners[tokenId] = to; + + emit Transfer(from, to, tokenId); + } + + /** + * @dev Approve `to` to operate on `tokenId` + * + * Emits a {Approval} event. + */ + function _approve(address to, uint256 tokenId) internal virtual { + _tokenApprovals[tokenId] = to; + emit Approval(ERC721.ownerOf(tokenId), to, tokenId); + } + + /** + * @dev Approve `operator` to operate on all of `owner` tokens + * + * Emits a {ApprovalForAll} event. + */ + function _setApprovalForAll( + address owner, + address operator, + bool approved + ) internal virtual { + require(owner != operator, "ERC721: approve to caller"); + _operatorApprovals[owner][operator] = approved; + emit ApprovalForAll(owner, operator, approved); + } + + /** + * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address. + * The call is not executed if the target address is not a contract. + * + * @param from address representing the previous owner of the given token ID + * @param to target address that will receive the tokens + * @param tokenId uint256 ID of the token to be transferred + * @param _data bytes optional data to send along with the call + * @return bool whether the call correctly returned the expected magic value + */ + function _checkOnERC721Received( + address from, + address to, + uint256 tokenId, + bytes memory _data + ) private returns (bool) { + if (to.isContract()) { + try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) { + return retval == IERC721Receiver.onERC721Received.selector; + } catch (bytes memory reason) { + if (reason.length == 0) { + revert("ERC721: transfer to non ERC721Receiver implementer"); + } else { + assembly { + revert(add(32, reason), mload(reason)) + } + } + } + } else { + return true; + } + } + + /** + * @dev Hook that is called before any token transfer. This includes minting + * and burning. + * + * Calling conditions: + * + * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be + * transferred to `to`. + * - When `from` is zero, `tokenId` will be minted for `to`. + * - When `to` is zero, ``from``'s `tokenId` 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 tokenId + ) internal virtual {} +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol new file mode 100644 index 0000000000..7d6c99c4f9 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol @@ -0,0 +1,143 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC721/IERC721.sol) + +pragma solidity ^0.8.0; + +import "../../utils/introspection/IERC165.sol"; + +/** + * @dev Required interface of an ERC721 compliant contract. + */ +interface IERC721 is IERC165 { + /** + * @dev Emitted when `tokenId` token is transferred from `from` to `to`. + */ + event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); + + /** + * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. + */ + event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); + + /** + * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. + */ + event ApprovalForAll(address indexed owner, address indexed operator, bool approved); + + /** + * @dev Returns the number of tokens in ``owner``'s account. + */ + function balanceOf(address owner) external view returns (uint256 balance); + + /** + * @dev Returns the owner of the `tokenId` token. + * + * Requirements: + * + * - `tokenId` must exist. + */ + function ownerOf(uint256 tokenId) external view returns (address owner); + + /** + * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients + * are aware of the ERC721 protocol to prevent tokens from being forever locked. + * + * Requirements: + * + * - `from` cannot be the zero address. + * - `to` cannot be the zero address. + * - `tokenId` token must exist and be owned by `from`. + * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. + * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. + * + * Emits a {Transfer} event. + */ + function safeTransferFrom( + address from, + address to, + uint256 tokenId + ) external; + + /** + * @dev Transfers `tokenId` token from `from` to `to`. + * + * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. + * + * Requirements: + * + * - `from` cannot be the zero address. + * - `to` cannot be the zero address. + * - `tokenId` token must be owned by `from`. + * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. + * + * Emits a {Transfer} event. + */ + function transferFrom( + address from, + address to, + uint256 tokenId + ) external; + + /** + * @dev Gives permission to `to` to transfer `tokenId` token to another account. + * The approval is cleared when the token is transferred. + * + * Only a single account can be approved at a time, so approving the zero address clears previous approvals. + * + * Requirements: + * + * - The caller must own the token or be an approved operator. + * - `tokenId` must exist. + * + * Emits an {Approval} event. + */ + function approve(address to, uint256 tokenId) external; + + /** + * @dev Returns the account approved for `tokenId` token. + * + * Requirements: + * + * - `tokenId` must exist. + */ + function getApproved(uint256 tokenId) external view returns (address operator); + + /** + * @dev Approve or remove `operator` as an operator for the caller. + * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. + * + * Requirements: + * + * - The `operator` cannot be the caller. + * + * Emits an {ApprovalForAll} event. + */ + function setApprovalForAll(address operator, bool _approved) external; + + /** + * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. + * + * See {setApprovalForAll} + */ + function isApprovedForAll(address owner, address operator) external view returns (bool); + + /** + * @dev Safely transfers `tokenId` token from `from` to `to`. + * + * Requirements: + * + * - `from` cannot be the zero address. + * - `to` cannot be the zero address. + * - `tokenId` token must exist and be owned by `from`. + * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. + * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. + * + * Emits a {Transfer} event. + */ + function safeTransferFrom( + address from, + address to, + uint256 tokenId, + bytes calldata data + ) external; +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol new file mode 100644 index 0000000000..5e2868042a --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC721/IERC721Receiver.sol) + +pragma solidity ^0.8.0; + +/** + * @title ERC721 token receiver interface + * @dev Interface for any contract that wants to support safeTransfers + * from ERC721 asset contracts. + */ +interface IERC721Receiver { + /** + * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} + * by `operator` from `from`, this function is called. + * + * It must return its Solidity selector to confirm the token transfer. + * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. + * + * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`. + */ + function onERC721Received( + address operator, + address from, + uint256 tokenId, + bytes calldata data + ) external returns (bytes4); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol new file mode 100644 index 0000000000..922fa959e6 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol @@ -0,0 +1,26 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/ERC721Burnable.sol) + +pragma solidity ^0.8.0; + +import "../ERC721.sol"; +import "../../../utils/Context.sol"; + +/** + * @title ERC721 Burnable Token + * @dev ERC721 Token that can be irreversibly burned (destroyed). + */ +abstract contract ERC721Burnable is Context, ERC721 { + /** + * @dev Burns `tokenId`. See {ERC721-_burn}. + * + * Requirements: + * + * - The caller must own `tokenId` or be an approved operator. + */ + function burn(uint256 tokenId) public virtual { + //solhint-disable-next-line max-line-length + require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721Burnable: caller is not owner nor approved"); + _burn(tokenId); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol new file mode 100644 index 0000000000..a2ad6d5ac6 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol @@ -0,0 +1,163 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/ERC721Enumerable.sol) + +pragma solidity ^0.8.0; + +import "../ERC721.sol"; +import "./IERC721Enumerable.sol"; + +/** + * @dev This implements an optional extension of {ERC721} defined in the EIP that adds + * enumerability of all the token ids in the contract as well as all token ids owned by each + * account. + */ +abstract contract ERC721Enumerable is ERC721, IERC721Enumerable { + // Mapping from owner to list of owned token IDs + mapping(address => mapping(uint256 => uint256)) private _ownedTokens; + + // Mapping from token ID to index of the owner tokens list + mapping(uint256 => uint256) private _ownedTokensIndex; + + // Array with all token ids, used for enumeration + uint256[] private _allTokens; + + // Mapping from token id to position in the allTokens array + mapping(uint256 => uint256) private _allTokensIndex; + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721) returns (bool) { + return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId); + } + + /** + * @dev See {IERC721Enumerable-tokenOfOwnerByIndex}. + */ + function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) { + require(index < ERC721.balanceOf(owner), "ERC721Enumerable: owner index out of bounds"); + return _ownedTokens[owner][index]; + } + + /** + * @dev See {IERC721Enumerable-totalSupply}. + */ + function totalSupply() public view virtual override returns (uint256) { + return _allTokens.length; + } + + /** + * @dev See {IERC721Enumerable-tokenByIndex}. + */ + function tokenByIndex(uint256 index) public view virtual override returns (uint256) { + require(index < ERC721Enumerable.totalSupply(), "ERC721Enumerable: global index out of bounds"); + return _allTokens[index]; + } + + /** + * @dev Hook that is called before any token transfer. This includes minting + * and burning. + * + * Calling conditions: + * + * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be + * transferred to `to`. + * - When `from` is zero, `tokenId` will be minted for `to`. + * - When `to` is zero, ``from``'s `tokenId` will be burned. + * - `from` cannot be the zero address. + * - `to` cannot be the zero address. + * + * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. + */ + function _beforeTokenTransfer( + address from, + address to, + uint256 tokenId + ) internal virtual override { + super._beforeTokenTransfer(from, to, tokenId); + + if (from == address(0)) { + _addTokenToAllTokensEnumeration(tokenId); + } else if (from != to) { + _removeTokenFromOwnerEnumeration(from, tokenId); + } + if (to == address(0)) { + _removeTokenFromAllTokensEnumeration(tokenId); + } else if (to != from) { + _addTokenToOwnerEnumeration(to, tokenId); + } + } + + /** + * @dev Private function to add a token to this extension's ownership-tracking data structures. + * @param to address representing the new owner of the given token ID + * @param tokenId uint256 ID of the token to be added to the tokens list of the given address + */ + function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private { + uint256 length = ERC721.balanceOf(to); + _ownedTokens[to][length] = tokenId; + _ownedTokensIndex[tokenId] = length; + } + + /** + * @dev Private function to add a token to this extension's token tracking data structures. + * @param tokenId uint256 ID of the token to be added to the tokens list + */ + function _addTokenToAllTokensEnumeration(uint256 tokenId) private { + _allTokensIndex[tokenId] = _allTokens.length; + _allTokens.push(tokenId); + } + + /** + * @dev Private function to remove a token from this extension's ownership-tracking data structures. Note that + * while the token is not assigned a new owner, the `_ownedTokensIndex` mapping is _not_ updated: this allows for + * gas optimizations e.g. when performing a transfer operation (avoiding double writes). + * This has O(1) time complexity, but alters the order of the _ownedTokens array. + * @param from address representing the previous owner of the given token ID + * @param tokenId uint256 ID of the token to be removed from the tokens list of the given address + */ + function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId) private { + // To prevent a gap in from's tokens array, we store the last token in the index of the token to delete, and + // then delete the last slot (swap and pop). + + uint256 lastTokenIndex = ERC721.balanceOf(from) - 1; + uint256 tokenIndex = _ownedTokensIndex[tokenId]; + + // When the token to delete is the last token, the swap operation is unnecessary + if (tokenIndex != lastTokenIndex) { + uint256 lastTokenId = _ownedTokens[from][lastTokenIndex]; + + _ownedTokens[from][tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token + _ownedTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index + } + + // This also deletes the contents at the last position of the array + delete _ownedTokensIndex[tokenId]; + delete _ownedTokens[from][lastTokenIndex]; + } + + /** + * @dev Private function to remove a token from this extension's token tracking data structures. + * This has O(1) time complexity, but alters the order of the _allTokens array. + * @param tokenId uint256 ID of the token to be removed from the tokens list + */ + function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private { + // To prevent a gap in the tokens array, we store the last token in the index of the token to delete, and + // then delete the last slot (swap and pop). + + uint256 lastTokenIndex = _allTokens.length - 1; + uint256 tokenIndex = _allTokensIndex[tokenId]; + + // When the token to delete is the last token, the swap operation is unnecessary. However, since this occurs so + // rarely (when the last minted token is burnt) that we still do the swap here to avoid the gas cost of adding + // an 'if' statement (like in _removeTokenFromOwnerEnumeration) + uint256 lastTokenId = _allTokens[lastTokenIndex]; + + _allTokens[tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token + _allTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index + + // This also deletes the contents at the last position of the array + delete _allTokensIndex[tokenId]; + _allTokens.pop(); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol new file mode 100644 index 0000000000..b8d5b68d9f --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol @@ -0,0 +1,33 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/ERC721Pausable.sol) + +pragma solidity ^0.8.0; + +import "../ERC721.sol"; +import "../../../security/Pausable.sol"; + +/** + * @dev ERC721 token with pausable token transfers, minting and burning. + * + * Useful for scenarios such as preventing trades until the end of an evaluation + * period, or having an emergency switch for freezing all token transfers in the + * event of a large bug. + */ +abstract contract ERC721Pausable is ERC721, Pausable { + /** + * @dev See {ERC721-_beforeTokenTransfer}. + * + * Requirements: + * + * - the contract must not be paused. + */ + function _beforeTokenTransfer( + address from, + address to, + uint256 tokenId + ) internal virtual override { + super._beforeTokenTransfer(from, to, tokenId); + + require(!paused(), "ERC721Pausable: token transfer while paused"); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol new file mode 100644 index 0000000000..e4ef29dbe8 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol @@ -0,0 +1,67 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/ERC721URIStorage.sol) + +pragma solidity ^0.8.0; + +import "../ERC721.sol"; + +/** + * @dev ERC721 token with storage based token URI management. + */ +abstract contract ERC721URIStorage is ERC721 { + using Strings for uint256; + + // Optional mapping for token URIs + mapping(uint256 => string) private _tokenURIs; + + /** + * @dev See {IERC721Metadata-tokenURI}. + */ + function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { + require(_exists(tokenId), "ERC721URIStorage: URI query for nonexistent token"); + + string memory _tokenURI = _tokenURIs[tokenId]; + string memory base = _baseURI(); + + // If there is no base URI, return the token URI. + if (bytes(base).length == 0) { + return _tokenURI; + } + // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked). + if (bytes(_tokenURI).length > 0) { + return string(abi.encodePacked(base, _tokenURI)); + } + + return super.tokenURI(tokenId); + } + + /** + * @dev Sets `_tokenURI` as the tokenURI of `tokenId`. + * + * Requirements: + * + * - `tokenId` must exist. + */ + function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual { + require(_exists(tokenId), "ERC721URIStorage: URI set of nonexistent token"); + _tokenURIs[tokenId] = _tokenURI; + } + + /** + * @dev Destroys `tokenId`. + * The approval is cleared when the token is burned. + * + * Requirements: + * + * - `tokenId` must exist. + * + * Emits a {Transfer} event. + */ + function _burn(uint256 tokenId) internal virtual override { + super._burn(tokenId); + + if (bytes(_tokenURIs[tokenId]).length != 0) { + delete _tokenURIs[tokenId]; + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol new file mode 100644 index 0000000000..fc5dfba32f --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/IERC721Enumerable.sol) + +pragma solidity ^0.8.0; + +import "../IERC721.sol"; + +/** + * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension + * @dev See https://eips.ethereum.org/EIPS/eip-721 + */ +interface IERC721Enumerable is IERC721 { + /** + * @dev Returns the total amount of tokens stored by the contract. + */ + function totalSupply() external view returns (uint256); + + /** + * @dev Returns a token ID owned by `owner` at a given `index` of its token list. + * Use along with {balanceOf} to enumerate all of ``owner``'s tokens. + */ + function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); + + /** + * @dev Returns a token ID at a given `index` of all the tokens stored by the contract. + * Use along with {totalSupply} to enumerate all tokens. + */ + function tokenByIndex(uint256 index) external view returns (uint256); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol new file mode 100644 index 0000000000..0a135ce58e --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol @@ -0,0 +1,27 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/IERC721Metadata.sol) + +pragma solidity ^0.8.0; + +import "../IERC721.sol"; + +/** + * @title ERC-721 Non-Fungible Token Standard, optional metadata extension + * @dev See https://eips.ethereum.org/EIPS/eip-721 + */ +interface IERC721Metadata is IERC721 { + /** + * @dev Returns the token collection name. + */ + function name() external view returns (string memory); + + /** + * @dev Returns the token collection symbol. + */ + function symbol() external view returns (string memory); + + /** + * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token. + */ + function tokenURI(uint256 tokenId) external view returns (string memory); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol new file mode 100644 index 0000000000..da19b92205 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol @@ -0,0 +1,137 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol) + +pragma solidity ^0.8.0; + +import "../ERC721.sol"; +import "../extensions/ERC721Enumerable.sol"; +import "../extensions/ERC721Burnable.sol"; +import "../extensions/ERC721Pausable.sol"; +import "../../../access/AccessControlEnumerable.sol"; +import "../../../utils/Context.sol"; +import "../../../utils/Counters.sol"; + +/** + * @dev {ERC721} token, including: + * + * - ability for holders to burn (destroy) their tokens + * - a minter role that allows for token minting (creation) + * - a pauser role that allows to stop all token transfers + * - token ID and URI autogeneration + * + * This contract uses {AccessControl} to lock permissioned functions using the + * different roles - head to its documentation for details. + * + * The account that deploys the contract will be granted the minter and pauser + * roles, as well as the default admin role, which will let it grant both minter + * and pauser roles to other accounts. + */ +contract ERC721PresetMinterPauserAutoId is + Context, + AccessControlEnumerable, + ERC721Enumerable, + ERC721Burnable, + ERC721Pausable +{ + using Counters for Counters.Counter; + + bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); + bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); + + Counters.Counter private _tokenIdTracker; + + string private _baseTokenURI; + + /** + * @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE` and `PAUSER_ROLE` to the + * account that deploys the contract. + * + * Token URIs will be autogenerated based on `baseURI` and their token IDs. + * See {ERC721-tokenURI}. + */ + constructor( + string memory name, + string memory symbol, + string memory baseTokenURI + ) ERC721(name, symbol) { + _baseTokenURI = baseTokenURI; + + _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); + + _setupRole(MINTER_ROLE, _msgSender()); + _setupRole(PAUSER_ROLE, _msgSender()); + } + + function _baseURI() internal view virtual override returns (string memory) { + return _baseTokenURI; + } + + /** + * @dev Creates a new token for `to`. Its token ID will be automatically + * assigned (and available on the emitted {IERC721-Transfer} event), and the token + * URI autogenerated based on the base URI passed at construction. + * + * See {ERC721-_mint}. + * + * Requirements: + * + * - the caller must have the `MINTER_ROLE`. + */ + function mint(address to) public virtual { + require(hasRole(MINTER_ROLE, _msgSender()), "ERC721PresetMinterPauserAutoId: must have minter role to mint"); + + // We cannot just use balanceOf to create the new tokenId because tokens + // can be burned (destroyed), so we need a separate counter. + _mint(to, _tokenIdTracker.current()); + _tokenIdTracker.increment(); + } + + /** + * @dev Pauses all token transfers. + * + * See {ERC721Pausable} and {Pausable-_pause}. + * + * Requirements: + * + * - the caller must have the `PAUSER_ROLE`. + */ + function pause() public virtual { + require(hasRole(PAUSER_ROLE, _msgSender()), "ERC721PresetMinterPauserAutoId: must have pauser role to pause"); + _pause(); + } + + /** + * @dev Unpauses all token transfers. + * + * See {ERC721Pausable} and {Pausable-_unpause}. + * + * Requirements: + * + * - the caller must have the `PAUSER_ROLE`. + */ + function unpause() public virtual { + require(hasRole(PAUSER_ROLE, _msgSender()), "ERC721PresetMinterPauserAutoId: must have pauser role to unpause"); + _unpause(); + } + + function _beforeTokenTransfer( + address from, + address to, + uint256 tokenId + ) internal virtual override(ERC721, ERC721Enumerable, ERC721Pausable) { + super._beforeTokenTransfer(from, to, tokenId); + } + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) + public + view + virtual + override(AccessControlEnumerable, ERC721, ERC721Enumerable) + returns (bool) + { + return super.supportsInterface(interfaceId); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol new file mode 100644 index 0000000000..562ff2e18f --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol @@ -0,0 +1,28 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC721/utils/ERC721Holder.sol) + +pragma solidity ^0.8.0; + +import "../IERC721Receiver.sol"; + +/** + * @dev Implementation of the {IERC721Receiver} interface. + * + * Accepts all token transfers. + * Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}. + */ +contract ERC721Holder is IERC721Receiver { + /** + * @dev See {IERC721Receiver-onERC721Received}. + * + * Always returns `IERC721Receiver.onERC721Received.selector`. + */ + function onERC721Received( + address, + address, + uint256, + bytes memory + ) public virtual override returns (bytes4) { + return this.onERC721Received.selector; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol new file mode 100644 index 0000000000..8c53a3a5ff --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol @@ -0,0 +1,539 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC777/ERC777.sol) + +pragma solidity ^0.8.0; + +import "./IERC777.sol"; +import "./IERC777Recipient.sol"; +import "./IERC777Sender.sol"; +import "../ERC20/IERC20.sol"; +import "../../utils/Address.sol"; +import "../../utils/Context.sol"; +import "../../utils/introspection/IERC1820Registry.sol"; + +/** + * @dev Implementation of the {IERC777} 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}. + * + * Support for ERC20 is included in this contract, as specified by the EIP: both + * the ERC777 and ERC20 interfaces can be safely used when interacting with it. + * Both {IERC777-Sent} and {IERC20-Transfer} events are emitted on token + * movements. + * + * Additionally, the {IERC777-granularity} value is hard-coded to `1`, meaning that there + * are no special restrictions in the amount of tokens that created, moved, or + * destroyed. This makes integration with ERC20 applications seamless. + */ +contract ERC777 is Context, IERC777, IERC20 { + using Address for address; + + IERC1820Registry internal constant _ERC1820_REGISTRY = IERC1820Registry(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24); + + mapping(address => uint256) private _balances; + + uint256 private _totalSupply; + + string private _name; + string private _symbol; + + bytes32 private constant _TOKENS_SENDER_INTERFACE_HASH = keccak256("ERC777TokensSender"); + bytes32 private constant _TOKENS_RECIPIENT_INTERFACE_HASH = keccak256("ERC777TokensRecipient"); + + // This isn't ever read from - it's only used to respond to the defaultOperators query. + address[] private _defaultOperatorsArray; + + // Immutable, but accounts may revoke them (tracked in __revokedDefaultOperators). + mapping(address => bool) private _defaultOperators; + + // For each account, a mapping of its operators and revoked default operators. + mapping(address => mapping(address => bool)) private _operators; + mapping(address => mapping(address => bool)) private _revokedDefaultOperators; + + // ERC20-allowances + mapping(address => mapping(address => uint256)) private _allowances; + + /** + * @dev `defaultOperators` may be an empty array. + */ + constructor( + string memory name_, + string memory symbol_, + address[] memory defaultOperators_ + ) { + _name = name_; + _symbol = symbol_; + + _defaultOperatorsArray = defaultOperators_; + for (uint256 i = 0; i < defaultOperators_.length; i++) { + _defaultOperators[defaultOperators_[i]] = true; + } + + // register interfaces + _ERC1820_REGISTRY.setInterfaceImplementer(address(this), keccak256("ERC777Token"), address(this)); + _ERC1820_REGISTRY.setInterfaceImplementer(address(this), keccak256("ERC20Token"), address(this)); + } + + /** + * @dev See {IERC777-name}. + */ + function name() public view virtual override returns (string memory) { + return _name; + } + + /** + * @dev See {IERC777-symbol}. + */ + function symbol() public view virtual override returns (string memory) { + return _symbol; + } + + /** + * @dev See {ERC20-decimals}. + * + * Always returns 18, as per the + * [ERC777 EIP](https://eips.ethereum.org/EIPS/eip-777#backward-compatibility). + */ + function decimals() public pure virtual returns (uint8) { + return 18; + } + + /** + * @dev See {IERC777-granularity}. + * + * This implementation always returns `1`. + */ + function granularity() public view virtual override returns (uint256) { + return 1; + } + + /** + * @dev See {IERC777-totalSupply}. + */ + function totalSupply() public view virtual override(IERC20, IERC777) returns (uint256) { + return _totalSupply; + } + + /** + * @dev Returns the amount of tokens owned by an account (`tokenHolder`). + */ + function balanceOf(address tokenHolder) public view virtual override(IERC20, IERC777) returns (uint256) { + return _balances[tokenHolder]; + } + + /** + * @dev See {IERC777-send}. + * + * Also emits a {IERC20-Transfer} event for ERC20 compatibility. + */ + function send( + address recipient, + uint256 amount, + bytes memory data + ) public virtual override { + _send(_msgSender(), recipient, amount, data, "", true); + } + + /** + * @dev See {IERC20-transfer}. + * + * Unlike `send`, `recipient` is _not_ required to implement the {IERC777Recipient} + * interface if it is a contract. + * + * Also emits a {Sent} event. + */ + function transfer(address recipient, uint256 amount) public virtual override returns (bool) { + require(recipient != address(0), "ERC777: transfer to the zero address"); + + address from = _msgSender(); + + _callTokensToSend(from, from, recipient, amount, "", ""); + + _move(from, from, recipient, amount, "", ""); + + _callTokensReceived(from, from, recipient, amount, "", "", false); + + return true; + } + + /** + * @dev See {IERC777-burn}. + * + * Also emits a {IERC20-Transfer} event for ERC20 compatibility. + */ + function burn(uint256 amount, bytes memory data) public virtual override { + _burn(_msgSender(), amount, data, ""); + } + + /** + * @dev See {IERC777-isOperatorFor}. + */ + function isOperatorFor(address operator, address tokenHolder) public view virtual override returns (bool) { + return + operator == tokenHolder || + (_defaultOperators[operator] && !_revokedDefaultOperators[tokenHolder][operator]) || + _operators[tokenHolder][operator]; + } + + /** + * @dev See {IERC777-authorizeOperator}. + */ + function authorizeOperator(address operator) public virtual override { + require(_msgSender() != operator, "ERC777: authorizing self as operator"); + + if (_defaultOperators[operator]) { + delete _revokedDefaultOperators[_msgSender()][operator]; + } else { + _operators[_msgSender()][operator] = true; + } + + emit AuthorizedOperator(operator, _msgSender()); + } + + /** + * @dev See {IERC777-revokeOperator}. + */ + function revokeOperator(address operator) public virtual override { + require(operator != _msgSender(), "ERC777: revoking self as operator"); + + if (_defaultOperators[operator]) { + _revokedDefaultOperators[_msgSender()][operator] = true; + } else { + delete _operators[_msgSender()][operator]; + } + + emit RevokedOperator(operator, _msgSender()); + } + + /** + * @dev See {IERC777-defaultOperators}. + */ + function defaultOperators() public view virtual override returns (address[] memory) { + return _defaultOperatorsArray; + } + + /** + * @dev See {IERC777-operatorSend}. + * + * Emits {Sent} and {IERC20-Transfer} events. + */ + function operatorSend( + address sender, + address recipient, + uint256 amount, + bytes memory data, + bytes memory operatorData + ) public virtual override { + require(isOperatorFor(_msgSender(), sender), "ERC777: caller is not an operator for holder"); + _send(sender, recipient, amount, data, operatorData, true); + } + + /** + * @dev See {IERC777-operatorBurn}. + * + * Emits {Burned} and {IERC20-Transfer} events. + */ + function operatorBurn( + address account, + uint256 amount, + bytes memory data, + bytes memory operatorData + ) public virtual override { + require(isOperatorFor(_msgSender(), account), "ERC777: caller is not an operator for holder"); + _burn(account, amount, data, operatorData); + } + + /** + * @dev See {IERC20-allowance}. + * + * Note that operator and allowance concepts are orthogonal: operators may + * not have allowance, and accounts with allowance may not be operators + * themselves. + */ + function allowance(address holder, address spender) public view virtual override returns (uint256) { + return _allowances[holder][spender]; + } + + /** + * @dev See {IERC20-approve}. + * + * Note that accounts cannot have allowance issued by their operators. + */ + function approve(address spender, uint256 value) public virtual override returns (bool) { + address holder = _msgSender(); + _approve(holder, spender, value); + return true; + } + + /** + * @dev See {IERC20-transferFrom}. + * + * Note that operator and allowance concepts are orthogonal: operators cannot + * call `transferFrom` (unless they have allowance), and accounts with + * allowance cannot call `operatorSend` (unless they are operators). + * + * Emits {Sent}, {IERC20-Transfer} and {IERC20-Approval} events. + */ + function transferFrom( + address holder, + address recipient, + uint256 amount + ) public virtual override returns (bool) { + require(recipient != address(0), "ERC777: transfer to the zero address"); + require(holder != address(0), "ERC777: transfer from the zero address"); + + address spender = _msgSender(); + + _callTokensToSend(spender, holder, recipient, amount, "", ""); + + _move(spender, holder, recipient, amount, "", ""); + + uint256 currentAllowance = _allowances[holder][spender]; + require(currentAllowance >= amount, "ERC777: transfer amount exceeds allowance"); + _approve(holder, spender, currentAllowance - amount); + + _callTokensReceived(spender, holder, recipient, amount, "", "", false); + + return true; + } + + /** + * @dev Creates `amount` tokens and assigns them to `account`, increasing + * the total supply. + * + * If a send hook is registered for `account`, the corresponding function + * will be called with `operator`, `data` and `operatorData`. + * + * See {IERC777Sender} and {IERC777Recipient}. + * + * Emits {Minted} and {IERC20-Transfer} events. + * + * Requirements + * + * - `account` cannot be the zero address. + * - if `account` is a contract, it must implement the {IERC777Recipient} + * interface. + */ + function _mint( + address account, + uint256 amount, + bytes memory userData, + bytes memory operatorData + ) internal virtual { + _mint(account, amount, userData, operatorData, true); + } + + /** + * @dev Creates `amount` tokens and assigns them to `account`, increasing + * the total supply. + * + * If `requireReceptionAck` is set to true, and if a send hook is + * registered for `account`, the corresponding function will be called with + * `operator`, `data` and `operatorData`. + * + * See {IERC777Sender} and {IERC777Recipient}. + * + * Emits {Minted} and {IERC20-Transfer} events. + * + * Requirements + * + * - `account` cannot be the zero address. + * - if `account` is a contract, it must implement the {IERC777Recipient} + * interface. + */ + function _mint( + address account, + uint256 amount, + bytes memory userData, + bytes memory operatorData, + bool requireReceptionAck + ) internal virtual { + require(account != address(0), "ERC777: mint to the zero address"); + + address operator = _msgSender(); + + _beforeTokenTransfer(operator, address(0), account, amount); + + // Update state variables + _totalSupply += amount; + _balances[account] += amount; + + _callTokensReceived(operator, address(0), account, amount, userData, operatorData, requireReceptionAck); + + emit Minted(operator, account, amount, userData, operatorData); + emit Transfer(address(0), account, amount); + } + + /** + * @dev Send tokens + * @param from address token holder address + * @param to address recipient address + * @param amount uint256 amount of tokens to transfer + * @param userData bytes extra information provided by the token holder (if any) + * @param operatorData bytes extra information provided by the operator (if any) + * @param requireReceptionAck if true, contract recipients are required to implement ERC777TokensRecipient + */ + function _send( + address from, + address to, + uint256 amount, + bytes memory userData, + bytes memory operatorData, + bool requireReceptionAck + ) internal virtual { + require(from != address(0), "ERC777: send from the zero address"); + require(to != address(0), "ERC777: send to the zero address"); + + address operator = _msgSender(); + + _callTokensToSend(operator, from, to, amount, userData, operatorData); + + _move(operator, from, to, amount, userData, operatorData); + + _callTokensReceived(operator, from, to, amount, userData, operatorData, requireReceptionAck); + } + + /** + * @dev Burn tokens + * @param from address token holder address + * @param amount uint256 amount of tokens to burn + * @param data bytes extra information provided by the token holder + * @param operatorData bytes extra information provided by the operator (if any) + */ + function _burn( + address from, + uint256 amount, + bytes memory data, + bytes memory operatorData + ) internal virtual { + require(from != address(0), "ERC777: burn from the zero address"); + + address operator = _msgSender(); + + _callTokensToSend(operator, from, address(0), amount, data, operatorData); + + _beforeTokenTransfer(operator, from, address(0), amount); + + // Update state variables + uint256 fromBalance = _balances[from]; + require(fromBalance >= amount, "ERC777: burn amount exceeds balance"); + unchecked { + _balances[from] = fromBalance - amount; + } + _totalSupply -= amount; + + emit Burned(operator, from, amount, data, operatorData); + emit Transfer(from, address(0), amount); + } + + function _move( + address operator, + address from, + address to, + uint256 amount, + bytes memory userData, + bytes memory operatorData + ) private { + _beforeTokenTransfer(operator, from, to, amount); + + uint256 fromBalance = _balances[from]; + require(fromBalance >= amount, "ERC777: transfer amount exceeds balance"); + unchecked { + _balances[from] = fromBalance - amount; + } + _balances[to] += amount; + + emit Sent(operator, from, to, amount, userData, operatorData); + emit Transfer(from, to, amount); + } + + /** + * @dev See {ERC20-_approve}. + * + * Note that accounts cannot have allowance issued by their operators. + */ + function _approve( + address holder, + address spender, + uint256 value + ) internal { + require(holder != address(0), "ERC777: approve from the zero address"); + require(spender != address(0), "ERC777: approve to the zero address"); + + _allowances[holder][spender] = value; + emit Approval(holder, spender, value); + } + + /** + * @dev Call from.tokensToSend() if the interface is registered + * @param operator address operator requesting the transfer + * @param from address token holder address + * @param to address recipient address + * @param amount uint256 amount of tokens to transfer + * @param userData bytes extra information provided by the token holder (if any) + * @param operatorData bytes extra information provided by the operator (if any) + */ + function _callTokensToSend( + address operator, + address from, + address to, + uint256 amount, + bytes memory userData, + bytes memory operatorData + ) private { + address implementer = _ERC1820_REGISTRY.getInterfaceImplementer(from, _TOKENS_SENDER_INTERFACE_HASH); + if (implementer != address(0)) { + IERC777Sender(implementer).tokensToSend(operator, from, to, amount, userData, operatorData); + } + } + + /** + * @dev Call to.tokensReceived() if the interface is registered. Reverts if the recipient is a contract but + * tokensReceived() was not registered for the recipient + * @param operator address operator requesting the transfer + * @param from address token holder address + * @param to address recipient address + * @param amount uint256 amount of tokens to transfer + * @param userData bytes extra information provided by the token holder (if any) + * @param operatorData bytes extra information provided by the operator (if any) + * @param requireReceptionAck if true, contract recipients are required to implement ERC777TokensRecipient + */ + function _callTokensReceived( + address operator, + address from, + address to, + uint256 amount, + bytes memory userData, + bytes memory operatorData, + bool requireReceptionAck + ) private { + address implementer = _ERC1820_REGISTRY.getInterfaceImplementer(to, _TOKENS_RECIPIENT_INTERFACE_HASH); + if (implementer != address(0)) { + IERC777Recipient(implementer).tokensReceived(operator, from, to, amount, userData, operatorData); + } else if (requireReceptionAck) { + require(!to.isContract(), "ERC777: token recipient contract has no implementer for ERC777TokensRecipient"); + } + } + + /** + * @dev Hook that is called before any token transfer. This includes + * calls to {send}, {transfer}, {operatorSend}, minting and burning. + * + * Calling conditions: + * + * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens + * will be to 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 operator, + address from, + address to, + uint256 amount + ) internal virtual {} +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol new file mode 100644 index 0000000000..89bfb5dae4 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol @@ -0,0 +1,193 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC777/IERC777.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Interface of the ERC777Token standard as defined in the EIP. + * + * This contract uses the + * https://eips.ethereum.org/EIPS/eip-1820[ERC1820 registry standard] to let + * token holders and recipients react to token movements by using setting implementers + * for the associated interfaces in said registry. See {IERC1820Registry} and + * {ERC1820Implementer}. + */ +interface IERC777 { + /** + * @dev Returns the name of the token. + */ + function name() external view returns (string memory); + + /** + * @dev Returns the symbol of the token, usually a shorter version of the + * name. + */ + function symbol() external view returns (string memory); + + /** + * @dev Returns the smallest part of the token that is not divisible. This + * means all token operations (creation, movement and destruction) must have + * amounts that are a multiple of this number. + * + * For most token contracts, this value will equal 1. + */ + function granularity() external view returns (uint256); + + /** + * @dev Returns the amount of tokens in existence. + */ + function totalSupply() external view returns (uint256); + + /** + * @dev Returns the amount of tokens owned by an account (`owner`). + */ + function balanceOf(address owner) external view returns (uint256); + + /** + * @dev Moves `amount` tokens from the caller's account to `recipient`. + * + * If send or receive hooks are registered for the caller and `recipient`, + * the corresponding functions will be called with `data` and empty + * `operatorData`. See {IERC777Sender} and {IERC777Recipient}. + * + * Emits a {Sent} event. + * + * Requirements + * + * - the caller must have at least `amount` tokens. + * - `recipient` cannot be the zero address. + * - if `recipient` is a contract, it must implement the {IERC777Recipient} + * interface. + */ + function send( + address recipient, + uint256 amount, + bytes calldata data + ) external; + + /** + * @dev Destroys `amount` tokens from the caller's account, reducing the + * total supply. + * + * If a send hook is registered for the caller, the corresponding function + * will be called with `data` and empty `operatorData`. See {IERC777Sender}. + * + * Emits a {Burned} event. + * + * Requirements + * + * - the caller must have at least `amount` tokens. + */ + function burn(uint256 amount, bytes calldata data) external; + + /** + * @dev Returns true if an account is an operator of `tokenHolder`. + * Operators can send and burn tokens on behalf of their owners. All + * accounts are their own operator. + * + * See {operatorSend} and {operatorBurn}. + */ + function isOperatorFor(address operator, address tokenHolder) external view returns (bool); + + /** + * @dev Make an account an operator of the caller. + * + * See {isOperatorFor}. + * + * Emits an {AuthorizedOperator} event. + * + * Requirements + * + * - `operator` cannot be calling address. + */ + function authorizeOperator(address operator) external; + + /** + * @dev Revoke an account's operator status for the caller. + * + * See {isOperatorFor} and {defaultOperators}. + * + * Emits a {RevokedOperator} event. + * + * Requirements + * + * - `operator` cannot be calling address. + */ + function revokeOperator(address operator) external; + + /** + * @dev Returns the list of default operators. These accounts are operators + * for all token holders, even if {authorizeOperator} was never called on + * them. + * + * This list is immutable, but individual holders may revoke these via + * {revokeOperator}, in which case {isOperatorFor} will return false. + */ + function defaultOperators() external view returns (address[] memory); + + /** + * @dev Moves `amount` tokens from `sender` to `recipient`. The caller must + * be an operator of `sender`. + * + * If send or receive hooks are registered for `sender` and `recipient`, + * the corresponding functions will be called with `data` and + * `operatorData`. See {IERC777Sender} and {IERC777Recipient}. + * + * Emits a {Sent} event. + * + * Requirements + * + * - `sender` cannot be the zero address. + * - `sender` must have at least `amount` tokens. + * - the caller must be an operator for `sender`. + * - `recipient` cannot be the zero address. + * - if `recipient` is a contract, it must implement the {IERC777Recipient} + * interface. + */ + function operatorSend( + address sender, + address recipient, + uint256 amount, + bytes calldata data, + bytes calldata operatorData + ) external; + + /** + * @dev Destroys `amount` tokens from `account`, reducing the total supply. + * The caller must be an operator of `account`. + * + * If a send hook is registered for `account`, the corresponding function + * will be called with `data` and `operatorData`. See {IERC777Sender}. + * + * Emits a {Burned} event. + * + * Requirements + * + * - `account` cannot be the zero address. + * - `account` must have at least `amount` tokens. + * - the caller must be an operator for `account`. + */ + function operatorBurn( + address account, + uint256 amount, + bytes calldata data, + bytes calldata operatorData + ) external; + + event Sent( + address indexed operator, + address indexed from, + address indexed to, + uint256 amount, + bytes data, + bytes operatorData + ); + + event Minted(address indexed operator, address indexed to, uint256 amount, bytes data, bytes operatorData); + + event Burned(address indexed operator, address indexed from, uint256 amount, bytes data, bytes operatorData); + + event AuthorizedOperator(address indexed operator, address indexed tokenHolder); + + event RevokedOperator(address indexed operator, address indexed tokenHolder); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol new file mode 100644 index 0000000000..4ea1a6984d --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC777/IERC777Recipient.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Interface of the ERC777TokensRecipient standard as defined in the EIP. + * + * Accounts can be notified of {IERC777} tokens being sent to them by having a + * contract implement this interface (contract holders can be their own + * implementer) and registering it on the + * https://eips.ethereum.org/EIPS/eip-1820[ERC1820 global registry]. + * + * See {IERC1820Registry} and {ERC1820Implementer}. + */ +interface IERC777Recipient { + /** + * @dev Called by an {IERC777} token contract whenever tokens are being + * moved or created into a registered account (`to`). The type of operation + * is conveyed by `from` being the zero address or not. + * + * This call occurs _after_ the token contract's state is updated, so + * {IERC777-balanceOf}, etc., can be used to query the post-operation state. + * + * This function may revert to prevent the operation from being executed. + */ + function tokensReceived( + address operator, + address from, + address to, + uint256 amount, + bytes calldata userData, + bytes calldata operatorData + ) external; +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol new file mode 100644 index 0000000000..34805bba1c --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol @@ -0,0 +1,35 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC777/IERC777Sender.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Interface of the ERC777TokensSender standard as defined in the EIP. + * + * {IERC777} Token holders can be notified of operations performed on their + * tokens by having a contract implement this interface (contract holders can be + * their own implementer) and registering it on the + * https://eips.ethereum.org/EIPS/eip-1820[ERC1820 global registry]. + * + * See {IERC1820Registry} and {ERC1820Implementer}. + */ +interface IERC777Sender { + /** + * @dev Called by an {IERC777} token contract whenever a registered holder's + * (`from`) tokens are about to be moved or destroyed. The type of operation + * is conveyed by `to` being the zero address or not. + * + * This call occurs _before_ the token contract's state is updated, so + * {IERC777-balanceOf}, etc., can be used to query the pre-operation state. + * + * This function may revert to prevent the operation from being executed. + */ + function tokensToSend( + address operator, + address from, + address to, + uint256 amount, + bytes calldata userData, + bytes calldata operatorData + ) external; +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol new file mode 100644 index 0000000000..4441fad483 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol @@ -0,0 +1,30 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (token/ERC777/presets/ERC777PresetFixedSupply.sol) +pragma solidity ^0.8.0; + +import "../ERC777.sol"; + +/** + * @dev {ERC777} token, including: + * + * - Preminted initial supply + * - No access control mechanism (for minting/pausing) and hence no governance + * + * _Available since v3.4._ + */ +contract ERC777PresetFixedSupply is ERC777 { + /** + * @dev Mints `initialSupply` amount of token and transfers them to `owner`. + * + * See {ERC777-constructor}. + */ + constructor( + string memory name, + string memory symbol, + address[] memory defaultOperators, + uint256 initialSupply, + address owner + ) ERC777(name, symbol, defaultOperators) { + _mint(owner, initialSupply, "", ""); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol new file mode 100644 index 0000000000..7fae36f1f3 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol @@ -0,0 +1,217 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/Address.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Collection of functions related to the address type + */ +library Address { + /** + * @dev Returns true if `account` is a contract. + * + * [IMPORTANT] + * ==== + * It is unsafe to assume that an address for which this function returns + * false is an externally-owned account (EOA) and not a contract. + * + * Among others, `isContract` will return false for the following + * types of addresses: + * + * - an externally-owned account + * - a contract in construction + * - an address where a contract will be created + * - an address where a contract lived, but was destroyed + * ==== + */ + function isContract(address account) internal view returns (bool) { + // This method relies on extcodesize, which returns 0 for contracts in + // construction, since the code is only stored at the end of the + // constructor execution. + + uint256 size; + assembly { + size := extcodesize(account) + } + return size > 0; + } + + /** + * @dev Replacement for Solidity's `transfer`: sends `amount` wei to + * `recipient`, forwarding all available gas and reverting on errors. + * + * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost + * of certain opcodes, possibly making contracts go over the 2300 gas limit + * imposed by `transfer`, making them unable to receive funds via + * `transfer`. {sendValue} removes this limitation. + * + * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. + * + * IMPORTANT: because control is transferred to `recipient`, care must be + * taken to not create reentrancy vulnerabilities. Consider using + * {ReentrancyGuard} or the + * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. + */ + function sendValue(address payable recipient, uint256 amount) internal { + require(address(this).balance >= amount, "Address: insufficient balance"); + + (bool success, ) = recipient.call{value: amount}(""); + require(success, "Address: unable to send value, recipient may have reverted"); + } + + /** + * @dev Performs a Solidity function call using a low level `call`. A + * plain `call` is an unsafe replacement for a function call: use this + * function instead. + * + * If `target` reverts with a revert reason, it is bubbled up by this + * function (like regular Solidity function calls). + * + * Returns the raw returned data. To convert to the expected return value, + * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. + * + * Requirements: + * + * - `target` must be a contract. + * - calling `target` with `data` must not revert. + * + * _Available since v3.1._ + */ + function functionCall(address target, bytes memory data) internal returns (bytes memory) { + return functionCall(target, data, "Address: low-level call failed"); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with + * `errorMessage` as a fallback revert reason when `target` reverts. + * + * _Available since v3.1._ + */ + function functionCall( + address target, + bytes memory data, + string memory errorMessage + ) internal returns (bytes memory) { + return functionCallWithValue(target, data, 0, errorMessage); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], + * but also transferring `value` wei to `target`. + * + * Requirements: + * + * - the calling contract must have an ETH balance of at least `value`. + * - the called Solidity function must be `payable`. + * + * _Available since v3.1._ + */ + function functionCallWithValue( + address target, + bytes memory data, + uint256 value + ) internal returns (bytes memory) { + return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); + } + + /** + * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but + * with `errorMessage` as a fallback revert reason when `target` reverts. + * + * _Available since v3.1._ + */ + function functionCallWithValue( + address target, + bytes memory data, + uint256 value, + string memory errorMessage + ) internal returns (bytes memory) { + require(address(this).balance >= value, "Address: insufficient balance for call"); + require(isContract(target), "Address: call to non-contract"); + + (bool success, bytes memory returndata) = target.call{value: value}(data); + return verifyCallResult(success, returndata, errorMessage); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], + * but performing a static call. + * + * _Available since v3.3._ + */ + function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { + return functionStaticCall(target, data, "Address: low-level static call failed"); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], + * but performing a static call. + * + * _Available since v3.3._ + */ + function functionStaticCall( + address target, + bytes memory data, + string memory errorMessage + ) internal view returns (bytes memory) { + require(isContract(target), "Address: static call to non-contract"); + + (bool success, bytes memory returndata) = target.staticcall(data); + return verifyCallResult(success, returndata, errorMessage); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], + * but performing a delegate call. + * + * _Available since v3.4._ + */ + function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { + return functionDelegateCall(target, data, "Address: low-level delegate call failed"); + } + + /** + * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], + * but performing a delegate call. + * + * _Available since v3.4._ + */ + function functionDelegateCall( + address target, + bytes memory data, + string memory errorMessage + ) internal returns (bytes memory) { + require(isContract(target), "Address: delegate call to non-contract"); + + (bool success, bytes memory returndata) = target.delegatecall(data); + return verifyCallResult(success, returndata, errorMessage); + } + + /** + * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the + * revert reason using the provided one. + * + * _Available since v4.3._ + */ + function verifyCallResult( + bool success, + bytes memory returndata, + string memory errorMessage + ) internal pure returns (bytes memory) { + if (success) { + return returndata; + } else { + // Look for revert reason and bubble it up if present + if (returndata.length > 0) { + // The easiest way to bubble the revert reason is using memory via assembly + + assembly { + let returndata_size := mload(returndata) + revert(add(32, returndata), returndata_size) + } + } else { + revert(errorMessage); + } + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol new file mode 100644 index 0000000000..5f06e30499 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol @@ -0,0 +1,48 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/Arrays.sol) + +pragma solidity ^0.8.0; + +import "./math/Math.sol"; + +/** + * @dev Collection of functions related to array types. + */ +library Arrays { + /** + * @dev Searches a sorted `array` and returns the first index that contains + * a value greater or equal to `element`. If no such index exists (i.e. all + * values in the array are strictly less than `element`), the array length is + * returned. Time complexity O(log n). + * + * `array` is expected to be sorted in ascending order, and to contain no + * repeated elements. + */ + function findUpperBound(uint256[] storage array, uint256 element) internal view returns (uint256) { + if (array.length == 0) { + return 0; + } + + uint256 low = 0; + uint256 high = array.length; + + while (low < high) { + uint256 mid = Math.average(low, high); + + // Note that mid will always be strictly less than high (i.e. it will be a valid array index) + // because Math.average rounds down (it does integer division with truncation). + if (array[mid] > element) { + high = mid; + } else { + low = mid + 1; + } + } + + // At this point `low` is the exclusive upper bound. We will return the inclusive upper bound. + if (low > 0 && array[low - 1] == element) { + return low - 1; + } else { + return low; + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol new file mode 100644 index 0000000000..8a402a141c --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/Context.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Provides information about the current execution context, including the + * sender of the transaction and its data. While these are generally available + * via msg.sender and msg.data, they should not be accessed in such a direct + * manner, since when dealing with meta-transactions the account sending and + * paying for execution may not be the actual sender (as far as an application + * is concerned). + * + * This contract is only required for intermediate, library-like contracts. + */ +abstract contract Context { + function _msgSender() internal view virtual returns (address) { + return msg.sender; + } + + function _msgData() internal view virtual returns (bytes calldata) { + return msg.data; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol new file mode 100644 index 0000000000..b2538929ea --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/Counters.sol) + +pragma solidity ^0.8.0; + +/** + * @title Counters + * @author Matt Condon (@shrugs) + * @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number + * of elements in a mapping, issuing ERC721 ids, or counting request ids. + * + * Include with `using Counters for Counters.Counter;` + */ +library Counters { + struct Counter { + // This variable should never be directly accessed by users of the library: interactions must be restricted to + // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add + // this feature: see https://github.com/ethereum/solidity/issues/4637 + uint256 _value; // default: 0 + } + + function current(Counter storage counter) internal view returns (uint256) { + return counter._value; + } + + function increment(Counter storage counter) internal { + unchecked { + counter._value += 1; + } + } + + function decrement(Counter storage counter) internal { + uint256 value = counter._value; + require(value > 0, "Counter: decrement overflow"); + unchecked { + counter._value = value - 1; + } + } + + function reset(Counter storage counter) internal { + counter._value = 0; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol new file mode 100644 index 0000000000..b65b63737e --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol @@ -0,0 +1,65 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/Create2.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Helper to make usage of the `CREATE2` EVM opcode easier and safer. + * `CREATE2` can be used to compute in advance the address where a smart + * contract will be deployed, which allows for interesting new mechanisms known + * as 'counterfactual interactions'. + * + * See the https://eips.ethereum.org/EIPS/eip-1014#motivation[EIP] for more + * information. + */ +library Create2 { + /** + * @dev Deploys a contract using `CREATE2`. The address where the contract + * will be deployed can be known in advance via {computeAddress}. + * + * The bytecode for a contract can be obtained from Solidity with + * `type(contractName).creationCode`. + * + * Requirements: + * + * - `bytecode` must not be empty. + * - `salt` must have not been used for `bytecode` already. + * - the factory must have a balance of at least `amount`. + * - if `amount` is non-zero, `bytecode` must have a `payable` constructor. + */ + function deploy( + uint256 amount, + bytes32 salt, + bytes memory bytecode + ) internal returns (address) { + address addr; + require(address(this).balance >= amount, "Create2: insufficient balance"); + require(bytecode.length != 0, "Create2: bytecode length is zero"); + assembly { + addr := create2(amount, add(bytecode, 0x20), mload(bytecode), salt) + } + require(addr != address(0), "Create2: Failed on deploy"); + return addr; + } + + /** + * @dev Returns the address where a contract will be stored if deployed via {deploy}. Any change in the + * `bytecodeHash` or `salt` will result in a new destination address. + */ + function computeAddress(bytes32 salt, bytes32 bytecodeHash) internal view returns (address) { + return computeAddress(salt, bytecodeHash, address(this)); + } + + /** + * @dev Returns the address where a contract will be stored if deployed via {deploy} from a contract located at + * `deployer`. If `deployer` is this contract's address, returns the same value as {computeAddress}. + */ + function computeAddress( + bytes32 salt, + bytes32 bytecodeHash, + address deployer + ) internal pure returns (address) { + bytes32 _data = keccak256(abi.encodePacked(bytes1(0xff), deployer, salt, bytecodeHash)); + return address(uint160(uint256(_data))); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol new file mode 100644 index 0000000000..2911348abe --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/Multicall.sol) + +pragma solidity ^0.8.0; + +import "./Address.sol"; + +/** + * @dev Provides a function to batch together multiple calls in a single external call. + * + * _Available since v4.1._ + */ +abstract contract Multicall { + /** + * @dev Receives and executes a batch of function calls on this contract. + */ + function multicall(bytes[] calldata data) external returns (bytes[] memory results) { + results = new bytes[](data.length); + for (uint256 i = 0; i < data.length; i++) { + results[i] = Address.functionDelegateCall(address(this), data[i]); + } + return results; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol new file mode 100644 index 0000000000..b33a91efb4 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/StorageSlot.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Library for reading and writing primitive types to specific storage slots. + * + * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. + * This library helps with reading and writing to such slots without the need for inline assembly. + * + * The functions in this library return Slot structs that contain a `value` member that can be used to read or write. + * + * Example usage to set ERC1967 implementation slot: + * ``` + * contract ERC1967 { + * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; + * + * function _getImplementation() internal view returns (address) { + * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; + * } + * + * function _setImplementation(address newImplementation) internal { + * require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract"); + * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; + * } + * } + * ``` + * + * _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._ + */ +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) { + assembly { + r.slot := slot + } + } + + /** + * @dev Returns an `BooleanSlot` with member `value` located at `slot`. + */ + function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) { + assembly { + r.slot := slot + } + } + + /** + * @dev Returns an `Bytes32Slot` with member `value` located at `slot`. + */ + function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) { + assembly { + r.slot := slot + } + } + + /** + * @dev Returns an `Uint256Slot` with member `value` located at `slot`. + */ + function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) { + assembly { + r.slot := slot + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol new file mode 100644 index 0000000000..0cf6e8b279 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol @@ -0,0 +1,67 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/Strings.sol) + +pragma solidity ^0.8.0; + +/** + * @dev String operations. + */ +library Strings { + bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; + + /** + * @dev Converts a `uint256` to its ASCII `string` decimal representation. + */ + function toString(uint256 value) internal pure returns (string memory) { + // Inspired by OraclizeAPI's implementation - MIT licence + // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol + + if (value == 0) { + return "0"; + } + uint256 temp = value; + uint256 digits; + while (temp != 0) { + digits++; + temp /= 10; + } + bytes memory buffer = new bytes(digits); + while (value != 0) { + digits -= 1; + buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); + value /= 10; + } + return string(buffer); + } + + /** + * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. + */ + function toHexString(uint256 value) internal pure returns (string memory) { + if (value == 0) { + return "0x00"; + } + uint256 temp = value; + uint256 length = 0; + while (temp != 0) { + length++; + temp >>= 8; + } + return toHexString(value, length); + } + + /** + * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. + */ + function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { + bytes memory buffer = new bytes(2 * length + 2); + buffer[0] = "0"; + buffer[1] = "x"; + for (uint256 i = 2 * length + 1; i > 1; --i) { + buffer[i] = _HEX_SYMBOLS[value & 0xf]; + value >>= 4; + } + require(value == 0, "Strings: hex length insufficient"); + return string(buffer); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol new file mode 100644 index 0000000000..666abe58ed --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol @@ -0,0 +1,73 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/Timers.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Tooling for timepoints, timers and delays + */ +library Timers { + struct Timestamp { + uint64 _deadline; + } + + function getDeadline(Timestamp memory timer) internal pure returns (uint64) { + return timer._deadline; + } + + function setDeadline(Timestamp storage timer, uint64 timestamp) internal { + timer._deadline = timestamp; + } + + function reset(Timestamp storage timer) internal { + timer._deadline = 0; + } + + function isUnset(Timestamp memory timer) internal pure returns (bool) { + return timer._deadline == 0; + } + + function isStarted(Timestamp memory timer) internal pure returns (bool) { + return timer._deadline > 0; + } + + function isPending(Timestamp memory timer) internal view returns (bool) { + return timer._deadline > block.timestamp; + } + + function isExpired(Timestamp memory timer) internal view returns (bool) { + return isStarted(timer) && timer._deadline <= block.timestamp; + } + + struct BlockNumber { + uint64 _deadline; + } + + function getDeadline(BlockNumber memory timer) internal pure returns (uint64) { + return timer._deadline; + } + + function setDeadline(BlockNumber storage timer, uint64 timestamp) internal { + timer._deadline = timestamp; + } + + function reset(BlockNumber storage timer) internal { + timer._deadline = 0; + } + + function isUnset(BlockNumber memory timer) internal pure returns (bool) { + return timer._deadline == 0; + } + + function isStarted(BlockNumber memory timer) internal pure returns (bool) { + return timer._deadline > 0; + } + + function isPending(BlockNumber memory timer) internal view returns (bool) { + return timer._deadline > block.number; + } + + function isExpired(BlockNumber memory timer) internal view returns (bool) { + return isStarted(timer) && timer._deadline <= block.number; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol new file mode 100644 index 0000000000..7334d24480 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol @@ -0,0 +1,234 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/cryptography/ECDSA.sol) + +pragma solidity ^0.8.0; + +import "../Strings.sol"; + +/** + * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations. + * + * These functions can be used to verify that a message was signed by the holder + * of the private keys of a given address. + */ +library ECDSA { + enum RecoverError { + NoError, + InvalidSignature, + InvalidSignatureLength, + InvalidSignatureS, + InvalidSignatureV + } + + function _throwError(RecoverError error) private pure { + if (error == RecoverError.NoError) { + return; // no error: do nothing + } else if (error == RecoverError.InvalidSignature) { + revert("ECDSA: invalid signature"); + } else if (error == RecoverError.InvalidSignatureLength) { + revert("ECDSA: invalid signature length"); + } else if (error == RecoverError.InvalidSignatureS) { + revert("ECDSA: invalid signature 's' value"); + } else if (error == RecoverError.InvalidSignatureV) { + revert("ECDSA: invalid signature 'v' value"); + } + } + + /** + * @dev Returns the address that signed a hashed message (`hash`) with + * `signature` or error string. This address can then be used for verification purposes. + * + * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures: + * this function rejects them by requiring the `s` value to be in the lower + * half order, and the `v` value to be either 27 or 28. + * + * IMPORTANT: `hash` _must_ be the result of a hash operation for the + * verification to be secure: it is possible to craft signatures that + * recover to arbitrary addresses for non-hashed data. A safe way to ensure + * this is by receiving a hash of the original message (which may otherwise + * be too long), and then calling {toEthSignedMessageHash} on it. + * + * Documentation for signature generation: + * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js] + * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers] + * + * _Available since v4.3._ + */ + function tryRecover(bytes32 hash, bytes memory signature) internal pure returns (address, RecoverError) { + // Check the signature length + // - case 65: r,s,v signature (standard) + // - case 64: r,vs signature (cf https://eips.ethereum.org/EIPS/eip-2098) _Available since v4.1._ + if (signature.length == 65) { + bytes32 r; + bytes32 s; + uint8 v; + // ecrecover takes the signature parameters, and the only way to get them + // currently is to use assembly. + assembly { + r := mload(add(signature, 0x20)) + s := mload(add(signature, 0x40)) + v := byte(0, mload(add(signature, 0x60))) + } + return tryRecover(hash, v, r, s); + } else if (signature.length == 64) { + bytes32 r; + bytes32 vs; + // ecrecover takes the signature parameters, and the only way to get them + // currently is to use assembly. + assembly { + r := mload(add(signature, 0x20)) + vs := mload(add(signature, 0x40)) + } + return tryRecover(hash, r, vs); + } else { + return (address(0), RecoverError.InvalidSignatureLength); + } + } + + /** + * @dev Returns the address that signed a hashed message (`hash`) with + * `signature`. This address can then be used for verification purposes. + * + * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures: + * this function rejects them by requiring the `s` value to be in the lower + * half order, and the `v` value to be either 27 or 28. + * + * IMPORTANT: `hash` _must_ be the result of a hash operation for the + * verification to be secure: it is possible to craft signatures that + * recover to arbitrary addresses for non-hashed data. A safe way to ensure + * this is by receiving a hash of the original message (which may otherwise + * be too long), and then calling {toEthSignedMessageHash} on it. + */ + function recover(bytes32 hash, bytes memory signature) internal pure returns (address) { + (address recovered, RecoverError error) = tryRecover(hash, signature); + _throwError(error); + return recovered; + } + + /** + * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately. + * + * See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures] + * + * _Available since v4.3._ + */ + function tryRecover( + bytes32 hash, + bytes32 r, + bytes32 vs + ) internal pure returns (address, RecoverError) { + bytes32 s; + uint8 v; + assembly { + s := and(vs, 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) + v := add(shr(255, vs), 27) + } + return tryRecover(hash, v, r, s); + } + + /** + * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately. + * + * _Available since v4.2._ + */ + function recover( + bytes32 hash, + bytes32 r, + bytes32 vs + ) internal pure returns (address) { + (address recovered, RecoverError error) = tryRecover(hash, r, vs); + _throwError(error); + return recovered; + } + + /** + * @dev Overload of {ECDSA-tryRecover} that receives the `v`, + * `r` and `s` signature fields separately. + * + * _Available since v4.3._ + */ + function tryRecover( + bytes32 hash, + uint8 v, + bytes32 r, + bytes32 s + ) internal pure returns (address, RecoverError) { + // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature + // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines + // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most + // signatures from current libraries generate a unique signature with an s-value in the lower half order. + // + // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value + // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or + // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept + // these malleable signatures as well. + if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) { + return (address(0), RecoverError.InvalidSignatureS); + } + if (v != 27 && v != 28) { + return (address(0), RecoverError.InvalidSignatureV); + } + + // If the signature is valid (and not malleable), return the signer address + address signer = ecrecover(hash, v, r, s); + if (signer == address(0)) { + return (address(0), RecoverError.InvalidSignature); + } + + return (signer, RecoverError.NoError); + } + + /** + * @dev Overload of {ECDSA-recover} that receives the `v`, + * `r` and `s` signature fields separately. + */ + function recover( + bytes32 hash, + uint8 v, + bytes32 r, + bytes32 s + ) internal pure returns (address) { + (address recovered, RecoverError error) = tryRecover(hash, v, r, s); + _throwError(error); + return recovered; + } + + /** + * @dev Returns an Ethereum Signed Message, created from a `hash`. This + * produces hash corresponding to the one signed with the + * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] + * JSON-RPC method as part of EIP-191. + * + * See {recover}. + */ + function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) { + // 32 is the length in bytes of hash, + // enforced by the type signature above + return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)); + } + + /** + * @dev Returns an Ethereum Signed Message, created from `s`. This + * produces hash corresponding to the one signed with the + * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] + * JSON-RPC method as part of EIP-191. + * + * See {recover}. + */ + function toEthSignedMessageHash(bytes memory s) internal pure returns (bytes32) { + return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n", Strings.toString(s.length), s)); + } + + /** + * @dev Returns an Ethereum Signed Typed Data, created from a + * `domainSeparator` and a `structHash`. This produces hash corresponding + * to the one signed with the + * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] + * JSON-RPC method as part of EIP-712. + * + * See {recover}. + */ + function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32) { + return keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash)); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol new file mode 100644 index 0000000000..4092d66b96 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/cryptography/MerkleProof.sol) + +pragma solidity ^0.8.0; + +/** + * @dev These functions deal with verification of Merkle Trees proofs. + * + * The proofs can be generated using the JavaScript library + * https://github.com/miguelmota/merkletreejs[merkletreejs]. + * Note: the hashing algorithm should be keccak256 and pair sorting should be enabled. + * + * See `test/utils/cryptography/MerkleProof.test.js` for some examples. + */ +library MerkleProof { + /** + * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree + * defined by `root`. For this, a `proof` must be provided, containing + * sibling hashes on the branch from the leaf to the root of the tree. Each + * pair of leaves and each pair of pre-images are assumed to be sorted. + */ + function verify( + bytes32[] memory proof, + bytes32 root, + bytes32 leaf + ) internal pure returns (bool) { + return processProof(proof, leaf) == root; + } + + /** + * @dev Returns the rebuilt hash obtained by traversing a Merklee tree up + * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt + * hash matches the root of the tree. When processing the proof, the pairs + * of leafs & pre-images are assumed to be sorted. + * + * _Available since v4.4._ + */ + function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) { + bytes32 computedHash = leaf; + for (uint256 i = 0; i < proof.length; i++) { + bytes32 proofElement = proof[i]; + if (computedHash <= proofElement) { + // Hash(current computed hash + current element of the proof) + computedHash = keccak256(abi.encodePacked(computedHash, proofElement)); + } else { + // Hash(current element of the proof + current computed hash) + computedHash = keccak256(abi.encodePacked(proofElement, computedHash)); + } + } + return computedHash; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol new file mode 100644 index 0000000000..5d9ff35500 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol @@ -0,0 +1,36 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/cryptography/SignatureChecker.sol) + +pragma solidity ^0.8.0; + +import "./ECDSA.sol"; +import "../Address.sol"; +import "../../interfaces/IERC1271.sol"; + +/** + * @dev Signature verification helper: Provide a single mechanism to verify both private-key (EOA) ECDSA signature and + * ERC1271 contract signatures. Using this instead of ECDSA.recover in your contract will make them compatible with + * smart contract wallets such as Argent and Gnosis. + * + * Note: unlike ECDSA signatures, contract signature's are revocable, and the outcome of this function can thus change + * through time. It could return true at block N and false at block N+1 (or the opposite). + * + * _Available since v4.1._ + */ +library SignatureChecker { + function isValidSignatureNow( + address signer, + bytes32 hash, + bytes memory signature + ) internal view returns (bool) { + (address recovered, ECDSA.RecoverError error) = ECDSA.tryRecover(hash, signature); + if (error == ECDSA.RecoverError.NoError && recovered == signer) { + return true; + } + + (bool success, bytes memory result) = signer.staticcall( + abi.encodeWithSelector(IERC1271.isValidSignature.selector, hash, signature) + ); + return (success && result.length == 32 && abi.decode(result, (bytes4)) == IERC1271.isValidSignature.selector); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol new file mode 100644 index 0000000000..68c96378b4 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol @@ -0,0 +1,104 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/cryptography/draft-EIP712.sol) + +pragma solidity ^0.8.0; + +import "./ECDSA.sol"; + +/** + * @dev https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data. + * + * The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible, + * thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding + * they need in their contracts using a combination of `abi.encode` and `keccak256`. + * + * This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding + * scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA + * ({_hashTypedDataV4}). + * + * The implementation of the domain separator was designed to be as efficient as possible while still properly updating + * the chain id to protect against replay attacks on an eventual fork of the chain. + * + * NOTE: This contract implements the version of the encoding known as "v4", as implemented by the JSON RPC method + * https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask]. + * + * _Available since v3.4._ + */ +abstract contract EIP712 { + /* solhint-disable var-name-mixedcase */ + // Cache the domain separator as an immutable value, but also store the chain id that it corresponds to, in order to + // invalidate the cached domain separator if the chain id changes. + bytes32 private immutable _CACHED_DOMAIN_SEPARATOR; + uint256 private immutable _CACHED_CHAIN_ID; + address private immutable _CACHED_THIS; + + bytes32 private immutable _HASHED_NAME; + bytes32 private immutable _HASHED_VERSION; + bytes32 private immutable _TYPE_HASH; + + /* solhint-enable var-name-mixedcase */ + + /** + * @dev Initializes the domain separator and parameter caches. + * + * The meaning of `name` and `version` is specified in + * https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP 712]: + * + * - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol. + * - `version`: the current major version of the signing domain. + * + * NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart + * contract upgrade]. + */ + constructor(string memory name, string memory version) { + bytes32 hashedName = keccak256(bytes(name)); + bytes32 hashedVersion = keccak256(bytes(version)); + bytes32 typeHash = keccak256( + "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)" + ); + _HASHED_NAME = hashedName; + _HASHED_VERSION = hashedVersion; + _CACHED_CHAIN_ID = block.chainid; + _CACHED_DOMAIN_SEPARATOR = _buildDomainSeparator(typeHash, hashedName, hashedVersion); + _CACHED_THIS = address(this); + _TYPE_HASH = typeHash; + } + + /** + * @dev Returns the domain separator for the current chain. + */ + function _domainSeparatorV4() internal view returns (bytes32) { + if (address(this) == _CACHED_THIS && block.chainid == _CACHED_CHAIN_ID) { + return _CACHED_DOMAIN_SEPARATOR; + } else { + return _buildDomainSeparator(_TYPE_HASH, _HASHED_NAME, _HASHED_VERSION); + } + } + + function _buildDomainSeparator( + bytes32 typeHash, + bytes32 nameHash, + bytes32 versionHash + ) private view returns (bytes32) { + return keccak256(abi.encode(typeHash, nameHash, versionHash, block.chainid, address(this))); + } + + /** + * @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this + * function returns the hash of the fully encoded EIP712 message for this domain. + * + * This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example: + * + * ```solidity + * bytes32 digest = _hashTypedDataV4(keccak256(abi.encode( + * keccak256("Mail(address to,string contents)"), + * mailTo, + * keccak256(bytes(mailContents)) + * ))); + * address signer = ECDSA.recover(digest, signature); + * ``` + */ + function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { + return ECDSA.toTypedDataHash(_domainSeparatorV4(), structHash); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol new file mode 100644 index 0000000000..a9bc3b165b --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/escrow/ConditionalEscrow.sol) + +pragma solidity ^0.8.0; + +import "./Escrow.sol"; + +/** + * @title ConditionalEscrow + * @dev Base abstract escrow to only allow withdrawal if a condition is met. + * @dev Intended usage: See {Escrow}. Same usage guidelines apply here. + */ +abstract contract ConditionalEscrow is Escrow { + /** + * @dev Returns whether an address is allowed to withdraw their funds. To be + * implemented by derived contracts. + * @param payee The destination address of the funds. + */ + function withdrawalAllowed(address payee) public view virtual returns (bool); + + function withdraw(address payable payee) public virtual override { + require(withdrawalAllowed(payee), "ConditionalEscrow: payee is not allowed to withdraw"); + super.withdraw(payee); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol new file mode 100644 index 0000000000..e42a4fe671 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol @@ -0,0 +1,63 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/escrow/Escrow.sol) + +pragma solidity ^0.8.0; + +import "../../access/Ownable.sol"; +import "../Address.sol"; + +/** + * @title Escrow + * @dev Base escrow contract, holds funds designated for a payee until they + * withdraw them. + * + * Intended usage: This contract (and derived escrow contracts) should be a + * standalone contract, that only interacts with the contract that instantiated + * it. That way, it is guaranteed that all Ether will be handled according to + * the `Escrow` rules, and there is no need to check for payable functions or + * transfers in the inheritance tree. The contract that uses the escrow as its + * payment method should be its owner, and provide public methods redirecting + * to the escrow's deposit and withdraw. + */ +contract Escrow is Ownable { + using Address for address payable; + + event Deposited(address indexed payee, uint256 weiAmount); + event Withdrawn(address indexed payee, uint256 weiAmount); + + mapping(address => uint256) private _deposits; + + function depositsOf(address payee) public view returns (uint256) { + return _deposits[payee]; + } + + /** + * @dev Stores the sent amount as credit to be withdrawn. + * @param payee The destination address of the funds. + */ + function deposit(address payee) public payable virtual onlyOwner { + uint256 amount = msg.value; + _deposits[payee] += amount; + emit Deposited(payee, amount); + } + + /** + * @dev Withdraw accumulated balance for a payee, forwarding all gas to the + * recipient. + * + * WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. + * Make sure you trust the recipient, or are either following the + * checks-effects-interactions pattern or using {ReentrancyGuard}. + * + * @param payee The address whose funds will be withdrawn and transferred to. + */ + function withdraw(address payable payee) public virtual onlyOwner { + uint256 payment = _deposits[payee]; + + _deposits[payee] = 0; + + payee.sendValue(payment); + + emit Withdrawn(payee, payment); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol new file mode 100644 index 0000000000..8d182a297f --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol @@ -0,0 +1,100 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/escrow/RefundEscrow.sol) + +pragma solidity ^0.8.0; + +import "./ConditionalEscrow.sol"; + +/** + * @title RefundEscrow + * @dev Escrow that holds funds for a beneficiary, deposited from multiple + * parties. + * @dev Intended usage: See {Escrow}. Same usage guidelines apply here. + * @dev The owner account (that is, the contract that instantiates this + * contract) may deposit, close the deposit period, and allow for either + * withdrawal by the beneficiary, or refunds to the depositors. All interactions + * with `RefundEscrow` will be made through the owner contract. + */ +contract RefundEscrow is ConditionalEscrow { + using Address for address payable; + + enum State { + Active, + Refunding, + Closed + } + + event RefundsClosed(); + event RefundsEnabled(); + + State private _state; + address payable private immutable _beneficiary; + + /** + * @dev Constructor. + * @param beneficiary_ The beneficiary of the deposits. + */ + constructor(address payable beneficiary_) { + require(beneficiary_ != address(0), "RefundEscrow: beneficiary is the zero address"); + _beneficiary = beneficiary_; + _state = State.Active; + } + + /** + * @return The current state of the escrow. + */ + function state() public view virtual returns (State) { + return _state; + } + + /** + * @return The beneficiary of the escrow. + */ + function beneficiary() public view virtual returns (address payable) { + return _beneficiary; + } + + /** + * @dev Stores funds that may later be refunded. + * @param refundee The address funds will be sent to if a refund occurs. + */ + function deposit(address refundee) public payable virtual override { + require(state() == State.Active, "RefundEscrow: can only deposit while active"); + super.deposit(refundee); + } + + /** + * @dev Allows for the beneficiary to withdraw their funds, rejecting + * further deposits. + */ + function close() public virtual onlyOwner { + require(state() == State.Active, "RefundEscrow: can only close while active"); + _state = State.Closed; + emit RefundsClosed(); + } + + /** + * @dev Allows for refunds to take place, rejecting further deposits. + */ + function enableRefunds() public virtual onlyOwner { + require(state() == State.Active, "RefundEscrow: can only enable refunds while active"); + _state = State.Refunding; + emit RefundsEnabled(); + } + + /** + * @dev Withdraws the beneficiary's funds. + */ + function beneficiaryWithdraw() public virtual { + require(state() == State.Closed, "RefundEscrow: beneficiary can only withdraw while closed"); + beneficiary().sendValue(address(this).balance); + } + + /** + * @dev Returns whether refundees can withdraw their deposits (be refunded). The overridden function receives a + * 'payee' argument, but we ignore it here since the condition is global, not per-payee. + */ + function withdrawalAllowed(address) public view override returns (bool) { + return state() == State.Refunding; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol new file mode 100644 index 0000000000..542d0b07d6 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol @@ -0,0 +1,29 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/introspection/ERC165.sol) + +pragma solidity ^0.8.0; + +import "./IERC165.sol"; + +/** + * @dev Implementation of the {IERC165} interface. + * + * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check + * for the additional interface id that will be supported. For example: + * + * ```solidity + * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { + * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); + * } + * ``` + * + * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation. + */ +abstract contract ERC165 is IERC165 { + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { + return interfaceId == type(IERC165).interfaceId; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol new file mode 100644 index 0000000000..b24aeba528 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol @@ -0,0 +1,113 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/introspection/ERC165Checker.sol) + +pragma solidity ^0.8.0; + +import "./IERC165.sol"; + +/** + * @dev Library used to query support of an interface declared via {IERC165}. + * + * Note that these functions return the actual result of the query: they do not + * `revert` if an interface is not supported. It is up to the caller to decide + * what to do in these cases. + */ +library ERC165Checker { + // As per the EIP-165 spec, no interface should ever match 0xffffffff + bytes4 private constant _INTERFACE_ID_INVALID = 0xffffffff; + + /** + * @dev Returns true if `account` supports the {IERC165} interface, + */ + function supportsERC165(address account) internal view returns (bool) { + // Any contract that implements ERC165 must explicitly indicate support of + // InterfaceId_ERC165 and explicitly indicate non-support of InterfaceId_Invalid + return + _supportsERC165Interface(account, type(IERC165).interfaceId) && + !_supportsERC165Interface(account, _INTERFACE_ID_INVALID); + } + + /** + * @dev Returns true if `account` supports the interface defined by + * `interfaceId`. Support for {IERC165} itself is queried automatically. + * + * See {IERC165-supportsInterface}. + */ + function supportsInterface(address account, bytes4 interfaceId) internal view returns (bool) { + // query support of both ERC165 as per the spec and support of _interfaceId + return supportsERC165(account) && _supportsERC165Interface(account, interfaceId); + } + + /** + * @dev Returns a boolean array where each value corresponds to the + * interfaces passed in and whether they're supported or not. This allows + * you to batch check interfaces for a contract where your expectation + * is that some interfaces may not be supported. + * + * See {IERC165-supportsInterface}. + * + * _Available since v3.4._ + */ + function getSupportedInterfaces(address account, bytes4[] memory interfaceIds) + internal + view + returns (bool[] memory) + { + // an array of booleans corresponding to interfaceIds and whether they're supported or not + bool[] memory interfaceIdsSupported = new bool[](interfaceIds.length); + + // query support of ERC165 itself + if (supportsERC165(account)) { + // query support of each interface in interfaceIds + for (uint256 i = 0; i < interfaceIds.length; i++) { + interfaceIdsSupported[i] = _supportsERC165Interface(account, interfaceIds[i]); + } + } + + return interfaceIdsSupported; + } + + /** + * @dev Returns true if `account` supports all the interfaces defined in + * `interfaceIds`. Support for {IERC165} itself is queried automatically. + * + * Batch-querying can lead to gas savings by skipping repeated checks for + * {IERC165} support. + * + * See {IERC165-supportsInterface}. + */ + function supportsAllInterfaces(address account, bytes4[] memory interfaceIds) internal view returns (bool) { + // query support of ERC165 itself + if (!supportsERC165(account)) { + return false; + } + + // query support of each interface in _interfaceIds + for (uint256 i = 0; i < interfaceIds.length; i++) { + if (!_supportsERC165Interface(account, interfaceIds[i])) { + return false; + } + } + + // all interfaces supported + return true; + } + + /** + * @notice Query if a contract implements an interface, does not check ERC165 support + * @param account The address of the contract to query for support of an interface + * @param interfaceId The interface identifier, as specified in ERC-165 + * @return true if the contract at account indicates support of the interface with + * identifier interfaceId, false otherwise + * @dev Assumes that account contains a contract that supports ERC165, otherwise + * the behavior of this method is undefined. This precondition can be checked + * with {supportsERC165}. + * Interface identification is specified in ERC-165. + */ + function _supportsERC165Interface(address account, bytes4 interfaceId) private view returns (bool) { + bytes memory encodedParams = abi.encodeWithSelector(IERC165.supportsInterface.selector, interfaceId); + (bool success, bytes memory result) = account.staticcall{gas: 30000}(encodedParams); + if (result.length < 32) return false; + return success && abi.decode(result, (bool)); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol new file mode 100644 index 0000000000..5b7c8d3d04 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol @@ -0,0 +1,42 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/introspection/ERC165Storage.sol) + +pragma solidity ^0.8.0; + +import "./ERC165.sol"; + +/** + * @dev Storage based implementation of the {IERC165} interface. + * + * Contracts may inherit from this and call {_registerInterface} to declare + * their support of an interface. + */ +abstract contract ERC165Storage is ERC165 { + /** + * @dev Mapping of interface ids to whether or not it's supported. + */ + mapping(bytes4 => bool) private _supportedInterfaces; + + /** + * @dev See {IERC165-supportsInterface}. + */ + function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { + return super.supportsInterface(interfaceId) || _supportedInterfaces[interfaceId]; + } + + /** + * @dev Registers the contract as an implementer of the interface defined by + * `interfaceId`. Support of the actual ERC165 interface is automatic and + * registering its interface id is not required. + * + * See {IERC165-supportsInterface}. + * + * Requirements: + * + * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`). + */ + function _registerInterface(bytes4 interfaceId) internal virtual { + require(interfaceId != 0xffffffff, "ERC165: invalid interface id"); + _supportedInterfaces[interfaceId] = true; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol new file mode 100644 index 0000000000..50a4f1fc4d --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol @@ -0,0 +1,44 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/introspection/ERC1820Implementer.sol) + +pragma solidity ^0.8.0; + +import "./IERC1820Implementer.sol"; + +/** + * @dev Implementation of the {IERC1820Implementer} interface. + * + * Contracts may inherit from this and call {_registerInterfaceForAddress} to + * declare their willingness to be implementers. + * {IERC1820Registry-setInterfaceImplementer} should then be called for the + * registration to be complete. + */ +contract ERC1820Implementer is IERC1820Implementer { + bytes32 private constant _ERC1820_ACCEPT_MAGIC = keccak256("ERC1820_ACCEPT_MAGIC"); + + mapping(bytes32 => mapping(address => bool)) private _supportedInterfaces; + + /** + * @dev See {IERC1820Implementer-canImplementInterfaceForAddress}. + */ + function canImplementInterfaceForAddress(bytes32 interfaceHash, address account) + public + view + virtual + override + returns (bytes32) + { + return _supportedInterfaces[interfaceHash][account] ? _ERC1820_ACCEPT_MAGIC : bytes32(0x00); + } + + /** + * @dev Declares the contract as willing to be an implementer of + * `interfaceHash` for `account`. + * + * See {IERC1820Registry-setInterfaceImplementer} and + * {IERC1820Registry-interfaceHash}. + */ + function _registerInterfaceForAddress(bytes32 interfaceHash, address account) internal virtual { + _supportedInterfaces[interfaceHash][account] = true; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol new file mode 100644 index 0000000000..40cf6d29df --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol @@ -0,0 +1,25 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/introspection/IERC165.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Interface of the ERC165 standard, as defined in the + * https://eips.ethereum.org/EIPS/eip-165[EIP]. + * + * Implementers can declare support of contract interfaces, which can then be + * queried by others ({ERC165Checker}). + * + * For an implementation, see {ERC165}. + */ +interface IERC165 { + /** + * @dev Returns true if this contract implements the interface defined by + * `interfaceId`. See the corresponding + * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] + * to learn more about how these ids are created. + * + * This function call must use less than 30 000 gas. + */ + function supportsInterface(bytes4 interfaceId) external view returns (bool); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol new file mode 100644 index 0000000000..1e474ddb68 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol @@ -0,0 +1,20 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/introspection/IERC1820Implementer.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Interface for an ERC1820 implementer, as defined in the + * https://eips.ethereum.org/EIPS/eip-1820#interface-implementation-erc1820implementerinterface[EIP]. + * Used by contracts that will be registered as implementers in the + * {IERC1820Registry}. + */ +interface IERC1820Implementer { + /** + * @dev Returns a special value (`ERC1820_ACCEPT_MAGIC`) if this contract + * implements `interfaceHash` for `account`. + * + * See {IERC1820Registry-setInterfaceImplementer}. + */ + function canImplementInterfaceForAddress(bytes32 interfaceHash, address account) external view returns (bytes32); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol new file mode 100644 index 0000000000..0e2a9efedd --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol @@ -0,0 +1,116 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/introspection/IERC1820Registry.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Interface of the global ERC1820 Registry, as defined in the + * https://eips.ethereum.org/EIPS/eip-1820[EIP]. Accounts may register + * implementers for interfaces in this registry, as well as query support. + * + * Implementers may be shared by multiple accounts, and can also implement more + * than a single interface for each account. Contracts can implement interfaces + * for themselves, but externally-owned accounts (EOA) must delegate this to a + * contract. + * + * {IERC165} interfaces can also be queried via the registry. + * + * For an in-depth explanation and source code analysis, see the EIP text. + */ +interface IERC1820Registry { + /** + * @dev Sets `newManager` as the manager for `account`. A manager of an + * account is able to set interface implementers for it. + * + * By default, each account is its own manager. Passing a value of `0x0` in + * `newManager` will reset the manager to this initial state. + * + * Emits a {ManagerChanged} event. + * + * Requirements: + * + * - the caller must be the current manager for `account`. + */ + function setManager(address account, address newManager) external; + + /** + * @dev Returns the manager for `account`. + * + * See {setManager}. + */ + function getManager(address account) external view returns (address); + + /** + * @dev Sets the `implementer` contract as ``account``'s implementer for + * `interfaceHash`. + * + * `account` being the zero address is an alias for the caller's address. + * The zero address can also be used in `implementer` to remove an old one. + * + * See {interfaceHash} to learn how these are created. + * + * Emits an {InterfaceImplementerSet} event. + * + * Requirements: + * + * - the caller must be the current manager for `account`. + * - `interfaceHash` must not be an {IERC165} interface id (i.e. it must not + * end in 28 zeroes). + * - `implementer` must implement {IERC1820Implementer} and return true when + * queried for support, unless `implementer` is the caller. See + * {IERC1820Implementer-canImplementInterfaceForAddress}. + */ + function setInterfaceImplementer( + address account, + bytes32 _interfaceHash, + address implementer + ) external; + + /** + * @dev Returns the implementer of `interfaceHash` for `account`. If no such + * implementer is registered, returns the zero address. + * + * If `interfaceHash` is an {IERC165} interface id (i.e. it ends with 28 + * zeroes), `account` will be queried for support of it. + * + * `account` being the zero address is an alias for the caller's address. + */ + function getInterfaceImplementer(address account, bytes32 _interfaceHash) external view returns (address); + + /** + * @dev Returns the interface hash for an `interfaceName`, as defined in the + * corresponding + * https://eips.ethereum.org/EIPS/eip-1820#interface-name[section of the EIP]. + */ + function interfaceHash(string calldata interfaceName) external pure returns (bytes32); + + /** + * @notice Updates the cache with whether the contract implements an ERC165 interface or not. + * @param account Address of the contract for which to update the cache. + * @param interfaceId ERC165 interface for which to update the cache. + */ + function updateERC165Cache(address account, bytes4 interfaceId) external; + + /** + * @notice Checks whether a contract implements an ERC165 interface or not. + * If the result is not cached a direct lookup on the contract address is performed. + * If the result is not cached or the cached value is out-of-date, the cache MUST be updated manually by calling + * {updateERC165Cache} with the contract address. + * @param account Address of the contract to check. + * @param interfaceId ERC165 interface to check. + * @return True if `account` implements `interfaceId`, false otherwise. + */ + function implementsERC165Interface(address account, bytes4 interfaceId) external view returns (bool); + + /** + * @notice Checks whether a contract implements an ERC165 interface or not without using nor updating the cache. + * @param account Address of the contract to check. + * @param interfaceId ERC165 interface to check. + * @return True if `account` implements `interfaceId`, false otherwise. + */ + function implementsERC165InterfaceNoCache(address account, bytes4 interfaceId) external view returns (bool); + + event InterfaceImplementerSet(address indexed account, bytes32 indexed interfaceHash, address indexed implementer); + + event ManagerChanged(address indexed account, address indexed newManager); +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol new file mode 100644 index 0000000000..cbb1f7e708 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol @@ -0,0 +1,43 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/math/Math.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Standard math utilities missing in the Solidity language. + */ +library Math { + /** + * @dev Returns the largest of two numbers. + */ + function max(uint256 a, uint256 b) internal pure returns (uint256) { + return a >= b ? a : b; + } + + /** + * @dev Returns the smallest of two numbers. + */ + function min(uint256 a, uint256 b) internal pure returns (uint256) { + return a < b ? a : b; + } + + /** + * @dev Returns the average of two numbers. The result is rounded towards + * zero. + */ + function average(uint256 a, uint256 b) internal pure returns (uint256) { + // (a + b) / 2 can overflow. + return (a & b) + (a ^ b) / 2; + } + + /** + * @dev Returns the ceiling of the division of two numbers. + * + * This differs from standard division with `/` in that it rounds up instead + * of rounding down. + */ + function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) { + // (a + b - 1) / b can overflow on addition, so we distribute. + return a / b + (a % b == 0 ? 0 : 1); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol new file mode 100644 index 0000000000..9877fbb77e --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol @@ -0,0 +1,241 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/math/SafeCast.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Wrappers over Solidity's uintXX/intXX casting operators with added overflow + * checks. + * + * Downcasting from uint256/int256 in Solidity does not revert on overflow. This can + * easily result in undesired exploitation or bugs, since developers usually + * assume that overflows raise errors. `SafeCast` restores this intuition by + * reverting the transaction when such an operation overflows. + * + * Using this library instead of the unchecked operations eliminates an entire + * class of bugs, so it's recommended to use it always. + * + * Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing + * all math on `uint256` and `int256` and then downcasting. + */ +library SafeCast { + /** + * @dev Returns the downcasted uint224 from uint256, reverting on + * overflow (when the input is greater than largest uint224). + * + * Counterpart to Solidity's `uint224` operator. + * + * Requirements: + * + * - input must fit into 224 bits + */ + function toUint224(uint256 value) internal pure returns (uint224) { + require(value <= type(uint224).max, "SafeCast: value doesn't fit in 224 bits"); + return uint224(value); + } + + /** + * @dev Returns the downcasted uint128 from uint256, reverting on + * overflow (when the input is greater than largest uint128). + * + * Counterpart to Solidity's `uint128` operator. + * + * Requirements: + * + * - input must fit into 128 bits + */ + function toUint128(uint256 value) internal pure returns (uint128) { + require(value <= type(uint128).max, "SafeCast: value doesn't fit in 128 bits"); + return uint128(value); + } + + /** + * @dev Returns the downcasted uint96 from uint256, reverting on + * overflow (when the input is greater than largest uint96). + * + * Counterpart to Solidity's `uint96` operator. + * + * Requirements: + * + * - input must fit into 96 bits + */ + function toUint96(uint256 value) internal pure returns (uint96) { + require(value <= type(uint96).max, "SafeCast: value doesn't fit in 96 bits"); + return uint96(value); + } + + /** + * @dev Returns the downcasted uint64 from uint256, reverting on + * overflow (when the input is greater than largest uint64). + * + * Counterpart to Solidity's `uint64` operator. + * + * Requirements: + * + * - input must fit into 64 bits + */ + function toUint64(uint256 value) internal pure returns (uint64) { + require(value <= type(uint64).max, "SafeCast: value doesn't fit in 64 bits"); + return uint64(value); + } + + /** + * @dev Returns the downcasted uint32 from uint256, reverting on + * overflow (when the input is greater than largest uint32). + * + * Counterpart to Solidity's `uint32` operator. + * + * Requirements: + * + * - input must fit into 32 bits + */ + function toUint32(uint256 value) internal pure returns (uint32) { + require(value <= type(uint32).max, "SafeCast: value doesn't fit in 32 bits"); + return uint32(value); + } + + /** + * @dev Returns the downcasted uint16 from uint256, reverting on + * overflow (when the input is greater than largest uint16). + * + * Counterpart to Solidity's `uint16` operator. + * + * Requirements: + * + * - input must fit into 16 bits + */ + function toUint16(uint256 value) internal pure returns (uint16) { + require(value <= type(uint16).max, "SafeCast: value doesn't fit in 16 bits"); + return uint16(value); + } + + /** + * @dev Returns the downcasted uint8 from uint256, reverting on + * overflow (when the input is greater than largest uint8). + * + * Counterpart to Solidity's `uint8` operator. + * + * Requirements: + * + * - input must fit into 8 bits. + */ + function toUint8(uint256 value) internal pure returns (uint8) { + require(value <= type(uint8).max, "SafeCast: value doesn't fit in 8 bits"); + return uint8(value); + } + + /** + * @dev Converts a signed int256 into an unsigned uint256. + * + * Requirements: + * + * - input must be greater than or equal to 0. + */ + function toUint256(int256 value) internal pure returns (uint256) { + require(value >= 0, "SafeCast: value must be positive"); + return uint256(value); + } + + /** + * @dev Returns the downcasted int128 from int256, reverting on + * overflow (when the input is less than smallest int128 or + * greater than largest int128). + * + * Counterpart to Solidity's `int128` operator. + * + * Requirements: + * + * - input must fit into 128 bits + * + * _Available since v3.1._ + */ + function toInt128(int256 value) internal pure returns (int128) { + require(value >= type(int128).min && value <= type(int128).max, "SafeCast: value doesn't fit in 128 bits"); + return int128(value); + } + + /** + * @dev Returns the downcasted int64 from int256, reverting on + * overflow (when the input is less than smallest int64 or + * greater than largest int64). + * + * Counterpart to Solidity's `int64` operator. + * + * Requirements: + * + * - input must fit into 64 bits + * + * _Available since v3.1._ + */ + function toInt64(int256 value) internal pure returns (int64) { + require(value >= type(int64).min && value <= type(int64).max, "SafeCast: value doesn't fit in 64 bits"); + return int64(value); + } + + /** + * @dev Returns the downcasted int32 from int256, reverting on + * overflow (when the input is less than smallest int32 or + * greater than largest int32). + * + * Counterpart to Solidity's `int32` operator. + * + * Requirements: + * + * - input must fit into 32 bits + * + * _Available since v3.1._ + */ + function toInt32(int256 value) internal pure returns (int32) { + require(value >= type(int32).min && value <= type(int32).max, "SafeCast: value doesn't fit in 32 bits"); + return int32(value); + } + + /** + * @dev Returns the downcasted int16 from int256, reverting on + * overflow (when the input is less than smallest int16 or + * greater than largest int16). + * + * Counterpart to Solidity's `int16` operator. + * + * Requirements: + * + * - input must fit into 16 bits + * + * _Available since v3.1._ + */ + function toInt16(int256 value) internal pure returns (int16) { + require(value >= type(int16).min && value <= type(int16).max, "SafeCast: value doesn't fit in 16 bits"); + return int16(value); + } + + /** + * @dev Returns the downcasted int8 from int256, reverting on + * overflow (when the input is less than smallest int8 or + * greater than largest int8). + * + * Counterpart to Solidity's `int8` operator. + * + * Requirements: + * + * - input must fit into 8 bits. + * + * _Available since v3.1._ + */ + function toInt8(int256 value) internal pure returns (int8) { + require(value >= type(int8).min && value <= type(int8).max, "SafeCast: value doesn't fit in 8 bits"); + return int8(value); + } + + /** + * @dev Converts an unsigned uint256 into a signed int256. + * + * Requirements: + * + * - input must be less than or equal to maxInt256. + */ + function toInt256(uint256 value) internal pure returns (int256) { + // Note: Unsafe cast below is okay because `type(int256).max` is guaranteed to be positive + require(value <= uint256(type(int256).max), "SafeCast: value doesn't fit in an int256"); + return int256(value); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol new file mode 100644 index 0000000000..36e74cf44b --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol @@ -0,0 +1,227 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/math/SafeMath.sol) + +pragma solidity ^0.8.0; + +// CAUTION +// This version of SafeMath should only be used with Solidity 0.8 or later, +// because it relies on the compiler's built in overflow checks. + +/** + * @dev Wrappers over Solidity's arithmetic operations. + * + * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler + * now has built in overflow checking. + */ +library SafeMath { + /** + * @dev Returns the addition of two unsigned integers, with an overflow flag. + * + * _Available since v3.4._ + */ + function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { + unchecked { + uint256 c = a + b; + if (c < a) return (false, 0); + return (true, c); + } + } + + /** + * @dev Returns the substraction of two unsigned integers, with an overflow flag. + * + * _Available since v3.4._ + */ + function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { + unchecked { + if (b > a) return (false, 0); + return (true, a - b); + } + } + + /** + * @dev Returns the multiplication of two unsigned integers, with an overflow flag. + * + * _Available since v3.4._ + */ + function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { + unchecked { + // Gas optimization: this is cheaper than requiring 'a' not being zero, but the + // benefit is lost if 'b' is also tested. + // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 + if (a == 0) return (true, 0); + uint256 c = a * b; + if (c / a != b) return (false, 0); + return (true, c); + } + } + + /** + * @dev Returns the division of two unsigned integers, with a division by zero flag. + * + * _Available since v3.4._ + */ + function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { + unchecked { + if (b == 0) return (false, 0); + return (true, a / b); + } + } + + /** + * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. + * + * _Available since v3.4._ + */ + function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { + unchecked { + if (b == 0) return (false, 0); + return (true, a % b); + } + } + + /** + * @dev Returns the addition of two unsigned integers, reverting on + * overflow. + * + * Counterpart to Solidity's `+` operator. + * + * Requirements: + * + * - Addition cannot overflow. + */ + function add(uint256 a, uint256 b) internal pure returns (uint256) { + return a + b; + } + + /** + * @dev Returns the subtraction of two unsigned integers, reverting on + * overflow (when the result is negative). + * + * Counterpart to Solidity's `-` operator. + * + * Requirements: + * + * - Subtraction cannot overflow. + */ + function sub(uint256 a, uint256 b) internal pure returns (uint256) { + return a - b; + } + + /** + * @dev Returns the multiplication of two unsigned integers, reverting on + * overflow. + * + * Counterpart to Solidity's `*` operator. + * + * Requirements: + * + * - Multiplication cannot overflow. + */ + function mul(uint256 a, uint256 b) internal pure returns (uint256) { + return a * b; + } + + /** + * @dev Returns the integer division of two unsigned integers, reverting on + * division by zero. The result is rounded towards zero. + * + * Counterpart to Solidity's `/` operator. + * + * Requirements: + * + * - The divisor cannot be zero. + */ + function div(uint256 a, uint256 b) internal pure returns (uint256) { + return a / b; + } + + /** + * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), + * reverting when dividing by zero. + * + * Counterpart to Solidity's `%` operator. This function uses a `revert` + * opcode (which leaves remaining gas untouched) while Solidity uses an + * invalid opcode to revert (consuming all remaining gas). + * + * Requirements: + * + * - The divisor cannot be zero. + */ + function mod(uint256 a, uint256 b) internal pure returns (uint256) { + return a % b; + } + + /** + * @dev Returns the subtraction of two unsigned integers, reverting with custom message on + * overflow (when the result is negative). + * + * CAUTION: This function is deprecated because it requires allocating memory for the error + * message unnecessarily. For custom revert reasons use {trySub}. + * + * Counterpart to Solidity's `-` operator. + * + * Requirements: + * + * - Subtraction cannot overflow. + */ + function sub( + uint256 a, + uint256 b, + string memory errorMessage + ) internal pure returns (uint256) { + unchecked { + require(b <= a, errorMessage); + return a - b; + } + } + + /** + * @dev Returns the integer division of two unsigned integers, reverting with custom message on + * division by zero. The result is rounded towards zero. + * + * Counterpart to Solidity's `/` operator. Note: this function uses a + * `revert` opcode (which leaves remaining gas untouched) while Solidity + * uses an invalid opcode to revert (consuming all remaining gas). + * + * Requirements: + * + * - The divisor cannot be zero. + */ + function div( + uint256 a, + uint256 b, + string memory errorMessage + ) internal pure returns (uint256) { + unchecked { + require(b > 0, errorMessage); + return a / b; + } + } + + /** + * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), + * reverting with custom message when dividing by zero. + * + * CAUTION: This function is deprecated because it requires allocating memory for the error + * message unnecessarily. For custom revert reasons use {tryMod}. + * + * Counterpart to Solidity's `%` operator. This function uses a `revert` + * opcode (which leaves remaining gas untouched) while Solidity uses an + * invalid opcode to revert (consuming all remaining gas). + * + * Requirements: + * + * - The divisor cannot be zero. + */ + function mod( + uint256 a, + uint256 b, + string memory errorMessage + ) internal pure returns (uint256) { + unchecked { + require(b > 0, errorMessage); + return a % b; + } + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol new file mode 100644 index 0000000000..1b6a6f00ea --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol @@ -0,0 +1,68 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/math/SignedSafeMath.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Wrappers over Solidity's arithmetic operations. + * + * NOTE: `SignedSafeMath` is no longer needed starting with Solidity 0.8. The compiler + * now has built in overflow checking. + */ +library SignedSafeMath { + /** + * @dev Returns the multiplication of two signed integers, reverting on + * overflow. + * + * Counterpart to Solidity's `*` operator. + * + * Requirements: + * + * - Multiplication cannot overflow. + */ + function mul(int256 a, int256 b) internal pure returns (int256) { + return a * b; + } + + /** + * @dev Returns the integer division of two signed integers. Reverts on + * division by zero. The result is rounded towards zero. + * + * Counterpart to Solidity's `/` operator. + * + * Requirements: + * + * - The divisor cannot be zero. + */ + function div(int256 a, int256 b) internal pure returns (int256) { + return a / b; + } + + /** + * @dev Returns the subtraction of two signed integers, reverting on + * overflow. + * + * Counterpart to Solidity's `-` operator. + * + * Requirements: + * + * - Subtraction cannot overflow. + */ + function sub(int256 a, int256 b) internal pure returns (int256) { + return a - b; + } + + /** + * @dev Returns the addition of two signed integers, reverting on + * overflow. + * + * Counterpart to Solidity's `+` operator. + * + * Requirements: + * + * - Addition cannot overflow. + */ + function add(int256 a, int256 b) internal pure returns (int256) { + return a + b; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol new file mode 100644 index 0000000000..8d160580fb --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol @@ -0,0 +1,55 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/structs/BitMaps.sol) +pragma solidity ^0.8.0; + +/** + * @dev Library for managing uint256 to bool mapping in a compact and efficient way, providing the keys are sequential. + * Largelly inspired by Uniswap's https://github.com/Uniswap/merkle-distributor/blob/master/contracts/MerkleDistributor.sol[merkle-distributor]. + */ +library BitMaps { + struct BitMap { + mapping(uint256 => uint256) _data; + } + + /** + * @dev Returns whether the bit at `index` is set. + */ + function get(BitMap storage bitmap, uint256 index) internal view returns (bool) { + uint256 bucket = index >> 8; + uint256 mask = 1 << (index & 0xff); + return bitmap._data[bucket] & mask != 0; + } + + /** + * @dev Sets the bit at `index` to the boolean `value`. + */ + function setTo( + BitMap storage bitmap, + uint256 index, + bool value + ) internal { + if (value) { + set(bitmap, index); + } else { + unset(bitmap, index); + } + } + + /** + * @dev Sets the bit at `index`. + */ + function set(BitMap storage bitmap, uint256 index) internal { + uint256 bucket = index >> 8; + uint256 mask = 1 << (index & 0xff); + bitmap._data[bucket] |= mask; + } + + /** + * @dev Unsets the bit at `index`. + */ + function unset(BitMap storage bitmap, uint256 index) internal { + uint256 bucket = index >> 8; + uint256 mask = 1 << (index & 0xff); + bitmap._data[bucket] &= ~mask; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol new file mode 100644 index 0000000000..2fd1905e67 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol @@ -0,0 +1,240 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/structs/EnumerableMap.sol) + +pragma solidity ^0.8.0; + +import "./EnumerableSet.sol"; + +/** + * @dev Library for managing an enumerable variant of Solidity's + * https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`] + * type. + * + * Maps have the following properties: + * + * - Entries are added, removed, and checked for existence in constant time + * (O(1)). + * - Entries are enumerated in O(n). No guarantees are made on the ordering. + * + * ``` + * contract Example { + * // Add the library methods + * using EnumerableMap for EnumerableMap.UintToAddressMap; + * + * // Declare a set state variable + * EnumerableMap.UintToAddressMap private myMap; + * } + * ``` + * + * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are + * supported. + */ +library EnumerableMap { + using EnumerableSet for EnumerableSet.Bytes32Set; + + // To implement this library for multiple types with as little code + // repetition as possible, we write it in terms of a generic Map type with + // bytes32 keys and values. + // The Map implementation uses private functions, and user-facing + // implementations (such as Uint256ToAddressMap) are just wrappers around + // the underlying Map. + // This means that we can only create new EnumerableMaps for types that fit + // in bytes32. + + struct Map { + // Storage of keys + EnumerableSet.Bytes32Set _keys; + mapping(bytes32 => bytes32) _values; + } + + /** + * @dev Adds a key-value pair to a map, or updates the value for an existing + * key. O(1). + * + * Returns true if the key was added to the map, that is if it was not + * already present. + */ + function _set( + Map storage map, + bytes32 key, + bytes32 value + ) private returns (bool) { + map._values[key] = value; + return map._keys.add(key); + } + + /** + * @dev Removes a key-value pair from a map. O(1). + * + * Returns true if the key was removed from the map, that is if it was present. + */ + function _remove(Map storage map, bytes32 key) private returns (bool) { + delete map._values[key]; + return map._keys.remove(key); + } + + /** + * @dev Returns true if the key is in the map. O(1). + */ + function _contains(Map storage map, bytes32 key) private view returns (bool) { + return map._keys.contains(key); + } + + /** + * @dev Returns the number of key-value pairs in the map. O(1). + */ + function _length(Map storage map) private view returns (uint256) { + return map._keys.length(); + } + + /** + * @dev Returns the key-value pair stored at position `index` in the map. O(1). + * + * Note that there are no guarantees on the ordering of entries inside the + * array, and it may change when more entries are added or removed. + * + * Requirements: + * + * - `index` must be strictly less than {length}. + */ + function _at(Map storage map, uint256 index) private view returns (bytes32, bytes32) { + bytes32 key = map._keys.at(index); + return (key, map._values[key]); + } + + /** + * @dev Tries to returns the value associated with `key`. O(1). + * Does not revert if `key` is not in the map. + */ + function _tryGet(Map storage map, bytes32 key) private view returns (bool, bytes32) { + bytes32 value = map._values[key]; + if (value == bytes32(0)) { + return (_contains(map, key), bytes32(0)); + } else { + return (true, value); + } + } + + /** + * @dev Returns the value associated with `key`. O(1). + * + * Requirements: + * + * - `key` must be in the map. + */ + function _get(Map storage map, bytes32 key) private view returns (bytes32) { + bytes32 value = map._values[key]; + require(value != 0 || _contains(map, key), "EnumerableMap: nonexistent key"); + return value; + } + + /** + * @dev Same as {_get}, with a custom error message when `key` is not in the map. + * + * CAUTION: This function is deprecated because it requires allocating memory for the error + * message unnecessarily. For custom revert reasons use {_tryGet}. + */ + function _get( + Map storage map, + bytes32 key, + string memory errorMessage + ) private view returns (bytes32) { + bytes32 value = map._values[key]; + require(value != 0 || _contains(map, key), errorMessage); + return value; + } + + // UintToAddressMap + + struct UintToAddressMap { + Map _inner; + } + + /** + * @dev Adds a key-value pair to a map, or updates the value for an existing + * key. O(1). + * + * Returns true if the key was added to the map, that is if it was not + * already present. + */ + function set( + UintToAddressMap storage map, + uint256 key, + address value + ) internal returns (bool) { + return _set(map._inner, bytes32(key), bytes32(uint256(uint160(value)))); + } + + /** + * @dev Removes a value from a set. O(1). + * + * Returns true if the key was removed from the map, that is if it was present. + */ + function remove(UintToAddressMap storage map, uint256 key) internal returns (bool) { + return _remove(map._inner, bytes32(key)); + } + + /** + * @dev Returns true if the key is in the map. O(1). + */ + function contains(UintToAddressMap storage map, uint256 key) internal view returns (bool) { + return _contains(map._inner, bytes32(key)); + } + + /** + * @dev Returns the number of elements in the map. O(1). + */ + function length(UintToAddressMap storage map) internal view returns (uint256) { + return _length(map._inner); + } + + /** + * @dev Returns the element stored at position `index` in the set. O(1). + * Note that there are no guarantees on the ordering of values inside the + * array, and it may change when more values are added or removed. + * + * Requirements: + * + * - `index` must be strictly less than {length}. + */ + function at(UintToAddressMap storage map, uint256 index) internal view returns (uint256, address) { + (bytes32 key, bytes32 value) = _at(map._inner, index); + return (uint256(key), address(uint160(uint256(value)))); + } + + /** + * @dev Tries to returns the value associated with `key`. O(1). + * Does not revert if `key` is not in the map. + * + * _Available since v3.4._ + */ + function tryGet(UintToAddressMap storage map, uint256 key) internal view returns (bool, address) { + (bool success, bytes32 value) = _tryGet(map._inner, bytes32(key)); + return (success, address(uint160(uint256(value)))); + } + + /** + * @dev Returns the value associated with `key`. O(1). + * + * Requirements: + * + * - `key` must be in the map. + */ + function get(UintToAddressMap storage map, uint256 key) internal view returns (address) { + return address(uint160(uint256(_get(map._inner, bytes32(key))))); + } + + /** + * @dev Same as {get}, with a custom error message when `key` is not in the map. + * + * CAUTION: This function is deprecated because it requires allocating memory for the error + * message unnecessarily. For custom revert reasons use {tryGet}. + */ + function get( + UintToAddressMap storage map, + uint256 key, + string memory errorMessage + ) internal view returns (address) { + return address(uint160(uint256(_get(map._inner, bytes32(key), errorMessage)))); + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol new file mode 100644 index 0000000000..4cb9aeb674 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol @@ -0,0 +1,357 @@ +// SPDX-License-Identifier: MIT +// OpenZeppelin Contracts v4.4.0 (utils/structs/EnumerableSet.sol) + +pragma solidity ^0.8.0; + +/** + * @dev Library for managing + * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive + * types. + * + * Sets have the following properties: + * + * - Elements are added, removed, and checked for existence in constant time + * (O(1)). + * - Elements are enumerated in O(n). No guarantees are made on the ordering. + * + * ``` + * contract Example { + * // Add the library methods + * using EnumerableSet for EnumerableSet.AddressSet; + * + * // Declare a set state variable + * EnumerableSet.AddressSet private mySet; + * } + * ``` + * + * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`) + * and `uint256` (`UintSet`) are supported. + */ +library EnumerableSet { + // To implement this library for multiple types with as little code + // repetition as possible, we write it in terms of a generic Set type with + // bytes32 values. + // The Set implementation uses private functions, and user-facing + // implementations (such as AddressSet) are just wrappers around the + // underlying Set. + // This means that we can only create new EnumerableSets for types that fit + // in bytes32. + + struct Set { + // Storage of set values + bytes32[] _values; + // Position of the value in the `values` array, plus 1 because index 0 + // means a value is not in the set. + mapping(bytes32 => uint256) _indexes; + } + + /** + * @dev Add a value to a set. O(1). + * + * Returns true if the value was added to the set, that is if it was not + * already present. + */ + function _add(Set storage set, bytes32 value) private returns (bool) { + if (!_contains(set, value)) { + set._values.push(value); + // The value is stored at length-1, but we add 1 to all indexes + // and use 0 as a sentinel value + set._indexes[value] = set._values.length; + return true; + } else { + return false; + } + } + + /** + * @dev Removes a value from a set. O(1). + * + * Returns true if the value was removed from the set, that is if it was + * present. + */ + function _remove(Set storage set, bytes32 value) private returns (bool) { + // We read and store the value's index to prevent multiple reads from the same storage slot + uint256 valueIndex = set._indexes[value]; + + if (valueIndex != 0) { + // Equivalent to contains(set, value) + // To delete an element from the _values array in O(1), we swap the element to delete with the last one in + // the array, and then remove the last element (sometimes called as 'swap and pop'). + // This modifies the order of the array, as noted in {at}. + + uint256 toDeleteIndex = valueIndex - 1; + uint256 lastIndex = set._values.length - 1; + + if (lastIndex != toDeleteIndex) { + bytes32 lastvalue = set._values[lastIndex]; + + // Move the last value to the index where the value to delete is + set._values[toDeleteIndex] = lastvalue; + // Update the index for the moved value + set._indexes[lastvalue] = valueIndex; // Replace lastvalue's index to valueIndex + } + + // Delete the slot where the moved value was stored + set._values.pop(); + + // Delete the index for the deleted slot + delete set._indexes[value]; + + return true; + } else { + return false; + } + } + + /** + * @dev Returns true if the value is in the set. O(1). + */ + function _contains(Set storage set, bytes32 value) private view returns (bool) { + return set._indexes[value] != 0; + } + + /** + * @dev Returns the number of values on the set. O(1). + */ + function _length(Set storage set) private view returns (uint256) { + return set._values.length; + } + + /** + * @dev Returns the value stored at position `index` in the set. O(1). + * + * Note that there are no guarantees on the ordering of values inside the + * array, and it may change when more values are added or removed. + * + * Requirements: + * + * - `index` must be strictly less than {length}. + */ + function _at(Set storage set, uint256 index) private view returns (bytes32) { + return set._values[index]; + } + + /** + * @dev Return the entire set in an array + * + * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed + * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that + * this function has an unbounded cost, and using it as part of a state-changing function may render the function + * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block. + */ + function _values(Set storage set) private view returns (bytes32[] memory) { + return set._values; + } + + // Bytes32Set + + struct Bytes32Set { + Set _inner; + } + + /** + * @dev Add a value to a set. O(1). + * + * Returns true if the value was added to the set, that is if it was not + * already present. + */ + function add(Bytes32Set storage set, bytes32 value) internal returns (bool) { + return _add(set._inner, value); + } + + /** + * @dev Removes a value from a set. O(1). + * + * Returns true if the value was removed from the set, that is if it was + * present. + */ + function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) { + return _remove(set._inner, value); + } + + /** + * @dev Returns true if the value is in the set. O(1). + */ + function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) { + return _contains(set._inner, value); + } + + /** + * @dev Returns the number of values in the set. O(1). + */ + function length(Bytes32Set storage set) internal view returns (uint256) { + return _length(set._inner); + } + + /** + * @dev Returns the value stored at position `index` in the set. O(1). + * + * Note that there are no guarantees on the ordering of values inside the + * array, and it may change when more values are added or removed. + * + * Requirements: + * + * - `index` must be strictly less than {length}. + */ + function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) { + return _at(set._inner, index); + } + + /** + * @dev Return the entire set in an array + * + * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed + * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that + * this function has an unbounded cost, and using it as part of a state-changing function may render the function + * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block. + */ + function values(Bytes32Set storage set) internal view returns (bytes32[] memory) { + return _values(set._inner); + } + + // AddressSet + + struct AddressSet { + Set _inner; + } + + /** + * @dev Add a value to a set. O(1). + * + * Returns true if the value was added to the set, that is if it was not + * already present. + */ + function add(AddressSet storage set, address value) internal returns (bool) { + return _add(set._inner, bytes32(uint256(uint160(value)))); + } + + /** + * @dev Removes a value from a set. O(1). + * + * Returns true if the value was removed from the set, that is if it was + * present. + */ + function remove(AddressSet storage set, address value) internal returns (bool) { + return _remove(set._inner, bytes32(uint256(uint160(value)))); + } + + /** + * @dev Returns true if the value is in the set. O(1). + */ + function contains(AddressSet storage set, address value) internal view returns (bool) { + return _contains(set._inner, bytes32(uint256(uint160(value)))); + } + + /** + * @dev Returns the number of values in the set. O(1). + */ + function length(AddressSet storage set) internal view returns (uint256) { + return _length(set._inner); + } + + /** + * @dev Returns the value stored at position `index` in the set. O(1). + * + * Note that there are no guarantees on the ordering of values inside the + * array, and it may change when more values are added or removed. + * + * Requirements: + * + * - `index` must be strictly less than {length}. + */ + function at(AddressSet storage set, uint256 index) internal view returns (address) { + return address(uint160(uint256(_at(set._inner, index)))); + } + + /** + * @dev Return the entire set in an array + * + * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed + * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that + * this function has an unbounded cost, and using it as part of a state-changing function may render the function + * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block. + */ + function values(AddressSet storage set) internal view returns (address[] memory) { + bytes32[] memory store = _values(set._inner); + address[] memory result; + + assembly { + result := store + } + + return result; + } + + // UintSet + + struct UintSet { + Set _inner; + } + + /** + * @dev Add a value to a set. O(1). + * + * Returns true if the value was added to the set, that is if it was not + * already present. + */ + function add(UintSet storage set, uint256 value) internal returns (bool) { + return _add(set._inner, bytes32(value)); + } + + /** + * @dev Removes a value from a set. O(1). + * + * Returns true if the value was removed from the set, that is if it was + * present. + */ + function remove(UintSet storage set, uint256 value) internal returns (bool) { + return _remove(set._inner, bytes32(value)); + } + + /** + * @dev Returns true if the value is in the set. O(1). + */ + function contains(UintSet storage set, uint256 value) internal view returns (bool) { + return _contains(set._inner, bytes32(value)); + } + + /** + * @dev Returns the number of values on the set. O(1). + */ + function length(UintSet storage set) internal view returns (uint256) { + return _length(set._inner); + } + + /** + * @dev Returns the value stored at position `index` in the set. O(1). + * + * Note that there are no guarantees on the ordering of values inside the + * array, and it may change when more values are added or removed. + * + * Requirements: + * + * - `index` must be strictly less than {length}. + */ + function at(UintSet storage set, uint256 index) internal view returns (uint256) { + return uint256(_at(set._inner, index)); + } + + /** + * @dev Return the entire set in an array + * + * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed + * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that + * this function has an unbounded cost, and using it as part of a state-changing function may render the function + * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block. + */ + function values(UintSet storage set) internal view returns (uint256[] memory) { + bytes32[] memory store = _values(set._inner); + uint256[] memory result; + + assembly { + result := store + } + + return result; + } +} diff --git a/tests/e2e/compilation/test_data/test_node_modules/package.json b/tests/e2e/compilation/test_data/test_node_modules/package.json new file mode 100644 index 0000000000..8ca2617838 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_node_modules/package.json @@ -0,0 +1,6 @@ +{ + "dependencies": { + "@openzeppelin/contracts": "^4.4.0", + "hardhat": "^2.7.0" + } +} diff --git a/tests/e2e/compilation/test_data/test_source_unit/README.md b/tests/e2e/compilation/test_data/test_source_unit/README.md new file mode 100644 index 0000000000..9cf3657e08 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_source_unit/README.md @@ -0,0 +1,3 @@ +# README + +Before using this project, run `forge init --no-git --no-commit --force` to initialize submodules diff --git a/tests/e2e/compilation/test_data/test_source_unit/foundry.toml b/tests/e2e/compilation/test_data/test_source_unit/foundry.toml new file mode 100644 index 0000000000..e6810b2b58 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_source_unit/foundry.toml @@ -0,0 +1,6 @@ +[profile.default] +src = 'src' +out = 'out' +libs = ['lib'] + +# See more config options https://github.com/foundry-rs/foundry/tree/master/config \ No newline at end of file diff --git a/tests/e2e/compilation/test_data/test_source_unit/script/Counter.s.sol b/tests/e2e/compilation/test_data/test_source_unit/script/Counter.s.sol new file mode 100644 index 0000000000..0e546aba37 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_source_unit/script/Counter.s.sol @@ -0,0 +1,12 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import "forge-std/Script.sol"; + +contract CounterScript is Script { + function setUp() public {} + + function run() public { + vm.broadcast(); + } +} diff --git a/tests/e2e/compilation/test_data/test_source_unit/src/Counter.sol b/tests/e2e/compilation/test_data/test_source_unit/src/Counter.sol new file mode 100644 index 0000000000..aded7997b0 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_source_unit/src/Counter.sol @@ -0,0 +1,14 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +contract Counter { + uint256 public number; + + function setNumber(uint256 newNumber) public { + number = newNumber; + } + + function increment() public { + number++; + } +} diff --git a/tests/e2e/compilation/test_data/test_source_unit/src/Counter2.sol b/tests/e2e/compilation/test_data/test_source_unit/src/Counter2.sol new file mode 100644 index 0000000000..fa830a4467 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_source_unit/src/Counter2.sol @@ -0,0 +1,5 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +contract Counter { +} diff --git a/tests/e2e/compilation/test_data/test_source_unit/test/Counter.t.sol b/tests/e2e/compilation/test_data/test_source_unit/test/Counter.t.sol new file mode 100644 index 0000000000..30235e8a88 --- /dev/null +++ b/tests/e2e/compilation/test_data/test_source_unit/test/Counter.t.sol @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: UNLICENSED +pragma solidity ^0.8.13; + +import "forge-std/Test.sol"; +import "../src/Counter.sol"; + +contract CounterTest is Test { + Counter public counter; + + function setUp() public { + counter = new Counter(); + counter.setNumber(0); + } + + function testIncrement() public { + counter.increment(); + assertEq(counter.number(), 1); + } + + function testSetNumber(uint256 x) public { + counter.setNumber(x); + assertEq(counter.number(), x); + } +} diff --git a/tests/e2e/compilation/test_resolution.py b/tests/e2e/compilation/test_resolution.py new file mode 100644 index 0000000000..738887045c --- /dev/null +++ b/tests/e2e/compilation/test_resolution.py @@ -0,0 +1,46 @@ +from pathlib import Path +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 + +from tests.utils import _run_all_detectors + + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" + +hardhat_available = Path(TEST_DATA_DIR, "test_node_modules/node_modules/hardhat").exists() + + +@pytest.mark.skipif(not hardhat_available, reason="requires Hardhat and project setup") +def test_node_modules() -> None: + # hardhat must have been installed in tests/test_node_modules + # For the CI its done through the github action config + + slither = Slither(TEST_DATA_DIR, "test_node_modules") + _run_all_detectors(slither) + + +def test_contract_name_collisions() -> None: + solc_select.switch_global_version("0.8.0", always_install=True) + standard_json = SolcStandardJson() + standard_json.add_source_file( + Path(TEST_DATA_DIR, "test_contract_name_collisions", "a.sol").as_posix() + ) + standard_json.add_source_file( + Path(TEST_DATA_DIR, "test_contract_name_collisions", "b.sol").as_posix() + ) + + compilation = CryticCompile(standard_json) + 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()) + _run_all_detectors(slither) diff --git a/tests/e2e/compilation/test_source_unit.py b/tests/e2e/compilation/test_source_unit.py new file mode 100644 index 0000000000..dafd146dc6 --- /dev/null +++ b/tests/e2e/compilation/test_source_unit.py @@ -0,0 +1,46 @@ +from pathlib import Path +import shutil + +import pytest +from slither import Slither + +# NB: read tests/source_unit/README.md for setup before using this test + + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" + +foundry_available = shutil.which("forge") is not None +project_ready = Path(TEST_DATA_DIR, "test_source_unit/lib/forge-std").exists() + + +@pytest.mark.skipif( + not foundry_available or not project_ready, reason="requires Foundry and project setup" +) +def test_contract_info() -> None: + slither = Slither(Path(TEST_DATA_DIR, "test_source_unit").as_posix()) + + assert len(slither.compilation_units) == 1 + compilation_unit = slither.compilation_units[0] + + for source_unit in compilation_unit.crytic_compile_compilation_unit.source_units.values(): + source_unit.remove_metadata() + + counter_sol = compilation_unit.crytic_compile.filename_lookup( + Path(TEST_DATA_DIR, "test_source_unit/src/Counter.sol").as_posix() + ) + assert ( + compilation_unit.scopes[counter_sol].bytecode_init( + compilation_unit.crytic_compile_compilation_unit, "Counter" + ) + == "608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fe" + ) + + counter2_sol = compilation_unit.crytic_compile.filename_lookup( + "tests/source_unit/src/Counter2.sol" + ) + assert ( + compilation_unit.scopes[counter2_sol].bytecode_init( + compilation_unit.crytic_compile_compilation_unit, "Counter" + ) + == "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfe" + ) From bfe38cfd79eb0fdf34beefd612a387c666f16874 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Mon, 20 Mar 2023 16:07:35 -0500 Subject: [PATCH 06/41] add unit tests --- tests/unit/core/test_arithmetic.py | 17 + tests/unit/core/test_code_comments.py | 60 + tests/unit/core/test_constant_folding.py | 106 ++ tests/unit/core/test_contract_declaration.py | 43 + .../core/test_data/arithmetic_usage/test.sol | 29 + tests/unit/core/test_data/complex_func.sol | 88 ++ .../constant_folding_binop.sol | 14 + .../constant_folding_rational.sol | 9 + .../constant_folding_unary.sol | 7 + .../contract_declaration/abstract.sol | 5 + .../implicit_abstract.sol | 5 + .../contract_declaration/private_variable.sol | 13 + .../custom_comments/contract_comment.sol | 7 + .../test_data/custom_comments/upgrade.sol | 16 + .../unit/core/test_data/deprecated_calls.sol | 27 + .../function_declaration/test_function.sol | 130 ++ .../test_function_reentrant.sol | 36 + .../unit/core/test_data/inheritance_graph.sol | 100 ++ tests/unit/core/test_data/source_mapping.sol | 22 + .../ReferencesUserDefinedAliases.sol | 19 + .../ReferencesUserDefinedTypesCasting.sol | 19 + .../test_data/src_mapping/inheritance.sol | 35 + .../storage_layout/StorageLayout.abi | 1 + .../storage_layout/StorageLayout.bin | 1 + .../storage_layout/TEST_storage_layout.json | 576 +++++++++ .../storage_layout/storage_layout-0.8.10.sol | 74 ++ tests/unit/core/test_data/taint_mapping.sol | 18 + .../test_data/using_for/using-for-3-0.8.0.sol | 27 + .../test_data/using_for/using-for-4-0.8.0.sol | 25 + .../using-for-alias-contract-0.8.0.sol | 14 + .../using_for/using-for-alias-dep1.sol | 11 + .../using_for/using-for-alias-dep2.sol | 9 + .../using-for-alias-top-level-0.8.0.sol | 15 + .../using_for/using-for-in-library-0.8.0.sol | 14 + .../src/MyTypeA.sol | 2 + .../src/MyTypeA/Casting.sol | 4 + .../src/MyTypeA/Math.sol | 5 + .../src/MyTypeA/Type.sol | 6 + .../src/MyTypeB.sol | 2 + .../src/MyTypeB/Casting.sol | 4 + .../src/MyTypeB/Math.sol | 6 + .../src/MyTypeB/Type.sol | 6 + .../using_for_global_collision/src/Test.sol | 7 + tests/unit/core/test_function_declaration.py | 305 +++++ tests/unit/core/test_source_mapping.py | 127 ++ tests/unit/core/test_storage_layout.py | 36 + tests/unit/core/test_using_for.py | 95 ++ .../slithir/test_data/operation_reads.sol | 17 + .../slithir/test_data/ternary_expressions.sol | 52 + tests/unit/slithir/test_operation_reads.py | 54 + tests/unit/slithir/test_ssa_generation.py | 1078 +++++++++++++++++ .../unit/slithir/test_ternary_expressions.py | 43 + tests/unit/utils/test_data/functions_ids.sol | 64 + tests/unit/utils/test_data/type_helpers.sol | 12 + tests/unit/utils/test_functions_ids.py | 64 + tests/unit/utils/test_type_helpers.py | 13 + 56 files changed, 3594 insertions(+) create mode 100644 tests/unit/core/test_arithmetic.py create mode 100644 tests/unit/core/test_code_comments.py create mode 100644 tests/unit/core/test_constant_folding.py create mode 100644 tests/unit/core/test_contract_declaration.py create mode 100644 tests/unit/core/test_data/arithmetic_usage/test.sol create mode 100644 tests/unit/core/test_data/complex_func.sol create mode 100644 tests/unit/core/test_data/constant_folding/constant_folding_binop.sol create mode 100644 tests/unit/core/test_data/constant_folding/constant_folding_rational.sol create mode 100644 tests/unit/core/test_data/constant_folding/constant_folding_unary.sol create mode 100644 tests/unit/core/test_data/contract_declaration/abstract.sol create mode 100644 tests/unit/core/test_data/contract_declaration/implicit_abstract.sol create mode 100644 tests/unit/core/test_data/contract_declaration/private_variable.sol create mode 100644 tests/unit/core/test_data/custom_comments/contract_comment.sol create mode 100644 tests/unit/core/test_data/custom_comments/upgrade.sol create mode 100644 tests/unit/core/test_data/deprecated_calls.sol create mode 100644 tests/unit/core/test_data/function_declaration/test_function.sol create mode 100644 tests/unit/core/test_data/function_declaration/test_function_reentrant.sol create mode 100644 tests/unit/core/test_data/inheritance_graph.sol create mode 100644 tests/unit/core/test_data/source_mapping.sol create mode 100644 tests/unit/core/test_data/src_mapping/ReferencesUserDefinedAliases.sol create mode 100644 tests/unit/core/test_data/src_mapping/ReferencesUserDefinedTypesCasting.sol create mode 100644 tests/unit/core/test_data/src_mapping/inheritance.sol create mode 100644 tests/unit/core/test_data/storage_layout/StorageLayout.abi create mode 100644 tests/unit/core/test_data/storage_layout/StorageLayout.bin create mode 100644 tests/unit/core/test_data/storage_layout/TEST_storage_layout.json create mode 100644 tests/unit/core/test_data/storage_layout/storage_layout-0.8.10.sol create mode 100644 tests/unit/core/test_data/taint_mapping.sol create mode 100644 tests/unit/core/test_data/using_for/using-for-3-0.8.0.sol create mode 100644 tests/unit/core/test_data/using_for/using-for-4-0.8.0.sol create mode 100644 tests/unit/core/test_data/using_for/using-for-alias-contract-0.8.0.sol create mode 100644 tests/unit/core/test_data/using_for/using-for-alias-dep1.sol create mode 100644 tests/unit/core/test_data/using_for/using-for-alias-dep2.sol create mode 100644 tests/unit/core/test_data/using_for/using-for-alias-top-level-0.8.0.sol create mode 100644 tests/unit/core/test_data/using_for/using-for-in-library-0.8.0.sol create mode 100644 tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA.sol create mode 100644 tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Casting.sol create mode 100644 tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Math.sol create mode 100644 tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Type.sol create mode 100644 tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB.sol create mode 100644 tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Casting.sol create mode 100644 tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Math.sol create mode 100644 tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Type.sol create mode 100644 tests/unit/core/test_data/using_for/using_for_global_collision/src/Test.sol create mode 100644 tests/unit/core/test_function_declaration.py create mode 100644 tests/unit/core/test_source_mapping.py create mode 100644 tests/unit/core/test_storage_layout.py create mode 100644 tests/unit/core/test_using_for.py create mode 100644 tests/unit/slithir/test_data/operation_reads.sol create mode 100644 tests/unit/slithir/test_data/ternary_expressions.sol create mode 100644 tests/unit/slithir/test_operation_reads.py create mode 100644 tests/unit/slithir/test_ssa_generation.py create mode 100644 tests/unit/slithir/test_ternary_expressions.py create mode 100644 tests/unit/utils/test_data/functions_ids.sol create mode 100644 tests/unit/utils/test_data/type_helpers.sol create mode 100644 tests/unit/utils/test_functions_ids.py create mode 100644 tests/unit/utils/test_type_helpers.py diff --git a/tests/unit/core/test_arithmetic.py b/tests/unit/core/test_arithmetic.py new file mode 100644 index 0000000000..621ff0f940 --- /dev/null +++ b/tests/unit/core/test_arithmetic.py @@ -0,0 +1,17 @@ +from pathlib import Path +from solc_select import solc_select + +from slither import Slither +from slither.utils.arithmetic import unchecked_arithemtic_usage + + +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()) + + assert { + f.source_mapping.content_hash for f in unchecked_arithemtic_usage(slither.contracts[0]) + } == {"2b4bc73cf59d486dd9043e840b5028b679354dd9", "e4ecd4d0fda7e762d29aceb8425f2c5d4d0bf962"} diff --git a/tests/unit/core/test_code_comments.py b/tests/unit/core/test_code_comments.py new file mode 100644 index 0000000000..01b9ff336d --- /dev/null +++ b/tests/unit/core/test_code_comments.py @@ -0,0 +1,60 @@ +from pathlib import Path +from solc_select import solc_select + +from slither import Slither + + +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()) + compilation_unit = slither.compilation_units[0] + proxy = compilation_unit.get_contract_from_name("Proxy")[0] + + assert proxy.is_upgradeable_proxy + + v0 = compilation_unit.get_contract_from_name("V0")[0] + + assert v0.is_upgradeable + print(v0.upgradeable_version) + assert v0.upgradeable_version == "version-0" + + v1 = compilation_unit.get_contract_from_name("V1")[0] + assert v0.is_upgradeable + assert v1.upgradeable_version == "version_1" + + +def test_contract_comments() -> 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()) + compilation_unit = slither.compilation_units[0] + contract = compilation_unit.get_contract_from_name("A")[0] + + assert contract.comments == comments + + # 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()) + compilation_unit = slither.compilation_units[0] + contract = compilation_unit.get_contract_from_name("A")[0] + + assert contract.comments == comments + + # 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, + ) + compilation_unit = slither.compilation_units[0] + contract = compilation_unit.get_contract_from_name("A")[0] + + assert contract.comments == comments diff --git a/tests/unit/core/test_constant_folding.py b/tests/unit/core/test_constant_folding.py new file mode 100644 index 0000000000..eb40a43c0b --- /dev/null +++ b/tests/unit/core/test_constant_folding.py @@ -0,0 +1,106 @@ +from pathlib import Path +from slither import Slither +from slither.visitors.expression.constants_folding import ConstantFolding + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" +CONSTANT_FOLDING_TEST_ROOT = Path(TEST_DATA_DIR, "constant_folding") + + +def test_constant_folding_unary(): + file = Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_unary.sol").as_posix() + Slither(file) + + +def test_constant_folding_rational(): + s = Slither(Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_rational.sol").as_posix()) + 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" + + variable_b = contract.get_state_variable_from_name("b") + assert str(variable_b.type) == "int128" + assert str(ConstantFolding(variable_b.expression, "int128").result()) == "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" + + variable_d = contract.get_state_variable_from_name("d") + assert str(variable_d.type) == "int256" + assert str(ConstantFolding(variable_d.expression, "int256").result()) == "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" + ) + + variable_f = contract.get_state_variable_from_name("f") + assert str(variable_f.type) == "uint256" + assert ( + str(ConstantFolding(variable_f.expression, "uint256").result()) + == "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" + + +def test_constant_folding_binary_expressions(): + sl = Slither(Path(CONSTANT_FOLDING_TEST_ROOT, "constant_folding_binop.sol").as_posix()) + 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" + + variable_b = contract.get_state_variable_from_name("b") + assert str(variable_b.type) == "uint256" + assert str(ConstantFolding(variable_b.expression, "uint256").result()) == "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" + + variable_d = contract.get_state_variable_from_name("d") + assert str(variable_d.type) == "bool" + assert str(ConstantFolding(variable_d.expression, "bool").result()) == "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" + + variable_f = contract.get_state_variable_from_name("f") + assert str(variable_f.type) == "bool" + assert str(ConstantFolding(variable_f.expression, "bool").result()) == "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" + + variable_h = contract.get_state_variable_from_name("h") + assert str(variable_h.type) == "bool" + assert str(ConstantFolding(variable_h.expression, "bool").result()) == "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" + + variable_j = contract.get_state_variable_from_name("j") + assert str(variable_j.type) == "bool" + assert str(ConstantFolding(variable_j.expression, "bool").result()) == "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" + + variable_l = contract.get_state_variable_from_name("l") + assert str(variable_l.type) == "uint256" + assert ( + str(ConstantFolding(variable_l.expression, "uint256").result()) + == "115792089237316195423570985008687907853269984665640564039457584007913129639935" + ) diff --git a/tests/unit/core/test_contract_declaration.py b/tests/unit/core/test_contract_declaration.py new file mode 100644 index 0000000000..5ca20428d5 --- /dev/null +++ b/tests/unit/core/test_contract_declaration.py @@ -0,0 +1,43 @@ +import inspect +from pathlib import Path +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 +from slither.core.variables.state_variable import StateVariable +from slither.detectors import all_detectors +from slither.detectors.abstract_detector import AbstractDetector +from slither.slithir.operations import InternalCall, LibraryCall +from slither.utils.arithmetic import unchecked_arithemtic_usage + +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()) + 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()) + 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, + ) + 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()) + contract_c = slither.get_contract_from_name("C")[0] + f = contract_c.functions[0] + var_read = f.variables_read[0] + assert isinstance(var_read, StateVariable) + assert str(var_read.contract) == "B" diff --git a/tests/unit/core/test_data/arithmetic_usage/test.sol b/tests/unit/core/test_data/arithmetic_usage/test.sol new file mode 100644 index 0000000000..7bda7e5042 --- /dev/null +++ b/tests/unit/core/test_data/arithmetic_usage/test.sol @@ -0,0 +1,29 @@ +function protected(uint a, uint b) returns(uint){ + return (a + b) * (a + b); +} + +function not_protected_asm(uint a, uint b) returns(uint){ + uint c; + assembly{ + c := mul(add(a,b), add(a,b)) + } + return c; +} + +function not_protected_unchecked(uint a, uint b) returns(uint){ + uint c; + unchecked{ + return (a + b) * (a + b); + } + +} + +contract A{ + + function f(uint a, uint b) public{ + protected(a,b); + not_protected_asm(a, b); + not_protected_unchecked(a, b); + } + +} \ No newline at end of file diff --git a/tests/unit/core/test_data/complex_func.sol b/tests/unit/core/test_data/complex_func.sol new file mode 100644 index 0000000000..cdb716efda --- /dev/null +++ b/tests/unit/core/test_data/complex_func.sol @@ -0,0 +1,88 @@ +pragma solidity ^0.4.24; + +contract Complex { + int numberOfSides = 7; + string shape; + uint i0 = 0; + uint i1 = 0; + uint i2 = 0; + uint i3 = 0; + uint i4 = 0; + uint i5 = 0; + uint i6 = 0; + uint i7 = 0; + uint i8 = 0; + uint i9 = 0; + uint i10 = 0; + + + function computeShape() external { + if (numberOfSides <= 2) { + shape = "Cant be a shape!"; + } else if (numberOfSides == 3) { + shape = "Triangle"; + } else if (numberOfSides == 4) { + shape = "Square"; + } else if (numberOfSides == 5) { + shape = "Pentagon"; + } else if (numberOfSides == 6) { + shape = "Hexagon"; + } else if (numberOfSides == 7) { + shape = "Heptagon"; + } else if (numberOfSides == 8) { + shape = "Octagon"; + } else if (numberOfSides == 9) { + shape = "Nonagon"; + } else if (numberOfSides == 10) { + shape = "Decagon"; + } else if (numberOfSides == 11) { + shape = "Hendecagon"; + } else { + shape = "Your shape is more than 11 sides."; + } + } + + function complexExternalWrites() external { + Increment test1 = new Increment(); + test1.increaseBy1(); + test1.increaseBy1(); + test1.increaseBy1(); + test1.increaseBy1(); + test1.increaseBy1(); + + Increment test2 = new Increment(); + test2.increaseBy1(); + + address test3 = new Increment(); + test3.call(bytes4(keccak256("increaseBy2()"))); + + address test4 = new Increment(); + test4.call(bytes4(keccak256("increaseBy2()"))); + } + + function complexStateVars() external { + i0 = 1; + i1 = 1; + i2 = 1; + i3 = 1; + i4 = 1; + i5 = 1; + i6 = 1; + i7 = 1; + i8 = 1; + i9 = 1; + i10 = 1; + } +} + +contract Increment { + uint i = 0; + + function increaseBy1() public { + i += 1; + } + + function increaseBy2() public { + i += 2; + } +} \ 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 new file mode 100644 index 0000000000..923418ce71 --- /dev/null +++ b/tests/unit/core/test_data/constant_folding/constant_folding_binop.sol @@ -0,0 +1,14 @@ +contract BinOp { + uint a = 1 & 2; + uint b = 1 ^ 2; + uint c = 1 | 2; + bool d = 2 < 1; + bool e = 1 > 2; + bool f = 1 <= 2; + bool g = 1 >= 2; + bool h = 1 == 2; + bool i = 1 != 2; + bool j = true && false; + bool k = true || false; + uint l = uint(1) - uint(2); +} \ No newline at end of file diff --git a/tests/unit/core/test_data/constant_folding/constant_folding_rational.sol b/tests/unit/core/test_data/constant_folding/constant_folding_rational.sol new file mode 100644 index 0000000000..1931338244 --- /dev/null +++ b/tests/unit/core/test_data/constant_folding/constant_folding_rational.sol @@ -0,0 +1,9 @@ +contract C { + uint256 constant a = 2.5 + 7 + 0.5; + int128 b = 6 / 3.0; + int64 constant c = 5 * 0.5 + 0.5; + int256 d = 1e3 + 5E2; + uint256 e = 2 ** 255; + uint256 f = 115792089237316195423570985008687907853269984665640564039457584_007_913_129_639_935; + int64 constant g = -7.0; +} \ No newline at end of file diff --git a/tests/unit/core/test_data/constant_folding/constant_folding_unary.sol b/tests/unit/core/test_data/constant_folding/constant_folding_unary.sol new file mode 100644 index 0000000000..71c7b3d2e5 --- /dev/null +++ b/tests/unit/core/test_data/constant_folding/constant_folding_unary.sol @@ -0,0 +1,7 @@ +contract C { + int8 constant a = -7; + function f() public pure { + uint[-a] memory x; + x[0] = 2; + } +} \ No newline at end of file diff --git a/tests/unit/core/test_data/contract_declaration/abstract.sol b/tests/unit/core/test_data/contract_declaration/abstract.sol new file mode 100644 index 0000000000..b29f683c47 --- /dev/null +++ b/tests/unit/core/test_data/contract_declaration/abstract.sol @@ -0,0 +1,5 @@ +pragma solidity ^0.8.0; + +abstract contract ExplicitAbstract{ + function f() virtual public; +} diff --git a/tests/unit/core/test_data/contract_declaration/implicit_abstract.sol b/tests/unit/core/test_data/contract_declaration/implicit_abstract.sol new file mode 100644 index 0000000000..c46ccd8214 --- /dev/null +++ b/tests/unit/core/test_data/contract_declaration/implicit_abstract.sol @@ -0,0 +1,5 @@ +pragma solidity ^0.5.0; + +contract ImplicitAbstract{ + function f() public; +} \ No newline at end of file diff --git a/tests/unit/core/test_data/contract_declaration/private_variable.sol b/tests/unit/core/test_data/contract_declaration/private_variable.sol new file mode 100644 index 0000000000..93f4d3dda6 --- /dev/null +++ b/tests/unit/core/test_data/contract_declaration/private_variable.sol @@ -0,0 +1,13 @@ +contract A{ + uint private v = 10; +} + +contract B{ + uint v = 20; +} + +contract C is B, A{ + function f() public view returns(uint) { + return v; + } +} \ No newline at end of file diff --git a/tests/unit/core/test_data/custom_comments/contract_comment.sol b/tests/unit/core/test_data/custom_comments/contract_comment.sol new file mode 100644 index 0000000000..8f0fb5233b --- /dev/null +++ b/tests/unit/core/test_data/custom_comments/contract_comment.sol @@ -0,0 +1,7 @@ +/** + * @title Test Contract + * @dev Test comment + */ +contract A{ + +} \ No newline at end of file diff --git a/tests/unit/core/test_data/custom_comments/upgrade.sol b/tests/unit/core/test_data/custom_comments/upgrade.sol new file mode 100644 index 0000000000..96192df0bc --- /dev/null +++ b/tests/unit/core/test_data/custom_comments/upgrade.sol @@ -0,0 +1,16 @@ +/// @custom:security isDelegatecallProxy +contract Proxy{ + +} + +/// @custom:security isUpgradeable +/// @custom:version name=version-0 +contract V0{ + +} + +/// @custom:security isUpgradeable +/// @custom:version name=version_1 +contract V1{ + +} \ No newline at end of file diff --git a/tests/unit/core/test_data/deprecated_calls.sol b/tests/unit/core/test_data/deprecated_calls.sol new file mode 100644 index 0000000000..6321e4e76f --- /dev/null +++ b/tests/unit/core/test_data/deprecated_calls.sol @@ -0,0 +1,27 @@ +contract ContractWithDeprecatedReferences { + bytes32 globalBlockHash = block.blockhash(0); + + // Deprecated: Change constant -> view + function functionWithDeprecatedThrow() public constant { + // Deprecated: Change msg.gas -> gasleft() + if(msg.gas == msg.value) { + // Deprecated: Change throw -> revert() + throw; + } + } + + // Deprecated: Change constant -> view + function functionWithDeprecatedReferences() public constant { + // Deprecated: Change sha3() -> keccak256() + bytes32 sha3Result = sha3("test deprecated sha3 usage"); + + // Deprecated: Change block.blockhash() -> blockhash() + bytes32 blockHashResult = block.blockhash(0); + + // Deprecated: Change callcode() -> delegatecall() + address(this).callcode(); + + // Deprecated: Change suicide() -> selfdestruct() + suicide(address(0)); + } +} \ No newline at end of file diff --git a/tests/unit/core/test_data/function_declaration/test_function.sol b/tests/unit/core/test_data/function_declaration/test_function.sol new file mode 100644 index 0000000000..aca9fc93d8 --- /dev/null +++ b/tests/unit/core/test_data/function_declaration/test_function.sol @@ -0,0 +1,130 @@ +pragma solidity ^0.6.12; + +// solidity source used by tests/test_function.py. +// tests/test_function.py tests that the functions below get translated into correct +// `slither.core.declarations.Function` objects or its subclasses +// and that these objects behave correctly. + +contract TestFunction { + bool entered = false; + bytes32 public info; + + function external_payable(uint _a) external payable returns (uint) { + return 1; + } + + function public_reenter() public { + msg.sender.call(""); + } + + function public_payable_reenter_send(bool _b) public payable { + msg.sender.call{value: 1}(""); + } + + function external_send(uint8 _c) external { + require(!entered); + entered = true; + msg.sender.call{value: 1}(""); + } + + function internal_assembly(bytes calldata _d) internal returns (uint) { + uint256 chain; + assembly { + chain := chainid() + } + return chain; + } + + fallback() external { + + } + + receive() external payable { + + } + + constructor(address payable _e) public payable { + + } + + function private_view() private view returns (bool) { + return entered; + } + + function public_pure() public pure returns (bool) { + return true; + } +} + +contract TestFunctionCanSendEth { + + function send_direct() internal { + address(1).send(1); + } + + function transfer_direct() internal { + address(1).transfer(1); + } + + function call_direct() internal { + address(1).call{value: 1}(""); + } + + function highlevel_call_direct() internal { + TestFunctionCanSendEthOther(address(5)).i_am_payable{value: 1}(); + } + + function send_via_internal() public { + send_direct(); + } + + function transfer_via_internal() public { + transfer_direct(); + } + + function call_via_internal() public { + call_direct(); + } + + function highlevel_call_via_internal() public { + highlevel_call_direct(); + } + + function send_via_external() public { + TestFunctionCanSendEthOther(address(5)).send_direct(); + } + + function transfer_via_external() public { + TestFunctionCanSendEthOther(address(5)).transfer_direct(); + } + + function call_via_external() public { + TestFunctionCanSendEthOther(address(5)).call_direct(); + } + + function highlevel_call_via_external() public { + TestFunctionCanSendEthOther(address(5)).highlevel_call_direct(); + } +} + +contract TestFunctionCanSendEthOther { + function i_am_payable() external payable { + + } + + function send_direct() external { + address(1).send(1); + } + + function transfer_direct() external { + address(1).transfer(1); + } + + function call_direct() external { + address(1).call{value: 1}(""); + } + + function highlevel_call_direct() external { + TestFunctionCanSendEthOther(address(5)).i_am_payable{value: 1}(); + } +} diff --git a/tests/unit/core/test_data/function_declaration/test_function_reentrant.sol b/tests/unit/core/test_data/function_declaration/test_function_reentrant.sol new file mode 100644 index 0000000000..a1a8faa7b3 --- /dev/null +++ b/tests/unit/core/test_data/function_declaration/test_function_reentrant.sol @@ -0,0 +1,36 @@ +contract TestReentrant{ + + modifier nonReentrant(){ + _; + } + + function is_reentrant() public{ + internal_and_could_be_reentrant(); + internal_and_reentrant(); + } + + function is_non_reentrant() nonReentrant() public{ + internal_and_could_be_reentrant(); + internal_and_not_reentrant2(); + } + + function internal_and_not_reentrant() nonReentrant() internal{ + + } + + function internal_and_not_reentrant2() internal{ + + } + + // Called by a protected and unprotected function + function internal_and_could_be_reentrant() internal{ + + } + + // Called by a protected and unprotected function + function internal_and_reentrant() internal{ + + } + + +} \ No newline at end of file diff --git a/tests/unit/core/test_data/inheritance_graph.sol b/tests/unit/core/test_data/inheritance_graph.sol new file mode 100644 index 0000000000..6707775833 --- /dev/null +++ b/tests/unit/core/test_data/inheritance_graph.sol @@ -0,0 +1,100 @@ +contract TestContractVar { + +} + +contract A { + uint public public_var = 1; + uint internal private_var = 1; + TestContractVar public public_contract; + TestContractVar internal private_contract; + + uint public shadowed_public_var = 1; + uint internal shadowed_private_var = 1; + TestContractVar public shadowed_public_contract; + TestContractVar internal shadowed_private_contract; + + function getValue() public pure returns (uint) { + return 0; + } + function notRedefined() public returns (uint) { + return getValue(); + } + + modifier testModifier { + assert(true); + _; + } + function testFunction() testModifier public returns (uint) { + return 0; + } +} + +contract B is A { + // This function overshadows A directly, and overshadows C indirectly (via 'G'->'D') + function getValue() public pure returns (uint) { + return 1; + } +} + +contract Good is A, B { + +} + +contract C is A { + + // This function overshadows A directly, and overshadows B indirectly (via 'G') + function getValue() public pure returns (uint) { + return super.getValue() + 1; + } +} + +contract D is B { + // This should overshadow A's definitions. + uint public shadowed_public_var = 2; + uint internal shadowed_private_var = 2; + TestContractVar public shadowed_public_contract; + TestContractVar internal shadowed_private_contract; +} + +contract E { + // Variables cannot indirectly shadow, so this should not be counted. + uint public public_var = 2; + uint internal private_var = 2; + TestContractVar public public_contract; + TestContractVar internal private_contract; + + // This should overshadow A's definition indirectly (via 'G'). + modifier testModifier { + assert(false); + _; + } +} + +contract F is B { + // This should overshadow A's definitions. + uint public shadowed_public_var = 2; + uint internal shadowed_private_var = 2; + TestContractVar public shadowed_public_contract; + TestContractVar internal shadowed_private_contract; + + // This should overshadow B's definition directly, as well as B's and C's indirectly (via 'G') + // (graph only outputs directly if both, so B direct and C indirect should be reported). + function getValue() public pure returns (uint) { + return 1; + } + + // This should indirectly shadow definition in A directly, and E indirectly (via 'G') + modifier testModifier { + assert(false); + _; + } +} + +contract G is B, C, D, E, F { + // This should overshadow definitions in A, D, and F + uint public shadowed_public_var = 3; + uint internal shadowed_private_var = 3; + TestContractVar public shadowed_public_contract; + + // This contract's multiple inheritance chain should cause indirect shadowing (c3 linearization shadowing). +} diff --git a/tests/unit/core/test_data/source_mapping.sol b/tests/unit/core/test_data/source_mapping.sol new file mode 100644 index 0000000000..771f2daedc --- /dev/null +++ b/tests/unit/core/test_data/source_mapping.sol @@ -0,0 +1,22 @@ +contract A{ + + // ëëëëëëëëëëëëë这这这这这这这这这这 + + address unused; + + + address unused2; + + + // ই এই এই এইই এই এই এইই এই এই এই + + address unused3; + + + address unused4; + + // 这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这 + address used; + + +} diff --git a/tests/unit/core/test_data/src_mapping/ReferencesUserDefinedAliases.sol b/tests/unit/core/test_data/src_mapping/ReferencesUserDefinedAliases.sol new file mode 100644 index 0000000000..68fac48af2 --- /dev/null +++ b/tests/unit/core/test_data/src_mapping/ReferencesUserDefinedAliases.sol @@ -0,0 +1,19 @@ +pragma solidity 0.8.16; + +type aliasTopLevel is uint; + +contract C +{ + type aliasContractLevel is uint; +} + +contract Test +{ + aliasTopLevel a; + C.aliasContractLevel b; +} + +function f(aliasTopLevel, C.aliasContractLevel) +{ + +} \ No newline at end of file diff --git a/tests/unit/core/test_data/src_mapping/ReferencesUserDefinedTypesCasting.sol b/tests/unit/core/test_data/src_mapping/ReferencesUserDefinedTypesCasting.sol new file mode 100644 index 0000000000..1c23f0d5ca --- /dev/null +++ b/tests/unit/core/test_data/src_mapping/ReferencesUserDefinedTypesCasting.sol @@ -0,0 +1,19 @@ +pragma solidity 0.8.16; + +interface A +{ + function a() external; +} + +contract C +{ + function g(address _address) private + { + A(_address).a(); + } +} + +function f(address _address) +{ + A(_address).a(); +} \ No newline at end of file diff --git a/tests/unit/core/test_data/src_mapping/inheritance.sol b/tests/unit/core/test_data/src_mapping/inheritance.sol new file mode 100644 index 0000000000..4c3ff92ee7 --- /dev/null +++ b/tests/unit/core/test_data/src_mapping/inheritance.sol @@ -0,0 +1,35 @@ +contract A{ + + function f() public virtual { + + } + + function test() public { + f(); + } + +} + +contract B is A{ + + function f() public override { + + } + +} + +contract C is A{ + + function f() public override { + + } + + function test2() public { + f(); + } + +} + +contract D is A{ + +} diff --git a/tests/unit/core/test_data/storage_layout/StorageLayout.abi b/tests/unit/core/test_data/storage_layout/StorageLayout.abi new file mode 100644 index 0000000000..a60ca06615 --- /dev/null +++ b/tests/unit/core/test_data/storage_layout/StorageLayout.abi @@ -0,0 +1 @@ +[{"inputs":[],"name":"store","outputs":[],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file diff --git a/tests/unit/core/test_data/storage_layout/StorageLayout.bin b/tests/unit/core/test_data/storage_layout/StorageLayout.bin new file mode 100644 index 0000000000..11163c2f00 --- /dev/null +++ b/tests/unit/core/test_data/storage_layout/StorageLayout.bin @@ -0,0 +1 @@ +608060405260016000806101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555060016000601f6101000a81548160ff02191690831515021790555060405180604001604052806000601f9054906101000a900460ff161515815260200160008054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250600160008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050506040518060400160405280601481526020017f736c69746865722d726561642d73746f7261676500000000000000000000000081525060079080519060200190620001b6929190620002b2565b5060088060006101000a81548160ff021916908360ff1602179055507f6161616161616161000000000000000000000000000000000000000000000000600860016101000a81548167ffffffffffffffff021916908360c01c02179055506000600860096101000a81548160ff021916908360028111156200023d576200023c62000362565b5b021790555060016008600a6101000a81548160ff021916908360028111156200026b576200026a62000362565b5b021790555060026008600b6101000a81548160ff0219169083600281111562000299576200029862000362565b5b0217905550348015620002ab57600080fd5b50620003f6565b828054620002c090620003c0565b90600052602060002090601f016020900481019282620002e4576000855562000330565b82601f10620002ff57805160ff191683800117855562000330565b8280016001018555821562000330579182015b828111156200032f57825182559160200191906001019062000312565b5b5090506200033f919062000343565b5090565b5b808211156200035e57600081600090555060010162000344565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003d957607f821691505b60208210811415620003f057620003ef62000391565b5b50919050565b610fd780620004066000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063975057e714610030575b600080fd5b61003861003a565b005b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461009557600080fd5b33600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600260008060009054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550905050600160036000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008060009054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550905050600160046000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006002815260200190815260200160002060006101000a81548160ff0219169083151502179055506040518060600160405280600160ff168152602001600260ff168152602001600360ff1681525060099060036104b8929190610ddd565b50600c600990806001815401808255809150506001900390600052602060002090600302016000909190919091509060036104f4929190610e22565b50600c6040518060600160405280600460ff168152602001600560ff168152602001600660ff168152509080600181540180825580915050600190039060005260206000209060030201600090919091909150906003610555929190610ddd565b50600d60006003811061056b5761056a610f72565b5b0160079080600181540180825580915050600190039060005260206000200160009091909190915055600d6001600381106105a9576105a8610f72565b5b0160089080600181540180825580915050600190039060005260206000200160009091909190915055600d6001600381106105e7576105e6610f72565b5b0160099080600181540180825580915050600190039060005260206000200160009091909190915055600d60026003811061062557610624610f72565b5b01600a9080600181540180825580915050600190039060005260206000200160009091909190915055600d60026003811061066357610662610f72565b5b01600b9080600181540180825580915050600190039060005260206000200160009091909190915055600d6002600381106106a1576106a0610f72565b5b01600c908060018154018082558091505060019003906000526020600020016000909190919091505560106040518060200160405280600d60ff1681525090806001815401808255809150506001900390600052602060002001600090919091909150906001610712929190610e5f565b5060106040518060400160405280600e60ff168152602001600f60ff1681525090806001815401808255809150506001900390600052602060002001600090919091909150906002610765929190610eb1565b5060106040518060600160405280601060ff168152602001601160ff168152602001601260ff16815250908060018154018082558091505060019003906000526020600020016000909190919091509060036107c2929190610f03565b5060116001908060018154018082558091505060019003906000526020600020016000909190919091506000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060116040518060400160405280600015158152602001600a7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050506001601260006003811061099a57610999610f72565b5b016000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055509050506040518060400160405280600015158152602001600a7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152506012600160038110610aa257610aa1610f72565b5b0160008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555090505060056000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206011600081548110610b9957610b98610f72565b5b90600052602060002001908060018154018082558091505060019003906000526020600020016000909190919091506000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060056000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206011600181548110610cf557610cf4610f72565b5b90600052602060002001908060018154018082558091505060019003906000526020600020016000909190919091506000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055505050565b8260038101928215610e11579160200282015b82811115610e10578251829060ff16905591602001919060010190610df0565b5b509050610e1e9190610f55565b5090565b8260038101928215610e4e579182015b82811115610e4d578254825591600101919060010190610e32565b5b509050610e5b9190610f55565b5090565b828054828255906000526020600020908101928215610ea0579160200282015b82811115610e9f578251829060ff16905591602001919060010190610e7f565b5b509050610ead9190610f55565b5090565b828054828255906000526020600020908101928215610ef2579160200282015b82811115610ef1578251829060ff16905591602001919060010190610ed1565b5b509050610eff9190610f55565b5090565b828054828255906000526020600020908101928215610f44579160200282015b82811115610f43578251829060ff16905591602001919060010190610f23565b5b509050610f519190610f55565b5090565b5b80821115610f6e576000816000905550600101610f56565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212201cafaf685feba709fe5b26911b38f3251b1d43d43cec2d0d839fb6ff480488d164736f6c634300080a0033 \ No newline at end of file diff --git a/tests/unit/core/test_data/storage_layout/TEST_storage_layout.json b/tests/unit/core/test_data/storage_layout/TEST_storage_layout.json new file mode 100644 index 0000000000..9de3aacfd1 --- /dev/null +++ b/tests/unit/core/test_data/storage_layout/TEST_storage_layout.json @@ -0,0 +1,576 @@ +{ + "packedUint": { + "name": "packedUint", + "type_string": "uint248", + "slot": 0, + "size": 248, + "offset": 0, + "value": 1, + "elems": {} + }, + "packedBool": { + "name": "packedBool", + "type_string": "bool", + "slot": 0, + "size": 8, + "offset": 248, + "value": true, + "elems": {} + }, + "_packedStruct": { + "name": "_packedStruct", + "type_string": "StorageLayout.PackedStruct", + "slot": 1, + "size": 256, + "offset": 0, + "value": "0000000000000000000000000000000000000000000000000000000000000101", + "elems": { + "b": { + "name": "_packedStruct.b", + "type_string": "bool", + "slot": 1, + "size": 8, + "offset": 0, + "value": true, + "elems": {} + }, + "a": { + "name": "_packedStruct.a", + "type_string": "uint248", + "slot": 1, + "size": 248, + "offset": 8, + "value": 1, + "elems": {} + } + } + }, + "mappingPackedStruct": { + "name": "mappingPackedStruct", + "type_string": "mapping(uint256 => StorageLayout.PackedStruct)", + "slot": 2, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "deepMappingPackedStruct": { + "name": "deepMappingPackedStruct", + "type_string": "mapping(address => mapping(uint256 => StorageLayout.PackedStruct))", + "slot": 3, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "deepMappingElementaryTypes": { + "name": "deepMappingElementaryTypes", + "type_string": "mapping(address => mapping(uint256 => bool))", + "slot": 4, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "mappingDynamicArrayOfStructs": { + "name": "mappingDynamicArrayOfStructs", + "type_string": "mapping(address => StorageLayout.PackedStruct[])", + "slot": 5, + "size": 256, + "offset": 0, + "value": 0, + "elems": {} + }, + "_address": { + "name": "_address", + "type_string": "address", + "slot": 6, + "size": 160, + "offset": 0, + "value": "0xae17D2dD99e07CA3bF2571CCAcEAA9e2Aefc2Dc6", + "elems": {} + }, + "_string": { + "name": "_string", + "type_string": "string", + "slot": 7, + "size": 256, + "offset": 0, + "value": "slither-read-storage", + "elems": {} + }, + "packedUint8": { + "name": "packedUint8", + "type_string": "uint8", + "slot": 8, + "size": 8, + "offset": 0, + "value": 8, + "elems": {} + }, + "packedBytes": { + "name": "packedBytes", + "type_string": "bytes8", + "slot": 8, + "size": 64, + "offset": 8, + "value": "6161616161616161", + "elems": {} + }, + "_enumA": { + "name": "_enumA", + "type_string": "StorageLayout.Enum", + "slot": 8, + "size": 8, + "offset": 72, + "value": "00", + "elems": {} + }, + "_enumB": { + "name": "_enumB", + "type_string": "StorageLayout.Enum", + "slot": 8, + "size": 8, + "offset": 80, + "value": "01", + "elems": {} + }, + "_enumC": { + "name": "_enumC", + "type_string": "StorageLayout.Enum", + "slot": 8, + "size": 8, + "offset": 88, + "value": "02", + "elems": {} + }, + "fixedArray": { + "name": "fixedArray", + "type_string": "uint256[3]", + "slot": 9, + "size": 768, + "offset": 0, + "value": 1, + "elems": { + "0": { + "name": "fixedArray[0]", + "type_string": "uint256", + "slot": 9, + "size": 256, + "offset": 0, + "value": 1, + "elems": {} + }, + "1": { + "name": "fixedArray[1]", + "type_string": "uint256", + "slot": 10, + "size": 256, + "offset": 0, + "value": 2, + "elems": {} + }, + "2": { + "name": "fixedArray[2]", + "type_string": "uint256", + "slot": 11, + "size": 256, + "offset": 0, + "value": 3, + "elems": {} + } + } + }, + "dynamicArrayOfFixedArrays": { + "name": "dynamicArrayOfFixedArrays", + "type_string": "uint256[3][]", + "slot": 12, + "size": 256, + "offset": 0, + "value": 2, + "elems": { + "0": { + "name": "dynamicArrayOfFixedArrays[0]", + "type_string": "uint256", + "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386055, + "size": 256, + "offset": 0, + "value": 1, + "elems": { + "0": { + "name": "dynamicArrayOfFixedArrays[0]", + "type_string": "uint256", + "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386055, + "size": 256, + "offset": 0, + "value": 1, + "elems": {} + }, + "1": { + "name": "dynamicArrayOfFixedArrays[0]", + "type_string": "uint256", + "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386056, + "size": 256, + "offset": 0, + "value": 2, + "elems": {} + }, + "2": { + "name": "dynamicArrayOfFixedArrays[0]", + "type_string": "uint256", + "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386057, + "size": 256, + "offset": 0, + "value": 3, + "elems": {} + } + } + }, + "1": { + "name": "dynamicArrayOfFixedArrays[1]", + "type_string": "uint256", + "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386058, + "size": 256, + "offset": 0, + "value": 4, + "elems": { + "0": { + "name": "dynamicArrayOfFixedArrays[1]", + "type_string": "uint256", + "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386058, + "size": 256, + "offset": 0, + "value": 4, + "elems": {} + }, + "1": { + "name": "dynamicArrayOfFixedArrays[1]", + "type_string": "uint256", + "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386059, + "size": 256, + "offset": 0, + "value": 5, + "elems": {} + }, + "2": { + "name": "dynamicArrayOfFixedArrays[1]", + "type_string": "uint256", + "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386060, + "size": 256, + "offset": 0, + "value": 6, + "elems": {} + } + } + } + } + }, + "fixedArrayofDynamicArrays": { + "name": "fixedArrayofDynamicArrays", + "type_string": "uint256[][3]", + "slot": 13, + "size": 768, + "offset": 0, + "value": 1, + "elems": { + "0": { + "name": "fixedArrayofDynamicArrays[0]", + "type_string": "uint256", + "slot": 13, + "size": 256, + "offset": 0, + "value": 1, + "elems": { + "0": { + "name": "fixedArrayofDynamicArrays[0]", + "type_string": "uint256", + "slot": 97569884605916225051403212656556507955018248777258318895762758024193532305077, + "size": 256, + "offset": 0, + "value": 7, + "elems": {} + } + } + }, + "1": { + "name": "fixedArrayofDynamicArrays[1]", + "type_string": "uint256", + "slot": 14, + "size": 256, + "offset": 0, + "value": 2, + "elems": { + "0": { + "name": "fixedArrayofDynamicArrays[1]", + "type_string": "uint256", + "slot": 84800337471693920904250232874319843718400766719524250287777680170677855896573, + "size": 256, + "offset": 0, + "value": 8, + "elems": {} + }, + "1": { + "name": "fixedArrayofDynamicArrays[1]", + "type_string": "uint256", + "slot": 84800337471693920904250232874319843718400766719524250287777680170677855896574, + "size": 256, + "offset": 0, + "value": 9, + "elems": {} + } + } + }, + "2": { + "name": "fixedArrayofDynamicArrays[2]", + "type_string": "uint256", + "slot": 15, + "size": 256, + "offset": 0, + "value": 3, + "elems": { + "0": { + "name": "fixedArrayofDynamicArrays[2]", + "type_string": "uint256", + "slot": 63806209331542711802848847270949280092855778197726125910674179583545433573378, + "size": 256, + "offset": 0, + "value": 10, + "elems": {} + }, + "1": { + "name": "fixedArrayofDynamicArrays[2]", + "type_string": "uint256", + "slot": 63806209331542711802848847270949280092855778197726125910674179583545433573379, + "size": 256, + "offset": 0, + "value": 11, + "elems": {} + }, + "2": { + "name": "fixedArrayofDynamicArrays[2]", + "type_string": "uint256", + "slot": 63806209331542711802848847270949280092855778197726125910674179583545433573380, + "size": 256, + "offset": 0, + "value": 12, + "elems": {} + } + } + } + } + }, + "multidimensionalArray": { + "name": "multidimensionalArray", + "type_string": "uint256[][]", + "slot": 16, + "size": 256, + "offset": 0, + "value": 3, + "elems": { + "0": { + "name": "multidimensionalArray[0]", + "type_string": "uint256", + "slot": 12396694973890998440467380340983585058878106250672390494374587083972727727730, + "size": 256, + "offset": 0, + "value": 1, + "elems": { + "0": { + "name": "multidimensionalArray[0]", + "type_string": "uint256", + "slot": 93856215500098298973000561543003607329881518401177956003908346942307446808932, + "size": 256, + "offset": 0, + "value": 13, + "elems": {} + } + } + }, + "1": { + "name": "multidimensionalArray[1]", + "type_string": "uint256", + "slot": 12396694973890998440467380340983585058878106250672390494374587083972727727731, + "size": 256, + "offset": 0, + "value": 2, + "elems": { + "0": { + "name": "multidimensionalArray[1]", + "type_string": "uint256", + "slot": 48332168562525185806884758054388614910060623018875025120987491603435926351511, + "size": 256, + "offset": 0, + "value": 14, + "elems": {} + }, + "1": { + "name": "multidimensionalArray[1]", + "type_string": "uint256", + "slot": 48332168562525185806884758054388614910060623018875025120987491603435926351512, + "size": 256, + "offset": 0, + "value": 15, + "elems": {} + } + } + }, + "2": { + "name": "multidimensionalArray[2]", + "type_string": "uint256", + "slot": 12396694973890998440467380340983585058878106250672390494374587083972727727732, + "size": 256, + "offset": 0, + "value": 3, + "elems": { + "0": { + "name": "multidimensionalArray[2]", + "type_string": "uint256", + "slot": 69037578548663760355678879060995014288537668748590083357305779656188235687653, + "size": 256, + "offset": 0, + "value": 16, + "elems": {} + }, + "1": { + "name": "multidimensionalArray[2]", + "type_string": "uint256", + "slot": 69037578548663760355678879060995014288537668748590083357305779656188235687654, + "size": 256, + "offset": 0, + "value": 17, + "elems": {} + }, + "2": { + "name": "multidimensionalArray[2]", + "type_string": "uint256", + "slot": 69037578548663760355678879060995014288537668748590083357305779656188235687655, + "size": 256, + "offset": 0, + "value": 18, + "elems": {} + } + } + } + } + }, + "dynamicArrayOfStructs": { + "name": "dynamicArrayOfStructs", + "type_string": "StorageLayout.PackedStruct[]", + "slot": 17, + "size": 256, + "offset": 0, + "value": "0000000000000000000000000000000000000000000000000000000000000002", + "elems": { + "0": { + "b": { + "name": "dynamicArrayOfStructs[0]", + "type_string": "bool", + "slot": 22581645139872629890233439717971975110198959689450188087151966948260709403752, + "size": 8, + "offset": 0, + "value": true, + "elems": {} + }, + "a": { + "name": "dynamicArrayOfStructs[0]", + "type_string": "uint248", + "slot": 22581645139872629890233439717971975110198959689450188087151966948260709403752, + "size": 248, + "offset": 8, + "value": 1, + "elems": {} + } + }, + "1": { + "b": { + "name": "dynamicArrayOfStructs[1]", + "type_string": "bool", + "slot": 22581645139872629890233439717971975110198959689450188087151966948260709403753, + "size": 8, + "offset": 0, + "value": false, + "elems": {} + }, + "a": { + "name": "dynamicArrayOfStructs[1]", + "type_string": "uint248", + "slot": 22581645139872629890233439717971975110198959689450188087151966948260709403753, + "size": 248, + "offset": 8, + "value": 10, + "elems": {} + } + } + } + }, + "fixedArrayOfStructs": { + "name": "fixedArrayOfStructs", + "type_string": "StorageLayout.PackedStruct[3]", + "slot": 18, + "size": 768, + "offset": 0, + "value": "0000000000000000000000000000000000000000000000000000000000000101", + "elems": { + "0": { + "b": { + "name": "fixedArrayOfStructs[0]", + "type_string": "bool", + "slot": 18, + "size": 8, + "offset": 0, + "value": true, + "elems": {} + }, + "a": { + "name": "fixedArrayOfStructs[0]", + "type_string": "uint248", + "slot": 18, + "size": 248, + "offset": 8, + "value": 1, + "elems": {} + } + }, + "1": { + "b": { + "name": "fixedArrayOfStructs[1]", + "type_string": "bool", + "slot": 19, + "size": 8, + "offset": 0, + "value": false, + "elems": {} + }, + "a": { + "name": "fixedArrayOfStructs[1]", + "type_string": "uint248", + "slot": 19, + "size": 248, + "offset": 8, + "value": 10, + "elems": {} + } + }, + "2": { + "b": { + "name": "fixedArrayOfStructs[2]", + "type_string": "bool", + "slot": 20, + "size": 8, + "offset": 0, + "value": false, + "elems": {} + }, + "a": { + "name": "fixedArrayOfStructs[2]", + "type_string": "uint248", + "slot": 20, + "size": 248, + "offset": 8, + "value": 0, + "elems": {} + } + } + } + } +} diff --git a/tests/unit/core/test_data/storage_layout/storage_layout-0.8.10.sol b/tests/unit/core/test_data/storage_layout/storage_layout-0.8.10.sol new file mode 100644 index 0000000000..28d1428eb4 --- /dev/null +++ b/tests/unit/core/test_data/storage_layout/storage_layout-0.8.10.sol @@ -0,0 +1,74 @@ +// overwrite abi and bin: +// solc tests/storage-layout/storage_layout-0.8.10.sol --abi --bin -o tests/storage-layout --overwrite +contract StorageLayout { + uint248 packedUint = 1; + bool packedBool = true; + + struct PackedStruct { + bool b; + uint248 a; + } + PackedStruct _packedStruct = PackedStruct(packedBool, packedUint); + + mapping (uint => PackedStruct) mappingPackedStruct; + mapping (address => mapping (uint => PackedStruct)) deepMappingPackedStruct; + mapping (address => mapping (uint => bool)) deepMappingElementaryTypes; + mapping (address => PackedStruct[]) mappingDynamicArrayOfStructs; + + address _address; + string _string = "slither-read-storage"; + uint8 packedUint8 = 8; + bytes8 packedBytes = "aaaaaaaa"; + + enum Enum { + a, + b, + c + } + Enum _enumA = Enum.a; + Enum _enumB = Enum.b; + Enum _enumC = Enum.c; + + uint256[3] fixedArray; + uint256[3][] dynamicArrayOfFixedArrays; + uint[][3] fixedArrayofDynamicArrays; + uint[][] multidimensionalArray; + PackedStruct[] dynamicArrayOfStructs; + PackedStruct[3] fixedArrayOfStructs; + + function store() external { + require(_address == address(0)); + _address = msg.sender; + + mappingPackedStruct[packedUint] = _packedStruct; + + deepMappingPackedStruct[_address][packedUint] = _packedStruct; + + deepMappingElementaryTypes[_address][1] = true; + deepMappingElementaryTypes[_address][2] = true; + + fixedArray = [1, 2, 3]; + + dynamicArrayOfFixedArrays.push(fixedArray); + dynamicArrayOfFixedArrays.push([4, 5, 6]); + + fixedArrayofDynamicArrays[0].push(7); + fixedArrayofDynamicArrays[1].push(8); + fixedArrayofDynamicArrays[1].push(9); + fixedArrayofDynamicArrays[2].push(10); + fixedArrayofDynamicArrays[2].push(11); + fixedArrayofDynamicArrays[2].push(12); + + multidimensionalArray.push([13]); + multidimensionalArray.push([14, 15]); + multidimensionalArray.push([16, 17, 18]); + + dynamicArrayOfStructs.push(_packedStruct); + dynamicArrayOfStructs.push(PackedStruct(false, 10)); + fixedArrayOfStructs[0] = _packedStruct; + fixedArrayOfStructs[1] = PackedStruct(false, 10); + + mappingDynamicArrayOfStructs[_address].push(dynamicArrayOfStructs[0]); + mappingDynamicArrayOfStructs[_address].push(dynamicArrayOfStructs[1]); + } +} diff --git a/tests/unit/core/test_data/taint_mapping.sol b/tests/unit/core/test_data/taint_mapping.sol new file mode 100644 index 0000000000..c1a24ed38e --- /dev/null +++ b/tests/unit/core/test_data/taint_mapping.sol @@ -0,0 +1,18 @@ +contract Test{ + + mapping(uint => mapping(uint => address)) authorized_destination; + + address destination; + + function init(){ + authorized_destination[0][0] = msg.sender; + } + + function setup(uint idx){ + destination = authorized_destination[0][0]; + } + + function withdraw(){ + destination.transfer(this.balance); + } +} diff --git a/tests/unit/core/test_data/using_for/using-for-3-0.8.0.sol b/tests/unit/core/test_data/using_for/using-for-3-0.8.0.sol new file mode 100644 index 0000000000..1da4f3dc65 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-3-0.8.0.sol @@ -0,0 +1,27 @@ +using {a} for Data; + +struct Data { mapping(uint => bool) flags; } + +function a(Data storage self, uint value, uint value2) returns(bool){ + return false; +} + +library Lib { + function a(Data storage self, uint value) public + view + returns (bool) + { + return true; + } + +} + +contract C { + using Lib for Data; + Data knownValues; + + function libCall(uint value) public { + require(knownValues.a(value)); + } + +} \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using-for-4-0.8.0.sol b/tests/unit/core/test_data/using_for/using-for-4-0.8.0.sol new file mode 100644 index 0000000000..d50e107a4d --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-4-0.8.0.sol @@ -0,0 +1,25 @@ +using {f} for St; +struct St { uint field; } + + +function f(St storage self, uint8 v) view returns(uint){ + return 0; +} + + +library Lib { + function f(St storage self, uint256 v) public view returns (uint) { + return 1; + } + +} + +contract C { + using Lib for St; + St st; + + function libCall(uint16 v) public view returns(uint){ + return st.f(v); // return 1 + } + +} \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using-for-alias-contract-0.8.0.sol b/tests/unit/core/test_data/using_for/using-for-alias-contract-0.8.0.sol new file mode 100644 index 0000000000..d6906d5ab1 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-alias-contract-0.8.0.sol @@ -0,0 +1,14 @@ +import "./using-for-alias-dep1.sol"; + +contract C { + using {T3.a, T3.Lib.b} for uint256; + + function topLevel(uint256 value) public { + value.a(); + } + + function libCall(uint256 value) public { + value.b(); + } + +} diff --git a/tests/unit/core/test_data/using_for/using-for-alias-dep1.sol b/tests/unit/core/test_data/using_for/using-for-alias-dep1.sol new file mode 100644 index 0000000000..db28e4a715 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-alias-dep1.sol @@ -0,0 +1,11 @@ +import "./using-for-alias-dep2.sol" as T3; + +function b(uint256 value) returns(bool) { + return true; +} + +library Lib { + function a(uint256 value) public returns(bool) { + return true; + } +} diff --git a/tests/unit/core/test_data/using_for/using-for-alias-dep2.sol b/tests/unit/core/test_data/using_for/using-for-alias-dep2.sol new file mode 100644 index 0000000000..17ff96452e --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-alias-dep2.sol @@ -0,0 +1,9 @@ +function a(uint256 value) returns(bool) { + return true; +} + +library Lib { + function b(uint256 value) public returns(bool) { + return true; + } +} \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using-for-alias-top-level-0.8.0.sol b/tests/unit/core/test_data/using_for/using-for-alias-top-level-0.8.0.sol new file mode 100644 index 0000000000..ed7e22bac1 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-alias-top-level-0.8.0.sol @@ -0,0 +1,15 @@ +import "./using-for-alias-dep1.sol"; + +using {T3.a, T3.Lib.b} for uint256; + +contract C { + + function topLevel(uint256 value) public { + value.a(); + } + + function libCall(uint256 value) public { + value.b(); + } + +} diff --git a/tests/unit/core/test_data/using_for/using-for-in-library-0.8.0.sol b/tests/unit/core/test_data/using_for/using-for-in-library-0.8.0.sol new file mode 100644 index 0000000000..0e8f6a6b9f --- /dev/null +++ b/tests/unit/core/test_data/using_for/using-for-in-library-0.8.0.sol @@ -0,0 +1,14 @@ + +library A { + using B for uint256; + + function a(uint256 v) public view returns (uint) { + return v.b(); + } +} + +library B { + function b(uint256 v) public view returns (uint) { + return 1; + } +} diff --git a/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA.sol new file mode 100644 index 0000000000..dbb00faf20 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA.sol @@ -0,0 +1,2 @@ +import "./MyTypeA/Type.sol"; +import "./MyTypeA/Math.sol"; \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Casting.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Casting.sol new file mode 100644 index 0000000000..c166436fe2 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Casting.sol @@ -0,0 +1,4 @@ +import "./Type.sol"; +function unwrap(MyTypeA a) pure returns (int256) { + return MyTypeA.unwrap(a); +} \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Math.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Math.sol new file mode 100644 index 0000000000..21f7c79251 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Math.sol @@ -0,0 +1,5 @@ +import "./Type.sol"; + +function mul(MyTypeA a, MyTypeA b) pure returns (MyTypeA) { + return MyTypeA.wrap(MyTypeA.unwrap(a) * MyTypeA.unwrap(b)); +} diff --git a/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Type.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Type.sol new file mode 100644 index 0000000000..0973c78692 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeA/Type.sol @@ -0,0 +1,6 @@ +import "./Casting.sol" as C; +import "./Math.sol" as M; + +type MyTypeA is int256; + +using {M.mul, C.unwrap} for MyTypeA global; \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB.sol new file mode 100644 index 0000000000..3ddde2ac65 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB.sol @@ -0,0 +1,2 @@ +import "./MyTypeB/Type.sol"; +import "./MyTypeB/Math.sol"; \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Casting.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Casting.sol new file mode 100644 index 0000000000..c400a91123 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Casting.sol @@ -0,0 +1,4 @@ +import "./Type.sol"; +function unwrap(MyTypeB a) pure returns (uint256) { + return MyTypeB.unwrap(a); +} \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Math.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Math.sol new file mode 100644 index 0000000000..24ee1a5826 --- /dev/null +++ b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Math.sol @@ -0,0 +1,6 @@ +import "./Type.sol"; + +function mul(MyTypeB a, MyTypeB b) pure returns (MyTypeB) { + return MyTypeB.wrap(MyTypeB.unwrap(a) * MyTypeB.unwrap(b)); +} + diff --git a/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Type.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Type.sol new file mode 100644 index 0000000000..a66b65f5dc --- /dev/null +++ b/tests/unit/core/test_data/using_for/using_for_global_collision/src/MyTypeB/Type.sol @@ -0,0 +1,6 @@ +import "./Casting.sol" as C; +import "./Math.sol" as M; + +type MyTypeB is uint256; + +using {M.mul, C.unwrap} for MyTypeB global; \ No newline at end of file diff --git a/tests/unit/core/test_data/using_for/using_for_global_collision/src/Test.sol b/tests/unit/core/test_data/using_for/using_for_global_collision/src/Test.sol new file mode 100644 index 0000000000..013570048c --- /dev/null +++ b/tests/unit/core/test_data/using_for/using_for_global_collision/src/Test.sol @@ -0,0 +1,7 @@ +import "./MyTypeB.sol"; + +contract UsingForGlobalTopLevelCollision { + function mulAndUnwrap(MyTypeB x, MyTypeB y) external pure returns (uint256 z) { + z = x.mul(y).unwrap(); + } +} \ No newline at end of file diff --git a/tests/unit/core/test_function_declaration.py b/tests/unit/core/test_function_declaration.py new file mode 100644 index 0000000000..6f7aa23e7a --- /dev/null +++ b/tests/unit/core/test_function_declaration.py @@ -0,0 +1,305 @@ +""" +tests for `slither.core.declarations.Function`. +tests that `tests/test_function.sol` gets translated into correct +`slither.core.declarations.Function` objects or its subclasses +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 +from slither.core.solidity_types.elementary_type import ElementaryType + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" +FUNC_DELC_TEST_ROOT = Path(TEST_DATA_DIR, "function_declaration") + + +def test_functions(): + # pylint: disable=too-many-statements + solc_select.switch_global_version("0.6.12", always_install=True) + file = Path(FUNC_DELC_TEST_ROOT, "test_function.sol").as_posix() + slither = Slither(file) + functions = slither.get_contract_from_name("TestFunction")[0].available_functions_as_dict() + + f = functions["external_payable(uint256)"] + assert f.name == "external_payable" + assert f.full_name == "external_payable(uint256)" + assert f.canonical_name == "TestFunction.external_payable(uint256)" + assert f.solidity_signature == "external_payable(uint256)" + assert f.signature_str == "external_payable(uint256) returns(uint256)" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is True + assert f.visibility == "external" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters[0].name == "_a" + assert f.parameters[0].type == ElementaryType("uint256") + assert f.return_type[0] == ElementaryType("uint256") + + f = functions["public_reenter()"] + assert f.name == "public_reenter" + assert f.full_name == "public_reenter()" + assert f.canonical_name == "TestFunction.public_reenter()" + assert f.solidity_signature == "public_reenter()" + assert f.signature_str == "public_reenter() returns()" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is True + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "public" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters == [] + assert f.return_type is None + + f = functions["public_payable_reenter_send(bool)"] + assert f.name == "public_payable_reenter_send" + assert f.full_name == "public_payable_reenter_send(bool)" + assert f.canonical_name == "TestFunction.public_payable_reenter_send(bool)" + assert f.solidity_signature == "public_payable_reenter_send(bool)" + assert f.signature_str == "public_payable_reenter_send(bool) returns()" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is True + assert f.can_send_eth() is True + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is True + assert f.visibility == "public" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters[0].name == "_b" + assert f.parameters[0].type == ElementaryType("bool") + assert f.return_type is None + + f = functions["external_send(uint8)"] + assert f.name == "external_send" + assert f.full_name == "external_send(uint8)" + assert f.canonical_name == "TestFunction.external_send(uint8)" + assert f.solidity_signature == "external_send(uint8)" + assert f.signature_str == "external_send(uint8) returns()" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is True + assert f.can_send_eth() is True + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "external" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters[0].name == "_c" + assert f.parameters[0].type == ElementaryType("uint8") + assert f.return_type is None + + f = functions["internal_assembly(bytes)"] + assert f.name == "internal_assembly" + assert f.full_name == "internal_assembly(bytes)" + assert f.canonical_name == "TestFunction.internal_assembly(bytes)" + assert f.solidity_signature == "internal_assembly(bytes)" + assert f.signature_str == "internal_assembly(bytes) returns(uint256)" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is True + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "internal" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters[0].name == "_d" + assert f.parameters[0].type == ElementaryType("bytes") + assert f.return_type[0] == ElementaryType("uint256") + + f = functions["fallback()"] + assert f.name == "fallback" + assert f.full_name == "fallback()" + assert f.canonical_name == "TestFunction.fallback()" + assert f.solidity_signature == "fallback()" + assert f.signature_str == "fallback() returns()" + assert f.function_type == FunctionType.FALLBACK + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is True + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "external" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is True + assert f.parameters == [] + assert f.return_type is None + + f = functions["receive()"] + assert f.name == "receive" + assert f.full_name == "receive()" + assert f.canonical_name == "TestFunction.receive()" + assert f.solidity_signature == "receive()" + assert f.signature_str == "receive() returns()" + assert f.function_type == FunctionType.RECEIVE + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is True + assert f.payable is True + assert f.visibility == "external" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is True + assert f.parameters == [] + assert f.return_type is None + + f = functions["constructor(address)"] + assert f.name == "constructor" + assert f.full_name == "constructor(address)" + assert f.canonical_name == "TestFunction.constructor(address)" + assert f.solidity_signature == "constructor(address)" + assert f.signature_str == "constructor(address) returns()" + assert f.function_type == FunctionType.CONSTRUCTOR + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is True + assert f.visibility == "public" + assert f.view is False + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is True + assert f.parameters[0].name == "_e" + assert f.parameters[0].type == ElementaryType("address") + assert f.return_type is None + + f = functions["private_view()"] + assert f.name == "private_view" + assert f.full_name == "private_view()" + assert f.canonical_name == "TestFunction.private_view()" + assert f.solidity_signature == "private_view()" + assert f.signature_str == "private_view() returns(bool)" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "private" + assert f.view is True + assert f.pure is False + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters == [] + assert f.return_type[0] == ElementaryType("bool") + + f = functions["public_pure()"] + assert f.name == "public_pure" + assert f.full_name == "public_pure()" + assert f.canonical_name == "TestFunction.public_pure()" + assert f.solidity_signature == "public_pure()" + assert f.signature_str == "public_pure() returns(bool)" + assert f.function_type == FunctionType.NORMAL + assert f.contains_assembly is False + assert f.can_reenter() is False + assert f.can_send_eth() is False + assert f.is_constructor is False + assert f.is_fallback is False + assert f.is_receive is False + assert f.payable is False + assert f.visibility == "public" + assert f.view is True + assert f.pure is True + assert f.is_implemented is True + assert f.is_empty is False + assert f.parameters == [] + assert f.return_type[0] == ElementaryType("bool") + + +def test_function_can_send_eth(): + solc_select.switch_global_version("0.6.12", always_install=True) + file = Path(FUNC_DELC_TEST_ROOT, "test_function.sol").as_posix() + slither = Slither(file) + compilation_unit = slither.compilation_units[0] + functions = compilation_unit.get_contract_from_name("TestFunctionCanSendEth")[ + 0 + ].available_functions_as_dict() + + assert functions["send_direct()"].can_send_eth() is True + assert functions["transfer_direct()"].can_send_eth() is True + assert functions["call_direct()"].can_send_eth() is True + assert functions["highlevel_call_direct()"].can_send_eth() is True + + assert functions["send_via_internal()"].can_send_eth() is True + assert functions["transfer_via_internal()"].can_send_eth() is True + assert functions["call_via_internal()"].can_send_eth() is True + assert functions["highlevel_call_via_internal()"].can_send_eth() is True + + assert functions["send_via_external()"].can_send_eth() is False + assert functions["transfer_via_external()"].can_send_eth() is False + assert functions["call_via_external()"].can_send_eth() is False + 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) + file = Path(FUNC_DELC_TEST_ROOT, "test_function_reentrant.sol").as_posix() + slither = Slither(file) + compilation_unit = slither.compilation_units[0] + functions = compilation_unit.get_contract_from_name("TestReentrant")[ + 0 + ].available_functions_as_dict() + + assert functions["is_reentrant()"].is_reentrant + assert not functions["is_non_reentrant()"].is_reentrant + assert not functions["internal_and_not_reentrant()"].is_reentrant + assert not functions["internal_and_not_reentrant2()"].is_reentrant + assert functions["internal_and_could_be_reentrant()"].is_reentrant + assert functions["internal_and_reentrant()"].is_reentrant + + +def test_public_variable() -> None: + solc_select.switch_global_version("0.6.12", always_install=True) + file = Path(FUNC_DELC_TEST_ROOT, "test_function.sol").as_posix() + slither = Slither(file) + contracts = slither.get_contract_from_name("TestFunction") + assert len(contracts) == 1 + contract = contracts[0] + var = contract.get_state_variable_from_name("info") + assert var + assert var.solidity_signature == "info()" + assert var.signature_str == "info() returns(bytes32)" + assert var.visibility == "public" + assert var.type == ElementaryType("bytes32") diff --git a/tests/unit/core/test_source_mapping.py b/tests/unit/core/test_source_mapping.py new file mode 100644 index 0000000000..745d391d94 --- /dev/null +++ b/tests/unit/core/test_source_mapping.py @@ -0,0 +1,127 @@ +from pathlib import Path +from solc_select import solc_select + +from slither import Slither +from slither.core.declarations import Function + +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) + file = Path(SRC_MAPPING_TEST_ROOT, "inheritance.sol").as_posix() + slither = Slither(file) + + # 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) + assert function.canonical_name == "A.f()" + + # Only one definition for A.f() + assert {(x.start, x.end) for x in slither.offset_to_definitions(file, 27)} == {(26, 28)} + # Only one reference for A.f(), in A.test() + assert {(x.start, x.end) for x in slither.offset_to_references(file, 27)} == {(92, 93)} + # Only one implementation for A.f(), in A.test() + assert {(x.start, x.end) for x in slither.offset_to_implementations(file, 27)} == {(17, 53)} + + # Check if C.f() is at the offset 203 + functions = slither.offset_to_objects(file, 203) + assert len(functions) == 1 + function = functions.pop() + assert isinstance(function, Function) + assert function.canonical_name == "C.f()" + + # Only one definition for C.f() + assert {(x.start, x.end) for x in slither.offset_to_definitions(file, 203)} == {(202, 204)} + # Two references for C.f(), in A.test() and C.test2() + assert {(x.start, x.end) for x in slither.offset_to_references(file, 203)} == { + (270, 271), + (92, 93), + } + # Only one implementation for A.f(), in A.test() + assert {(x.start, x.end) for x in slither.offset_to_implementations(file, 203)} == {(193, 230)} + + # Offset 93 is the call to f() in A.test() + # This can lead to three differents functions, depending on the current contract's context + functions = slither.offset_to_objects(file, 93) + print(functions) + assert len(functions) == 3 + for function in functions: + assert isinstance(function, Function) + assert function.canonical_name in ["A.f()", "B.f()", "C.f()"] + + # There are three definitions possible (in A, B or C) + assert {(x.start, x.end) for x in slither.offset_to_definitions(file, 93)} == { + (26, 28), + (202, 204), + (138, 140), + } + + # There are two references possible (in A.test() or C.test2() ) + assert {(x.start, x.end) for x in slither.offset_to_references(file, 93)} == { + (92, 93), + (270, 271), + } + + # There are three implementations possible (in A, B or C) + assert {(x.start, x.end) for x in slither.offset_to_implementations(file, 93)} == { + (17, 53), + (193, 230), + (129, 166), + } + + +def _sort_references_lines(refs: list) -> list: + return sorted([ref.lines[0] for ref in refs]) + + +def _test_references_user_defined_aliases(): + """ + 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) + file = Path(SRC_MAPPING_TEST_ROOT, "ReferencesUserDefinedAliases.sol").as_posix() + slither = Slither(file) + + alias_top_level = slither.compilation_units[0].user_defined_value_types["aliasTopLevel"] + assert len(alias_top_level.references) == 2 + lines = _sort_references_lines(alias_top_level.references) + assert lines == [12, 16] + + alias_contract_level = ( + slither.compilation_units[0] + .contracts[0] + .file_scope.user_defined_types["C.aliasContractLevel"] + ) + assert len(alias_contract_level.references) == 2 + lines = _sort_references_lines(alias_contract_level.references) + assert lines == [13, 16] + + +def _test_references_user_defined_types_when_casting(): + """ + 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) + file = Path(SRC_MAPPING_TEST_ROOT, "ReferencesUserDefinedTypesCasting.sol").as_posix() + slither = Slither(file) + + 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 new file mode 100644 index 0000000000..4cb439d770 --- /dev/null +++ b/tests/unit/core/test_storage_layout.py @@ -0,0 +1,36 @@ +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(): + # 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) + 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) + + with Popen(["solc", 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"]) + while True: + try: + for contract in sl.contracts: + curr_var = next(layout) + var_name = curr_var["label"] + sl_name = contract.variables_as_dict[var_name] + slot, offset = contract.compilation_unit.storage_layout_of( + contract, sl_name + ) + assert slot == int(curr_var["slot"]) + assert offset == int(curr_var["offset"]) + except StopIteration: + break + except KeyError as e: + print(f"not found {e} ") diff --git a/tests/unit/core/test_using_for.py b/tests/unit/core/test_using_for.py new file mode 100644 index 0000000000..88a7ea0431 --- /dev/null +++ b/tests/unit/core/test_using_for.py @@ -0,0 +1,95 @@ +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 + +from tests.utils import _run_all_detectors + +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) + 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) + 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()) + 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(): + if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "a": + return + 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()) + 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(): + if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "f": + return + assert False + + +def test_using_for_alias_top_level() -> None: + solc_select.switch_global_version("0.8.15", always_install=True) + slither = Slither( + Path(USING_FOR_TEST_DATA_DIR, "using-for-alias-top-level-0.8.0.sol").as_posix() + ) + contract_c = slither.get_contract_from_name("C")[0] + libCall = contract_c.get_function_from_full_name("libCall(uint256)") + ok = False + for ir in libCall.all_slithir_operations(): + if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "b": + ok = True + if not ok: + assert False + topLevelCall = contract_c.get_function_from_full_name("topLevel(uint256)") + for ir in topLevelCall.all_slithir_operations(): + if isinstance(ir, InternalCall) and ir.function_name == "a": + return + assert False + + +def test_using_for_alias_contract() -> None: + solc_select.switch_global_version("0.8.15", always_install=True) + slither = Slither( + Path(USING_FOR_TEST_DATA_DIR, "using-for-alias-contract-0.8.0.sol").as_posix() + ) + contract_c = slither.get_contract_from_name("C")[0] + libCall = contract_c.get_function_from_full_name("libCall(uint256)") + ok = False + for ir in libCall.all_slithir_operations(): + if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "b": + ok = True + if not ok: + assert False + topLevelCall = contract_c.get_function_from_full_name("topLevel(uint256)") + for ir in topLevelCall.all_slithir_operations(): + if isinstance(ir, InternalCall) and ir.function_name == "a": + return + 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()) + 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(): + if isinstance(ir, LibraryCall) and ir.destination == "B" and ir.function_name == "b": + return + assert False diff --git a/tests/unit/slithir/test_data/operation_reads.sol b/tests/unit/slithir/test_data/operation_reads.sol new file mode 100644 index 0000000000..22adc22889 --- /dev/null +++ b/tests/unit/slithir/test_data/operation_reads.sol @@ -0,0 +1,17 @@ + +contract Placeholder { + constructor() payable {} +} + +contract NewContract { + bytes32 internal constant state_variable_read = bytes32(0); + + function readAllStateVariables() external { + new Placeholder{salt: state_variable_read} (); + } + + function readAllLocalVariables() external { + bytes32 local_variable_read = bytes32(0); + new Placeholder{salt: local_variable_read} (); + } +} \ No newline at end of file diff --git a/tests/unit/slithir/test_data/ternary_expressions.sol b/tests/unit/slithir/test_data/ternary_expressions.sol new file mode 100644 index 0000000000..c73a2b6b33 --- /dev/null +++ b/tests/unit/slithir/test_data/ternary_expressions.sol @@ -0,0 +1,52 @@ +interface Test { + function test() external payable returns (uint); + function testTuple() external payable returns (uint, uint); +} +contract C { + // TODO + // 1) support variable declarations + //uint min = 1 > 0 ? 1 : 2; + // 2) suppory ternary index range access + // function e(bool cond, bytes calldata x) external { + // bytes memory a = x[cond ? 1 : 2 :]; + // } + function a(uint a, uint b) external { + (uint min, uint max) = a < b ? (a, b) : (b, a); + } + function b( address a, address b) external { + (address tokenA, address tokenB) = a < b ? (a, b) : (b, a); + } + + bytes char; + function c(bytes memory strAddress, uint i, uint padding, uint length) external { + char[0] = strAddress[i < padding + 2 ? i : 42 + i - length]; + } + + function d(bool cond, bytes calldata x) external { + bytes1 a = x[cond ? 1 : 2]; + } + + function e(address one, address two) public { + uint x = Test(one).test{value: msg.sender == two ? 1 : 2, gas: true ? 2 : gasleft()}(); + } + + // Parenthetical expression + function f(address one, address two) public { + uint x = Test(one).test{value: msg.sender == two ? 1 : 2, gas: true ? (1 == 1 ? 1 : 2) : gasleft()}(); + } + + // Unused tuple variable + function g(address one) public { + (, uint x) = Test(one).testTuple(); + } + + uint[] myIntegers; + function _h(uint c) internal returns(uint) { + return c; + } + function h(bool cond, uint a, uint b) public { + uint d = _h( + myIntegers[cond ? a : b] + ); + } +} diff --git a/tests/unit/slithir/test_operation_reads.py b/tests/unit/slithir/test_operation_reads.py new file mode 100644 index 0000000000..d87dc79c34 --- /dev/null +++ b/tests/unit/slithir/test_operation_reads.py @@ -0,0 +1,54 @@ +from pathlib import Path +from collections import namedtuple +from slither import Slither +from slither.slithir.operations import Operation, NewContract +from solc_select import solc_select + +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" + + +def check_num_local_vars_read(function, slithir_op: Operation, num_reads_expected: int): + for node in function.nodes: + for operation in node.irs: + if isinstance(operation, slithir_op): + assert len(operation.read) == num_reads_expected + assert len(node.local_variables_read) == num_reads_expected + + +def check_num_states_vars_read(function, slithir_op: Operation, num_reads_expected: int): + for node in function.nodes: + for operation in node.irs: + if isinstance(operation, slithir_op): + assert len(operation.read) == num_reads_expected + assert len(node.state_variables_read) == num_reads_expected + + +OperationTest = namedtuple("OperationTest", "contract_name slithir_op") + +OPERATION_TEST = [OperationTest("NewContract", NewContract)] + + +def test_operation_reads() -> 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()) + + for op_test in OPERATION_TEST: + print(op_test) + available = slither.get_contract_from_name(op_test.contract_name) + assert len(available) == 1 + target = available[0] + + num_state_variables = len(target.state_variables_ordered) + state_function = target.get_function_from_signature("readAllStateVariables()") + check_num_states_vars_read(state_function, op_test.slithir_op, num_state_variables) + + 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 new file mode 100644 index 0000000000..3d48745690 --- /dev/null +++ b/tests/unit/slithir/test_ssa_generation.py @@ -0,0 +1,1078 @@ +# pylint: disable=too-many-lines +import os +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 + +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.variables.state_variable import StateVariable +from slither.slithir.operations import ( + OperationWithLValue, + Phi, + Assignment, + HighLevelCall, + Return, + Operation, + Binary, + BinaryType, + InternalCall, + Index, + InitArray, +) +from slither.slithir.utils.ssa import is_used_later +from slither.slithir.variables import ( + Constant, + ReferenceVariable, + LocalIRVariable, + StateIRVariable, +) + +# Directory of currently executing script. Will be used as basis for temporary file names. +SCRIPT_DIR = pathlib.Path(getsourcefile(lambda: 0)).parent + + +def valid_version(ver: str) -> bool: + """Wrapper function to check if the solc-version is valid + + The solc_select function raises and exception but for checks below, + only a bool is needed. + """ + try: + solc_valid_version(ver) + return True + except ArgumentTypeError: + return False + + +def have_ssa_if_ir(function: Function): + """Verifies that all nodes in a function that have IR also have SSA IR""" + for n in function.nodes: + if n.irs: + assert n.irs_ssa + + +# pylint: disable=too-many-branches +def ssa_basic_properties(function: Function): + """Verifies that basic properties of ssa holds + + 1. Every name is defined only once + 2. A l-value is never index zero - there is always a zero-value available for each var + 3. Every r-value is at least defined at some point + 4. The number of ssa defs is >= the number of assignments to var + 5. Function parameters SSA are stored in function.parameters_ssa + - if function parameter is_storage it refers to a fake variable + 6. Function returns SSA are stored in function.returns_ssa + - if function return is_storage it refers to a fake variable + """ + ssa_lvalues = set() + ssa_rvalues = set() + lvalue_assignments = {} + + for n in function.nodes: + for ir in n.irs: + if isinstance(ir, OperationWithLValue): + name = ir.lvalue.name + if name in lvalue_assignments: + lvalue_assignments[name] += 1 + else: + lvalue_assignments[name] = 1 + + for ssa in n.irs_ssa: + if isinstance(ssa, OperationWithLValue): + # 1 + assert ssa.lvalue not in ssa_lvalues + ssa_lvalues.add(ssa.lvalue) + + # 2 (if Local/State Var) + if isinstance(ssa.lvalue, (StateIRVariable, LocalIRVariable)): + assert ssa.lvalue.index > 0 + + for rvalue in filter( + lambda x: not isinstance(x, (StateIRVariable, Constant)), ssa.read + ): + ssa_rvalues.add(rvalue) + + # 3 + # Each var can have one non-defined value, the value initially held. Typically, + # var_0, i_0, state_0 or similar. + undef_vars = set() + for rvalue in ssa_rvalues: + if rvalue not in ssa_lvalues: + assert rvalue.non_ssa_version not in undef_vars + undef_vars.add(rvalue.non_ssa_version) + + # 4 + ssa_defs = defaultdict(int) + for v in ssa_lvalues: + ssa_defs[v.name] += 1 + + for (k, n) in lvalue_assignments.items(): + assert ssa_defs[k] >= n + + # Helper 5/6 + def check_property_5_and_6(variables, ssavars): + for var in filter(lambda x: x.name, variables): + ssa_vars = [x for x in ssavars if x.non_ssa_version == var] + assert len(ssa_vars) == 1 + ssa_var = ssa_vars[0] + assert var.is_storage == ssa_var.is_storage + if ssa_var.is_storage: + assert len(ssa_var.refers_to) == 1 + assert ssa_var.refers_to[0].location == "reference_to_storage" + + # 5 + check_property_5_and_6(function.parameters, function.parameters_ssa) + + # 6 + check_property_5_and_6(function.returns, function.returns_ssa) + + +def ssa_phi_node_properties(f: Function): + """Every phi-function should have as many args as predecessors + + This does not apply if the phi-node refers to state variables, + they make use os special phi-nodes for tracking potential values + a state variable can have + """ + for node in f.nodes: + for ssa in node.irs_ssa: + if isinstance(ssa, Phi): + n = len(ssa.read) + if not isinstance(ssa.lvalue, StateIRVariable): + assert len(node.fathers) == n + + +# TODO (hbrodin): This should probably go into another file, not specific to SSA +def dominance_properties(f: Function): + """Verifies properties related to dominators holds + + 1. Every node have an immediate dominator except entry_node which have none + 2. From every node immediate dominator there is a path via its successors to the node + """ + + def find_path(from_node: Node, to: Node) -> bool: + visited = set() + worklist = list(from_node.sons) + while worklist: + first, *worklist = worklist + if first == to: + return True + visited.add(first) + for successor in first.sons: + if successor not in visited: + worklist.append(successor) + return False + + for node in f.nodes: + if node is f.entry_point: + assert node.immediate_dominator is None + else: + assert node.immediate_dominator is not None + assert find_path(node.immediate_dominator, node) + + +def phi_values_inserted(f: Function): + """Verifies that phi-values are inserted at the right places + + For every node that has a dominance frontier, any def (including + phi) should be a phi function in its dominance frontier + """ + + def have_phi_for_var(node: Node, var): + """Checks if a node has a phi-instruction for var + + The ssa version would ideally be checked, but then + more data flow analysis would be needed, for cases + where a new def for var is introduced before reaching + DF + """ + non_ssa = var.non_ssa_version + for ssa in node.irs_ssa: + if isinstance(ssa, Phi): + if non_ssa in map(lambda ssa_var: ssa_var.non_ssa_version, ssa.read): + return True + return False + + for node in filter(lambda n: n.dominance_frontier, f.nodes): + for df in node.dominance_frontier: + for ssa in node.irs_ssa: + if isinstance(ssa, OperationWithLValue): + if is_used_later(node, ssa.lvalue): + assert have_phi_for_var(df, ssa.lvalue) + + +@contextmanager +def select_solc_version(version: Optional[str]): + """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)) + env = dict(os.environ) + env_restore = dict(env) + env["SOLC_VERSION"] = version + os.environ.clear() + os.environ.update(env) + + yield version + + os.environ.clear() + os.environ.update(env_restore) + + +@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]): + """Ensures that basic properties of SSA hold true""" + + def verify_func(func: Function): + have_ssa_if_ir(func) + phi_values_inserted(func) + ssa_basic_properties(func) + ssa_phi_node_properties(func) + dominance_properties(func) + + def verify(slither): + for cu in slither.compilation_units: + for func in cu.functions_and_modifiers: + _dump_function(func) + verify_func(func) + for contract in cu.contracts: + for f in contract.functions: + if f.is_constructor or f.is_constructor_variables: + _dump_function(f) + verify_func(f) + + if isinstance(source_code_or_slither, Slither): + verify(source_code_or_slither) + else: + with slither_from_source(source_code_or_slither) as slither: + verify(slither) + + +def _dump_function(f: Function): + """Helper function to print nodes/ssa ir for a function or modifier""" + print(f"---- {f.name} ----") + for n in f.nodes: + print(n) + for ir in n.irs_ssa: + print(f"\t{ir}") + print("") + + +def _dump_functions(c: Contract): + """Helper function to print functions and modifiers of a contract""" + for f in c.functions_and_modifiers: + _dump_function(f) + + +def get_filtered_ssa(f: Union[Function, Node], flt) -> List[Operation]: + """Returns a list of all ssanodes filtered by filter for all nodes in function f""" + if isinstance(f, Function): + return [ssanode for node in f.nodes for ssanode in node.irs_ssa if flt(ssanode)] + + assert isinstance(f, Node) + return [ssanode for ssanode in f.irs_ssa if flt(ssanode)] + + +def get_ssa_of_type(f: Union[Function, Node], ssatype) -> List[Operation]: + """Returns a list of all ssanodes of a specific type for all nodes in function f""" + return get_filtered_ssa(f, lambda ssanode: isinstance(ssanode, ssatype)) + + +def test_multi_write(): + contract = """ + pragma solidity ^0.8.11; + contract Test { + function multi_write(uint val) external pure returns(uint) { + val = 1; + val = 2; + val = 3; + } + }""" + verify_properties_hold(contract) + + +def test_single_branch_phi(): + contract = """ + pragma solidity ^0.8.11; + contract Test { + function single_branch_phi(uint val) external pure returns(uint) { + if (val == 3) { + val = 9; + } + return val; + } + } + """ + verify_properties_hold(contract) + + +def test_basic_phi(): + contract = """ + pragma solidity ^0.8.11; + contract Test { + function basic_phi(uint val) external pure returns(uint) { + if (val == 3) { + val = 9; + } else { + val = 1; + } + return val; + } + } + """ + verify_properties_hold(contract) + + +def test_basic_loop_phi(): + contract = """ + pragma solidity ^0.8.11; + contract Test { + function basic_loop_phi(uint val) external pure returns(uint) { + for (uint i=0;i<128;i++) { + val = val + 1; + } + return val; + } + } + """ + verify_properties_hold(contract) + + +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_phi_propagation_loop(): + contract = """ + pragma solidity ^0.8.11; + contract Test { + function looping(uint v) external pure returns(uint) { + uint val = 0; + for (uint i=0;i i) { + val = i; + } else { + val = 3; + } + } + return val; + } + } + """ + verify_properties_hold(contract) + + +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_free_function_properties(): + contract = """ + pragma solidity ^0.8.11; + + function free_looping(uint v) returns(uint) { + uint val = 0; + for (uint i=0;i i) { + val = i; + } else { + val = 3; + } + } + return val; + } + + contract Test {} + """ + verify_properties_hold(contract) + + +def test_ssa_inter_transactional(): + source = """ + pragma solidity ^0.8.11; + contract A { + uint my_var_A; + uint my_var_B; + + function direct_set(uint i) public { + my_var_A = i; + } + + function direct_set_plus_one(uint i) public { + my_var_A = i + 1; + } + + function indirect_set() public { + my_var_B = my_var_A; + } + } + """ + with slither_from_source(source) as slither: + c = slither.contracts[0] + variables = c.variables_as_dict + funcs = c.available_functions_as_dict() + direct_set = funcs["direct_set(uint256)"] + # Skip entry point and go straight to assignment ir + assign1 = direct_set.nodes[1].irs_ssa[0] + assert isinstance(assign1, Assignment) + + assign2 = direct_set.nodes[1].irs_ssa[0] + assert isinstance(assign2, Assignment) + + indirect_set = funcs["indirect_set()"] + phi = indirect_set.entry_point.irs_ssa[0] + assert isinstance(phi, Phi) + # phi rvalues come from 1, initial value of my_var_a and 2, assignment in direct_set + assert len(phi.rvalues) == 3 + assert all(x.non_ssa_version == variables["my_var_A"] for x in phi.rvalues) + assert assign1.lvalue in phi.rvalues + assert assign2.lvalue in phi.rvalues + + +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_ssa_phi_callbacks(): + source = """ + pragma solidity ^0.8.11; + contract A { + uint my_var_A; + uint my_var_B; + + function direct_set(uint i) public { + my_var_A = i; + } + + function use_a() public { + // Expect a phi-node here + my_var_B = my_var_A; + B b = new B(); + my_var_A = 3; + b.do_stuff(); + // Expect a phi-node here + my_var_B = my_var_A; + } + } + + contract B { + function do_stuff() public returns (uint) { + // This could be calling back into A + } + } + """ + with slither_from_source(source) as slither: + c = slither.get_contract_from_name("A")[0] + _dump_functions(c) + f = [x for x in c.functions if x.name == "use_a"][0] + var_a = [x for x in c.variables if x.name == "my_var_A"][0] + + entry_phi = [ + x + for x in f.entry_point.irs_ssa + if isinstance(x, Phi) and x.lvalue.non_ssa_version == var_a + ][0] + # The four potential sources are: + # 1. initial value + # 2. my_var_A = i; + # 3. my_var_A = 3; + # 4. phi-value after call to b.do_stuff(), which could be reentrant. + assert len(entry_phi.rvalues) == 4 + + # Locate the first high-level call (should be b.do_stuff()) + call_node = [x for y in f.nodes for x in y.irs_ssa if isinstance(x, HighLevelCall)][0] + n = call_node.node + # Get phi-node after call + after_call_phi = n.irs_ssa[n.irs_ssa.index(call_node) + 1] + # The two sources for this phi node is + # 1. my_var_A = i; + # 2. my_var_A = 3; + assert isinstance(after_call_phi, Phi) + assert len(after_call_phi.rvalues) == 2 + + +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_storage_refers_to(): + """Test the storage aspects of the SSA IR + + When declaring a var as being storage, start tracking what storage it refers_to. + When a phi-node is created, ensure refers_to is propagated to the phi-node. + Assignments also propagate refers_to. + Whenever a ReferenceVariable is the destination of an assignment (e.g. s.v = 10) + below, create additional versions of the variables it refers to record that a a + write was made. In the current implementation, this is referenced by phis. + """ + source = """ + contract A{ + + struct St{ + int v; + } + + St state0; + St state1; + + function f() public{ + St storage s = state0; + if(true){ + s = state1; + } + s.v = 10; + } +} + """ + with slither_from_source(source) as slither: + c = slither.contracts[0] + f = c.functions[0] + + phinodes = get_ssa_of_type(f, Phi) + # Expect 2 in entrypoint (state0/state1 initial values), 1 at 'ENDIF' and two related to the + # ReferenceVariable write s.v = 10. + assert len(phinodes) == 5 + + # Assign s to state0, s to state1, s.v to 10 + assigns = get_ssa_of_type(f, Assignment) + assert len(assigns) == 3 + + # The IR variables have is_storage + assert all(x.lvalue.is_storage for x in assigns if isinstance(x, LocalIRVariable)) + + # s.v ReferenceVariable points to one of the phi vars... + ref0 = [x.lvalue for x in assigns if isinstance(x.lvalue, ReferenceVariable)][0] + sphis = [x for x in phinodes if x.lvalue == ref0.points_to] + assert len(sphis) == 1 + sphi = sphis[0] + + # ...and that phi refers to the two entry phi-values + entryphi = [x for x in phinodes if x.lvalue in sphi.lvalue.refers_to] + assert len(entryphi) == 2 + + # The remaining two phis are the ones recording that write through ReferenceVariable occured + for ephi in entryphi: + phinodes.remove(ephi) + phinodes.remove(sphi) + assert len(phinodes) == 2 + + # And they are recorded in one of the entry phis + assert phinodes[0].lvalue in entryphi[0].rvalues or entryphi[1].rvalues + assert phinodes[1].lvalue in entryphi[0].rvalues or entryphi[1].rvalues + + +@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(): + """ + In solidity you can write statements such as + uint a = a + 1, this test ensures that can be handled for local variables. + """ + src = """ + contract C { + function func() internal { + uint a = a + 1; + } + } + """ + with slither_from_source(src, "0.4.0") as slither: + verify_properties_hold(slither) + c = slither.contracts[0] + f = c.functions[0] + + addition = get_ssa_of_type(f, Binary)[0] + assert addition.type == BinaryType.ADDITION + assert isinstance(addition.variable_right, Constant) + a_0 = addition.variable_left + assert a_0.index == 0 + assert a_0.name == "a" + + assignment = get_ssa_of_type(f, Assignment)[0] + a_1 = assignment.lvalue + assert a_1.index == 1 + assert a_1.name == "a" + assert assignment.rvalue == addition.lvalue + + assert a_0.non_ssa_version == a_1.non_ssa_version + + +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +@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(): + """ + In solidity you can write statements such as + uint a = a + 1, this test ensures that can be handled for state variables. + """ + src = """ + contract C { + uint a = a + 1; + } + """ + with slither_from_source(src, "0.4.0") as slither: + verify_properties_hold(slither) + c = slither.contracts[0] + f = c.functions[0] # There will be one artificial ctor function for the state vars + + addition = get_ssa_of_type(f, Binary)[0] + assert addition.type == BinaryType.ADDITION + assert isinstance(addition.variable_right, Constant) + a_0 = addition.variable_left + assert isinstance(a_0, StateIRVariable) + assert a_0.name == "a" + + assignment = get_ssa_of_type(f, Assignment)[0] + a_1 = assignment.lvalue + assert isinstance(a_1, StateIRVariable) + assert a_1.index == a_0.index + 1 + assert a_1.name == "a" + assert assignment.rvalue == addition.lvalue + + assert a_0.non_ssa_version == a_1.non_ssa_version + assert isinstance(a_0.non_ssa_version, StateVariable) + + # No conditional/other function interaction so no phis + assert len(get_ssa_of_type(f, Phi)) == 0 + + +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_initial_version_exists_for_state_variables_function_assign(): + """ + In solidity you can write statements such as + uint a = a + 1, this test ensures that can be handled for local variables. + """ + # TODO (hbrodin): Could be a detector that a is not used in f + src = """ + contract C { + uint a = f(); + + function f() internal returns(uint) { + return a; + } + } + """ + with slither_from_source(src) as slither: + verify_properties_hold(slither) + c = slither.contracts[0] + f, ctor = c.functions + if f.is_constructor_variables: + f, ctor = ctor, f + + # ctor should have a single call to f that assigns to a + # temporary variable, that is then assigned to a + + call = get_ssa_of_type(ctor, InternalCall)[0] + assert call.function == f + assign = get_ssa_of_type(ctor, Assignment)[0] + assert assign.rvalue == call.lvalue + assert isinstance(assign.lvalue, StateIRVariable) + assert assign.lvalue.name == "a" + + # f should have a phi node on entry of a0, a1 and should return + # a2 + phi = get_ssa_of_type(f, Phi)[0] + assert len(phi.rvalues) == 2 + assert assign.lvalue in phi.rvalues + + +@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(): + src = """ + // this require solidity < 0.5 + // a variable can be returned before declared. Ensure it can be + // handled by Slither. + contract A { + function local(bool my_bool) internal returns(uint){ + if(my_bool){ + return a_local; + } + + uint a_local = 10; + } + } + """ + with slither_from_source(src, "0.4.0") as slither: + f = slither.contracts[0].functions[0] + + ret = get_ssa_of_type(f, Return)[0] + assert len(ret.values) == 1 + assert ret.values[0].index == 0 + + assign = get_ssa_of_type(f, Assignment)[0] + assert assign.lvalue.index == 1 + assert assign.lvalue.non_ssa_version == ret.values[0].non_ssa_version + + +@pytest.mark.skipif( + not valid_version("0.5.0"), reason="Solidity version 0.5.0 not available on this platform" +) +def test_shadow_local(): + src = """ + contract A { + // this require solidity 0.5 + function shadowing_local() internal{ + uint local = 0; + { + uint local = 1; + { + uint local = 2; + } + } + } + } + """ + with slither_from_source(src, "0.5.0") as slither: + _dump_functions(slither.contracts[0]) + f = slither.contracts[0].functions[0] + + # Ensure all assignments are to a variable of index 1 + # not using the same IR var. + assert all(map(lambda x: x.lvalue.index == 1, get_ssa_of_type(f, Assignment))) + + +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_multiple_named_args_returns(): + """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 + then have version 1. + """ + src = """ + contract A { + function multi(uint arg1, uint arg2) internal returns (uint ret1, uint ret2) { + arg1 = arg1 + 1; + arg2 = arg2 + 2; + ret1 = arg1 + 3; + ret2 = arg2 + 4; + } + }""" + with slither_from_source(src) as slither: + verify_properties_hold(slither) + f = slither.contracts[0].functions[0] + + # Ensure all LocalIRVariables (not TemporaryVariables) have index 1 + assert all( + map( + lambda x: x.lvalue.index == 1 or not isinstance(x.lvalue, LocalIRVariable), + get_ssa_of_type(f, OperationWithLValue), + ) + ) + + +@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.", strict=True) +def test_memory_array(): + src = """ + contract MemArray { + struct A { + uint val1; + uint val2; + } + + function test_array() internal { + A[] memory a= new A[](4); + // Create REF_0 -> a_1[2] + accept_array_entry(a[2]); + + // Create REF_1 -> a_1[3] + accept_array_entry(a[3]); + + A memory alocal; + accept_array_entry(alocal); + + } + + // val_1 = ϕ(val_0, REF_0, REF_1, alocal_1) + // val_0 is an unknown external value + function accept_array_entry(A memory val) public returns (uint) { + uint zero = 0; + b(zero); + // Create REF_2 -> val_1.val1 + return b(val.val1); + } + + function b(uint arg) public returns (uint){ + // arg_1 = ϕ(arg_0, zero_1, REF_2) + return arg + 1; + } + }""" + with slither_from_source(src) as slither: + c = slither.contracts[0] + + ftest_array, faccept, fb = c.functions + + # Locate REF_0/REF_1/alocal (they are all args to the call) + accept_args = [x.arguments[0] for x in get_ssa_of_type(ftest_array, InternalCall)] + + # Check entrypoint of accept_array_entry, it should contain a phi-node + # of expected rvalues + [phi_entry_accept] = get_ssa_of_type(faccept.entry_point, Phi) + for arg in accept_args: + assert arg in phi_entry_accept.rvalues + # NOTE(hbrodin): There should be an additional val_0 in the phi-node. + # That additional val_0 indicates an external caller of this function. + assert len(phi_entry_accept.rvalues) == len(accept_args) + 1 + + # Args used to invoke b + b_args = [x.arguments[0] for x in get_ssa_of_type(faccept, InternalCall)] + + # Check entrypoint of B, it should contain a phi-node of expected + # rvalues + [phi_entry_b] = get_ssa_of_type(fb.entry_point, Phi) + for arg in b_args: + assert arg in phi_entry_b.rvalues + + # NOTE(hbrodin): There should be an additional arg_0 (see comment about phi_entry_accept). + assert len(phi_entry_b.rvalues) == len(b_args) + 1 + + +@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.", strict=True) +def test_storage_array(): + src = """ + contract StorageArray { + struct A { + uint val1; + uint val2; + } + + // NOTE(hbrodin): a is never written, should only become a_0. Same for astorage (astorage_0). Phi-nodes at entry + // should only add new versions of a state variable if it is actually written. + A[] a; + A astorage; + + function test_array() internal { + accept_array_entry(a[2]); + accept_array_entry(a[3]); + accept_array_entry(astorage); + } + + function accept_array_entry(A storage val) internal returns (uint) { + // val is either a[2], a[3] or astorage_0. Ideally this could be identified. + uint five = 5; + + // NOTE(hbrodin): If the following line is enabled, there would ideally be a phi-node representing writes + // to either a or astorage. + //val.val2 = 4; + b(five); + return b(val.val1); + } + + function b(uint value) public returns (uint){ + // Expect a phi-node at the entrypoint + // value_1 = ϕ(value_0, five_0, REF_x), where REF_x is the reference to val.val1 in accept_array_entry. + return value + 1; + } + }""" + with slither_from_source(src) as slither: + c = slither.contracts[0] + _dump_functions(c) + ftest, faccept, fb = c.functions + + # None of a/astorage is written so expect that there are no phi-nodes at entrypoint. + assert len(get_ssa_of_type(ftest.entry_point, Phi)) == 0 + + # Expect all references to start from index 0 (no writes) + assert all(x.variable_left.index == 0 for x in get_ssa_of_type(ftest, Index)) + + [phi_entry_accept] = get_ssa_of_type(faccept.entry_point, Phi) + assert len(phi_entry_accept.rvalues) == 3 # See comment in b above + + [phi_entry_b] = get_ssa_of_type(fb.entry_point, Phi) + assert len(phi_entry_b.rvalues) == 3 # See comment in b above + + +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_issue_468(): + """ + Ensure issue 468 is corrected as per + https://github.com/crytic/slither/issues/468#issuecomment-620974151 + The one difference is that we allow the phi-function at entry of f to + hold exit state which contains init state and state from branch, which + is a bit redundant. This could be further simplified. + """ + source = """ + contract State { + int state = 0; + function f(int a) public returns (int) { + // phi-node here for state + if (a < 1) { + state += 1; + } + // phi-node here for state + return state; + } + } + """ + with slither_from_source(source) as slither: + c = slither.get_contract_from_name("State")[0] + f = [x for x in c.functions if x.name == "f"][0] + + # Check that there is an entry point phi values for each later value + # plus one additional which is the initial value + entry_ssa = f.entry_point.irs_ssa + assert len(entry_ssa) == 1 + phi_entry = entry_ssa[0] + assert isinstance(phi_entry, Phi) + + # Find the second phi function + endif_node = [x for x in f.nodes if x.type == NodeType.ENDIF][0] + assert len(endif_node.irs_ssa) == 1 + phi_endif = endif_node.irs_ssa[0] + assert isinstance(phi_endif, Phi) + + # Ensure second phi-function contains init-phi and one additional + assert len(phi_endif.rvalues) == 2 + assert phi_entry.lvalue in phi_endif.rvalues + + # Find return-statement and ensure it returns the phi_endif + return_node = [x for x in f.nodes if x.type == NodeType.RETURN][0] + assert len(return_node.irs_ssa) == 1 + ret = return_node.irs_ssa[0] + assert len(ret.values) == 1 + assert phi_endif.lvalue in ret.values + + # Ensure that the phi_endif (which is the end-state for function as well) is in the entry_phi + assert phi_endif.lvalue in phi_entry.rvalues + + +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_issue_434(): + source = """ + contract Contract { + int public a; + function f() public { + g(); + a += 1; + } + + function e() public { + a -= 1; + } + + function g() public { + e(); + } + } + """ + with slither_from_source(source) as slither: + c = slither.get_contract_from_name("Contract")[0] + + e = [x for x in c.functions if x.name == "e"][0] + f = [x for x in c.functions if x.name == "f"][0] + g = [x for x in c.functions if x.name == "g"][0] + + # Ensure there is a phi-node at the beginning of f and e + phi_entry_e = get_ssa_of_type(e.entry_point, Phi)[0] + phi_entry_f = get_ssa_of_type(f.entry_point, Phi)[0] + # But not at g + assert len(get_ssa_of_type(g, Phi)) == 0 + + # Ensure that the final states of f and e are in the entry-states + add_f = get_filtered_ssa( + f, lambda x: isinstance(x, Binary) and x.type == BinaryType.ADDITION + )[0] + sub_e = get_filtered_ssa( + e, lambda x: isinstance(x, Binary) and x.type == BinaryType.SUBTRACTION + )[0] + assert add_f.lvalue in phi_entry_f.rvalues + assert add_f.lvalue in phi_entry_e.rvalues + assert sub_e.lvalue in phi_entry_f.rvalues + assert sub_e.lvalue in phi_entry_e.rvalues + + # Ensure there is a phi-node after call to g + call = get_ssa_of_type(f, InternalCall)[0] + idx = call.node.irs_ssa.index(call) + aftercall_phi = call.node.irs_ssa[idx + 1] + assert isinstance(aftercall_phi, Phi) + + # Ensure that phi node ^ is used in the addition afterwards + assert aftercall_phi.lvalue in (add_f.variable_left, add_f.variable_right) + + +@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") +def test_issue_473(): + source = """ + contract Contract { + function f() public returns (int) { + int a = 1; + if (a > 0) { + a = 2; + } + if (a == 3) { + a = 6; + } + return a; + } + } + """ + with slither_from_source(source) as slither: + c = slither.get_contract_from_name("Contract")[0] + f = c.functions[0] + + phis = get_ssa_of_type(f, Phi) + return_value = get_ssa_of_type(f, Return)[0] + + # There shall be two phi functions + assert len(phis) == 2 + first_phi = phis[0] + second_phi = phis[1] + + # The second phi is the one being returned, if it's the first swap them (iteration order) + if first_phi.lvalue in return_value.values: + first_phi, second_phi = second_phi, first_phi + + # First phi is for [a=1 or a=2] + assert len(first_phi.rvalues) == 2 + + # second is for [a=6 or first phi] + assert first_phi.lvalue in second_phi.rvalues + assert len(second_phi.rvalues) == 2 + + # return is for second phi + assert len(return_value.values) == 1 + assert second_phi.lvalue in return_value.values + + +def test_issue_1748(): + source = """ + contract Contract { + uint[] arr; + function foo(uint i) public { + arr = [1]; + } + } + """ + with slither_from_source(source) as slither: + c = slither.get_contract_from_name("Contract")[0] + f = c.functions[0] + operations = f.slithir_operations + assign_op = operations[0] + assert isinstance(assign_op, InitArray) diff --git a/tests/unit/slithir/test_ternary_expressions.py b/tests/unit/slithir/test_ternary_expressions.py new file mode 100644 index 0000000000..376048e1d5 --- /dev/null +++ b/tests/unit/slithir/test_ternary_expressions.py @@ -0,0 +1,43 @@ +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 +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: + """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()) + for contract in slither.contracts: + for function in contract.functions: + vars_declared = 0 + vars_assigned = 0 + for node in function.nodes: + if node.type in [NodeType.IF, NodeType.IFLOOP]: + + # Iterate over true and false son + for inner_node in node.sons: + # Count all variables declared + expression = inner_node.expression + if isinstance(expression, AssignmentOperation): + var_expr = expression.expression_left + # Only tuples declare more than one var + if isinstance(var_expr, TupleExpression): + vars_declared += len(var_expr.expressions) + else: + vars_declared += 1 + + for ir in inner_node.irs: + # Count all variables defined + if isinstance(ir, Assignment): + vars_assigned += 1 + + assert vars_declared == vars_assigned + + +if __name__ == "__main__": + test_ternary_conversions() diff --git a/tests/unit/utils/test_data/functions_ids.sol b/tests/unit/utils/test_data/functions_ids.sol new file mode 100644 index 0000000000..2f4eea6a76 --- /dev/null +++ b/tests/unit/utils/test_data/functions_ids.sol @@ -0,0 +1,64 @@ +pragma experimental ABIEncoderV2; + +contract Contract{} + +contract C{ + + mapping(uint => address)[] public arrayOfMappings; + + mapping(uint => address[]) public normalMappingArrayField; + + enum State{a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32,a33,a34,a35,a36,a37,a38,a39,a40,a41,a42,a43,a44,a45,a46,a47,a48,a49,a50,a51,a52,a53,a54,a55,a56,a57,a58,a59,a60,a61,a62,a63,a64,a65,a66,a67,a68,a69,a70,a71,a72,a73,a74,a75,a76,a77,a78,a79,a80,a81,a82,a83,a84,a85,a86,a87,a88,a89,a90,a91,a92,a93,a94,a95,a96,a97,a98,a99,a100,a101,a102,a103,a104,a105,a106,a107,a108,a109,a110,a111,a112,a113,a114,a115,a116,a117,a118,a119,a120,a121,a122,a123,a124,a125,a126,a127,a128,a129,a130,a131,a132,a133,a134,a135,a136,a137,a138,a139,a140,a141,a142,a143,a144,a145,a146,a147,a148,a149,a150,a151,a152,a153,a154,a155,a156,a157,a158,a159,a160,a161,a162,a163,a164,a165,a166,a167,a168,a169,a170,a171,a172,a173,a174,a175,a176,a177,a178,a179,a180,a181,a182,a183,a184,a185,a186,a187,a188,a189,a190,a191,a192,a193,a194,a195,a196,a197,a198,a199,a200,a201,a202,a203,a204,a205,a206,a207,a208,a209,a210,a211,a212,a213,a214,a215,a216,a217,a218,a219,a220,a221,a222,a223,a224,a225,a226,a227,a228,a229,a230,a231,a232,a233,a234,a235,a236,a237,a238,a239,a240,a241,a242,a243,a244,a245,a246,a247,a248,a249,a250,a251,a252,a253,a254,a255,a256} + mapping(State => uint) public stateMap; + + mapping(Contract => uint) public contractMap; + + uint[][] public multiDimensionalArray; + + struct Simple { + uint a; + uint b; + mapping(uint => uint) c; + uint[] d; + function(uint) external returns (uint) e; + } + + Simple public simple; + + struct Inner { + uint a; + uint b; + } + + struct Outer { + Inner inner; + uint c; + } + + Outer public outer; + + + struct A { + Inner inner; + uint a; + } + struct B { + uint a; + Inner inner; + } + + A public a; + A[] public a_array; + mapping(address => B[]) public b_mapping_of_array; + + function function_with_struct(A memory a) public{} + + function function_with_array(A[] memory array, B memory b) public {} + + struct AnotherStruct{ + B b; + A[] a; + } + mapping(address => AnotherStruct[][]) public mapping_of_double_array_of_struct; +} + diff --git a/tests/unit/utils/test_data/type_helpers.sol b/tests/unit/utils/test_data/type_helpers.sol new file mode 100644 index 0000000000..7440a5a33d --- /dev/null +++ b/tests/unit/utils/test_data/type_helpers.sol @@ -0,0 +1,12 @@ +contract A{ + + struct St{ + St[] a; + uint b; + } + + function f(St memory s) internal{ + f(s); + } + +} diff --git a/tests/unit/utils/test_functions_ids.py b/tests/unit/utils/test_functions_ids.py new file mode 100644 index 0000000000..c944c54731 --- /dev/null +++ b/tests/unit/utils/test_functions_ids.py @@ -0,0 +1,64 @@ +from pathlib import Path +from solc_select import solc_select +from slither import Slither + +# % solc functions_ids.sol --hashes +# ======= functions_ids.sol:C ======= +# Function signatures: +# 0dbe671f: a() +# 4a1f689d: a_array(uint256) +# 98fc2aa5: arrayOfMappings(uint256,uint256) +# 4ea7a557: b_mapping_of_array(address,uint256) +# 3c0af344: contractMap(address) +# 20969954: function_with_array(((uint256,uint256),uint256)[],(uint256,(uint256,uint256))) +# 1c039831: function_with_struct(((uint256,uint256),uint256)) +# 37e66bae: mapping_of_double_array_of_struct(address,uint256,uint256) +# f29872a8: multiDimensionalArray(uint256,uint256) +# 9539e3c8: normalMappingArrayField(uint256,uint256) +# 87c3dbb6: outer() +# df201a46: simple() +# 5a20851f: stateMap(uint16) + +# {"contracts":{"functions_ids.sol:C":{"hashes":{"a()":"0dbe671f","a_array(uint256)":"4a1f689d","arrayOfMappings(uint256,uint256)":"98fc2aa5","b_mapping_of_array(address,uint256)":"4ea7a557","contractMap(address)":"3c0af344","function_with_array(((uint256,uint256),uint256)[],(uint256,(uint256,uint256)))":"20969954","function_with_struct(((uint256,uint256),uint256))":"1c039831","mapping_of_double_array_of_struct(address,uint256,uint256)":"37e66bae","multiDimensionalArray(uint256,uint256)":"f29872a8","normalMappingArrayField(uint256,uint256)":"9539e3c8","outer()":"87c3dbb6","simple()":"df201a46","stateMap(uint16)":"5a20851f"}},"functions_ids.sol:Contract":{"hashes":{}}},"version":"0.7.0+commit.9e61f92b.Darwin.appleclang"} +from slither.utils.function import get_function_id + +signatures = { + "a()": "0dbe671f", + "a_array(uint256)": "4a1f689d", + "arrayOfMappings(uint256,uint256)": "98fc2aa5", + "b_mapping_of_array(address,uint256)": "4ea7a557", + "contractMap(address)": "3c0af344", + "function_with_array(((uint256,uint256),uint256)[],(uint256,(uint256,uint256)))": "20969954", + "function_with_struct(((uint256,uint256),uint256))": "1c039831", + "mapping_of_double_array_of_struct(address,uint256,uint256)": "37e66bae", + "multiDimensionalArray(uint256,uint256)": "f29872a8", + "normalMappingArrayField(uint256,uint256)": "9539e3c8", + "outer()": "87c3dbb6", + "simple()": "df201a46", + "stateMap(uint16)": "5a20851f", +} + +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) + file = Path(TEST_DATA_DIR, "functions_ids.sol").as_posix() + sl = Slither(file) + contracts_c = sl.get_contract_from_name("C") + assert len(contracts_c) == 1 + contract_c = contracts_c[0] + + for sig, hashes in signatures.items(): + func = contract_c.get_function_from_signature(sig) + if not func: + var_name = sig[: sig.find("(")] + var = contract_c.get_state_variable_from_name(var_name) + assert var + 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 new file mode 100644 index 0000000000..b6e913d33b --- /dev/null +++ b/tests/unit/utils/test_type_helpers.py @@ -0,0 +1,13 @@ +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()) + for compilation_unit in slither.compilation_units: + for function in compilation_unit.functions: + assert function.solidity_signature From cf281d4a8a3f6fca06086dbe27f6071be9e85054 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Mon, 20 Mar 2023 16:08:22 -0500 Subject: [PATCH 07/41] register moved folders --- tests/arithmetic_usage/test.sol | 29 - tests/collisions/a.sol | 18 - tests/collisions/b.sol | 18 - tests/complex_func.sol | 88 -- tests/constant_folding_binop.sol | 14 - tests/constant_folding_rational.sol | 9 - tests/constant_folding_unary.sol | 7 - tests/custom_comments/contract_comment.sol | 7 - tests/custom_comments/upgrade.sol | 16 - tests/deprecated_calls.sol | 27 - .../config}/config/slither.config.json | 0 tests/{ => e2e/config}/config/test.sol | 0 .../libs/ReentrancyMock1.sol | 0 .../libs/ReentrancyMock2.sol | 0 .../libs/ReentrancyMock3.sol | 0 .../test_path_filtering/slither.config.json | 0 .../src/ReentrancyMock.sol | 0 .../test_path_filtering.sol | 0 .../printers}/possible_paths/paths.sol | 0 .../printers}/possible_paths/paths.txt | 0 tests/function_features/abstract.sol | 5 - tests/function_features/implicit_abstract.sol | 5 - tests/function_ids/rec_struct-0.8.sol | 12 - tests/inheritance_graph.sol | 100 -- tests/lookup/private_variable.sol | 13 - tests/printers/functions_ids.sol | 64 - tests/slithir/operation_reads.sol | 17 - tests/slithir/ternary_expressions.sol | 52 - tests/slithir/test_operation_reads.py | 49 - tests/slithir/test_ternary_expressions.py | 40 - tests/source_mapping.sol | 22 - tests/source_unit/README.md | 3 - tests/source_unit/foundry.toml | 6 - tests/source_unit/script/Counter.s.sol | 12 - tests/source_unit/src/Counter.sol | 14 - tests/source_unit/src/Counter2.sol | 5 - tests/source_unit/test/Counter.t.sol | 24 - .../ReferencesUserDefinedAliases.sol | 19 - .../ReferencesUserDefinedTypesCasting.sol | 19 - tests/src_mapping/inheritance.sol | 35 - tests/storage-layout/StorageLayout.abi | 1 - tests/storage-layout/StorageLayout.bin | 1 - tests/storage-layout/TEST_storage_layout.json | 576 --------- .../storage-layout/storage_layout-0.8.10.sol | 74 -- tests/taint_mapping.sol | 18 - tests/test_constant_folding.py | 101 -- tests/test_cyclic_import/a.sol | 5 - tests/test_cyclic_import/b.sol | 5 - tests/test_features.py | 225 ---- tests/test_function.py | 297 ----- tests/test_function.sol | 130 -- tests/test_function_reentrant.sol | 36 - tests/test_functions_ids.py | 60 - tests/test_node_modules/contracts/MyCoin.sol | 8 - tests/test_node_modules/hardhat.config.js | 6 - .../contracts/access/AccessControl.sol | 223 ---- .../access/AccessControlEnumerable.sol | 64 - .../contracts/access/IAccessControl.sol | 88 -- .../access/IAccessControlEnumerable.sol | 31 - .../contracts/access/Ownable.sol | 76 -- .../contracts/finance/PaymentSplitter.sol | 189 --- .../contracts/finance/VestingWallet.sol | 135 --- .../contracts/governance/Governor.sol | 357 ------ .../contracts/governance/IGovernor.sol | 218 ---- .../governance/TimelockController.sol | 353 ------ .../GovernorCompatibilityBravo.sol | 288 ----- .../IGovernorCompatibilityBravo.sol | 114 -- .../extensions/GovernorCountingSimple.sol | 106 -- .../extensions/GovernorProposalThreshold.sol | 23 - .../extensions/GovernorSettings.sol | 114 -- .../extensions/GovernorTimelockCompound.sol | 244 ---- .../extensions/GovernorTimelockControl.sol | 154 --- .../governance/extensions/GovernorVotes.sol | 28 - .../extensions/GovernorVotesComp.sol | 27 - .../GovernorVotesQuorumFraction.sol | 50 - .../extensions/IGovernorTimelock.sol | 26 - .../contracts/interfaces/IERC1155.sol | 6 - .../interfaces/IERC1155MetadataURI.sol | 6 - .../contracts/interfaces/IERC1155Receiver.sol | 6 - .../contracts/interfaces/IERC1271.sol | 19 - .../contracts/interfaces/IERC1363.sol | 95 -- .../contracts/interfaces/IERC1363Receiver.sol | 32 - .../contracts/interfaces/IERC1363Spender.sol | 30 - .../contracts/interfaces/IERC165.sol | 6 - .../interfaces/IERC1820Implementer.sol | 6 - .../contracts/interfaces/IERC1820Registry.sol | 6 - .../contracts/interfaces/IERC20.sol | 6 - .../contracts/interfaces/IERC20Metadata.sol | 6 - .../contracts/interfaces/IERC2981.sol | 23 - .../contracts/interfaces/IERC3156.sol | 7 - .../interfaces/IERC3156FlashBorrower.sol | 29 - .../interfaces/IERC3156FlashLender.sol | 43 - .../contracts/interfaces/IERC721.sol | 6 - .../interfaces/IERC721Enumerable.sol | 6 - .../contracts/interfaces/IERC721Metadata.sol | 6 - .../contracts/interfaces/IERC721Receiver.sol | 6 - .../contracts/interfaces/IERC777.sol | 6 - .../contracts/interfaces/IERC777Recipient.sol | 6 - .../contracts/interfaces/IERC777Sender.sol | 6 - .../contracts/interfaces/draft-IERC2612.sol | 8 - .../contracts/metatx/ERC2771Context.sol | 40 - .../contracts/metatx/MinimalForwarder.sol | 59 - .../@openzeppelin/contracts/package.json | 62 - .../@openzeppelin/contracts/proxy/Clones.sol | 84 -- .../contracts/proxy/ERC1967/ERC1967Proxy.sol | 33 - .../proxy/ERC1967/ERC1967Upgrade.sol | 194 --- .../@openzeppelin/contracts/proxy/Proxy.sol | 86 -- .../contracts/proxy/beacon/BeaconProxy.sol | 62 - .../contracts/proxy/beacon/IBeacon.sol | 16 - .../proxy/beacon/UpgradeableBeacon.sol | 65 - .../proxy/transparent/ProxyAdmin.sol | 81 -- .../TransparentUpgradeableProxy.sol | 125 -- .../contracts/proxy/utils/Initializable.sol | 62 - .../contracts/proxy/utils/UUPSUpgradeable.sol | 73 -- .../contracts/security/Pausable.sol | 91 -- .../contracts/security/PullPayment.sol | 70 -- .../contracts/security/ReentrancyGuard.sol | 63 - .../contracts/token/ERC1155/ERC1155.sol | 464 ------- .../contracts/token/ERC1155/IERC1155.sol | 125 -- .../token/ERC1155/IERC1155Receiver.sol | 53 - .../ERC1155/extensions/ERC1155Burnable.sol | 40 - .../ERC1155/extensions/ERC1155Pausable.sol | 38 - .../ERC1155/extensions/ERC1155Supply.sol | 58 - .../extensions/IERC1155MetadataURI.sol | 22 - .../presets/ERC1155PresetMinterPauser.sol | 126 -- .../token/ERC1155/utils/ERC1155Holder.sol | 31 - .../token/ERC1155/utils/ERC1155Receiver.sol | 19 - .../contracts/token/ERC20/ERC20.sol | 356 ------ .../contracts/token/ERC20/IERC20.sol | 82 -- .../token/ERC20/extensions/ERC20Burnable.sol | 43 - .../token/ERC20/extensions/ERC20Capped.sol | 37 - .../token/ERC20/extensions/ERC20FlashMint.sol | 77 -- .../token/ERC20/extensions/ERC20Pausable.sol | 33 - .../token/ERC20/extensions/ERC20Snapshot.sol | 195 --- .../token/ERC20/extensions/ERC20Votes.sol | 260 ---- .../token/ERC20/extensions/ERC20VotesComp.sol | 48 - .../token/ERC20/extensions/ERC20Wrapper.sol | 52 - .../token/ERC20/extensions/IERC20Metadata.sol | 28 - .../ERC20/extensions/draft-ERC20Permit.sol | 87 -- .../ERC20/extensions/draft-IERC20Permit.sol | 60 - .../ERC20/presets/ERC20PresetFixedSupply.sol | 33 - .../ERC20/presets/ERC20PresetMinterPauser.sol | 92 -- .../contracts/token/ERC20/utils/SafeERC20.sol | 99 -- .../token/ERC20/utils/TokenTimelock.sol | 70 -- .../contracts/token/ERC721/ERC721.sol | 424 ------- .../contracts/token/ERC721/IERC721.sol | 143 --- .../token/ERC721/IERC721Receiver.sol | 27 - .../ERC721/extensions/ERC721Burnable.sol | 26 - .../ERC721/extensions/ERC721Enumerable.sol | 163 --- .../ERC721/extensions/ERC721Pausable.sol | 33 - .../ERC721/extensions/ERC721URIStorage.sol | 67 - .../ERC721/extensions/IERC721Enumerable.sol | 29 - .../ERC721/extensions/IERC721Metadata.sol | 27 - .../ERC721PresetMinterPauserAutoId.sol | 137 --- .../token/ERC721/utils/ERC721Holder.sol | 28 - .../contracts/token/ERC777/ERC777.sol | 539 --------- .../contracts/token/ERC777/IERC777.sol | 193 --- .../token/ERC777/IERC777Recipient.sol | 35 - .../contracts/token/ERC777/IERC777Sender.sol | 35 - .../presets/ERC777PresetFixedSupply.sol | 30 - .../@openzeppelin/contracts/utils/Address.sol | 217 ---- .../@openzeppelin/contracts/utils/Arrays.sol | 48 - .../@openzeppelin/contracts/utils/Context.sol | 24 - .../contracts/utils/Counters.sol | 43 - .../@openzeppelin/contracts/utils/Create2.sol | 65 - .../contracts/utils/Multicall.sol | 24 - .../contracts/utils/StorageSlot.sol | 84 -- .../@openzeppelin/contracts/utils/Strings.sol | 67 - .../@openzeppelin/contracts/utils/Timers.sol | 73 -- .../contracts/utils/cryptography/ECDSA.sol | 234 ---- .../utils/cryptography/MerkleProof.sol | 52 - .../utils/cryptography/SignatureChecker.sol | 36 - .../utils/cryptography/draft-EIP712.sol | 104 -- .../utils/escrow/ConditionalEscrow.sol | 25 - .../contracts/utils/escrow/Escrow.sol | 63 - .../contracts/utils/escrow/RefundEscrow.sol | 100 -- .../contracts/utils/introspection/ERC165.sol | 29 - .../utils/introspection/ERC165Checker.sol | 113 -- .../utils/introspection/ERC165Storage.sol | 42 - .../introspection/ERC1820Implementer.sol | 44 - .../contracts/utils/introspection/IERC165.sol | 25 - .../introspection/IERC1820Implementer.sol | 20 - .../utils/introspection/IERC1820Registry.sol | 116 -- .../contracts/utils/math/Math.sol | 43 - .../contracts/utils/math/SafeCast.sol | 241 ---- .../contracts/utils/math/SafeMath.sol | 227 ---- .../contracts/utils/math/SignedSafeMath.sol | 68 -- .../contracts/utils/structs/BitMaps.sol | 55 - .../contracts/utils/structs/EnumerableMap.sol | 240 ---- .../contracts/utils/structs/EnumerableSet.sol | 357 ------ tests/test_node_modules/package.json | 6 - tests/test_source_mapping.py | 133 -- tests/test_source_unit.py | 43 - tests/test_ssa_generation.py | 1078 ----------------- tests/test_storage_layout.py | 39 - tests/{ => tools}/check-erc/erc20.sol | 0 tests/{ => tools}/check-erc/test_1.txt | 0 .../check-kspec/safeAdd/safeAdd.sol | 0 tests/{ => tools}/check-kspec/safeAdd/spec.md | 0 tests/{ => tools}/check-kspec/test_1.txt | 0 .../check-upgradeability/contractV1.sol | 0 .../contractV1_struct.sol | 0 .../check-upgradeability/contractV2.sol | 0 .../check-upgradeability/contractV2_bug.sol | 0 .../check-upgradeability/contractV2_bug2.sol | 0 .../contractV2_struct.sol | 0 .../contractV2_struct_bug.sol | 0 .../contract_initialization.sol | 0 .../contract_v1_var_init.sol | 0 .../contract_v2_constant.sol | 0 .../check-upgradeability/proxy.sol | 0 .../check-upgradeability/test_1.txt | 0 .../check-upgradeability/test_10.txt | 0 .../check-upgradeability/test_11.txt | 0 .../check-upgradeability/test_12.txt | 0 .../check-upgradeability/test_13.txt | 0 .../check-upgradeability/test_2.txt | 0 .../check-upgradeability/test_3.txt | 0 .../check-upgradeability/test_4.txt | 0 .../check-upgradeability/test_5.txt | 0 .../check-upgradeability/test_6.txt | 0 .../check-upgradeability/test_7.txt | 0 .../check-upgradeability/test_8.txt | 0 .../check-upgradeability/test_9.txt | 0 tests/{ => tools}/flat/file1.sol | 0 tests/{ => tools}/flat/file2.sol | 0 .../read-storage}/test_read_storage.py | 4 +- tests/{ => tools}/simil/test_1.txt | 0 .../src/MyTypeA.sol | 2 - .../src/MyTypeA/Casting.sol | 4 - .../src/MyTypeA/Math.sol | 5 - .../src/MyTypeA/Type.sol | 6 - .../src/MyTypeB.sol | 2 - .../src/MyTypeB/Casting.sol | 4 - .../src/MyTypeB/Math.sol | 6 - .../src/MyTypeB/Type.sol | 6 - tests/using-for-global-collision/src/Test.sol | 7 - tests/utils.py | 14 + 238 files changed, 16 insertions(+), 15628 deletions(-) delete mode 100644 tests/arithmetic_usage/test.sol delete mode 100644 tests/collisions/a.sol delete mode 100644 tests/collisions/b.sol delete mode 100644 tests/complex_func.sol delete mode 100644 tests/constant_folding_binop.sol delete mode 100644 tests/constant_folding_rational.sol delete mode 100644 tests/constant_folding_unary.sol delete mode 100644 tests/custom_comments/contract_comment.sol delete mode 100644 tests/custom_comments/upgrade.sol delete mode 100644 tests/deprecated_calls.sol rename tests/{ => e2e/config}/config/slither.config.json (100%) rename tests/{ => e2e/config}/config/test.sol (100%) rename tests/{ => e2e/config}/test_path_filtering/libs/ReentrancyMock1.sol (100%) rename tests/{ => e2e/config}/test_path_filtering/libs/ReentrancyMock2.sol (100%) rename tests/{ => e2e/config}/test_path_filtering/libs/ReentrancyMock3.sol (100%) rename tests/{ => e2e/config}/test_path_filtering/slither.config.json (100%) rename tests/{ => e2e/config}/test_path_filtering/src/ReentrancyMock.sol (100%) rename tests/{ => e2e/config}/test_path_filtering/test_path_filtering.sol (100%) rename tests/{ => e2e/printers}/possible_paths/paths.sol (100%) rename tests/{ => e2e/printers}/possible_paths/paths.txt (100%) delete mode 100644 tests/function_features/abstract.sol delete mode 100644 tests/function_features/implicit_abstract.sol delete mode 100644 tests/function_ids/rec_struct-0.8.sol delete mode 100644 tests/inheritance_graph.sol delete mode 100644 tests/lookup/private_variable.sol delete mode 100644 tests/printers/functions_ids.sol delete mode 100644 tests/slithir/operation_reads.sol delete mode 100644 tests/slithir/ternary_expressions.sol delete mode 100644 tests/slithir/test_operation_reads.py delete mode 100644 tests/slithir/test_ternary_expressions.py delete mode 100644 tests/source_mapping.sol delete mode 100644 tests/source_unit/README.md delete mode 100644 tests/source_unit/foundry.toml delete mode 100644 tests/source_unit/script/Counter.s.sol delete mode 100644 tests/source_unit/src/Counter.sol delete mode 100644 tests/source_unit/src/Counter2.sol delete mode 100644 tests/source_unit/test/Counter.t.sol delete mode 100644 tests/src_mapping/ReferencesUserDefinedAliases.sol delete mode 100644 tests/src_mapping/ReferencesUserDefinedTypesCasting.sol delete mode 100644 tests/src_mapping/inheritance.sol delete mode 100644 tests/storage-layout/StorageLayout.abi delete mode 100644 tests/storage-layout/StorageLayout.bin delete mode 100644 tests/storage-layout/TEST_storage_layout.json delete mode 100644 tests/storage-layout/storage_layout-0.8.10.sol delete mode 100644 tests/taint_mapping.sol delete mode 100644 tests/test_constant_folding.py delete mode 100644 tests/test_cyclic_import/a.sol delete mode 100644 tests/test_cyclic_import/b.sol delete mode 100644 tests/test_features.py delete mode 100644 tests/test_function.py delete mode 100644 tests/test_function.sol delete mode 100644 tests/test_function_reentrant.sol delete mode 100644 tests/test_functions_ids.py delete mode 100644 tests/test_node_modules/contracts/MyCoin.sol delete mode 100644 tests/test_node_modules/hardhat.config.js delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/package.json delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol delete mode 100644 tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol delete mode 100644 tests/test_node_modules/package.json delete mode 100644 tests/test_source_mapping.py delete mode 100644 tests/test_source_unit.py delete mode 100644 tests/test_ssa_generation.py delete mode 100644 tests/test_storage_layout.py rename tests/{ => tools}/check-erc/erc20.sol (100%) rename tests/{ => tools}/check-erc/test_1.txt (100%) rename tests/{ => tools}/check-kspec/safeAdd/safeAdd.sol (100%) rename tests/{ => tools}/check-kspec/safeAdd/spec.md (100%) rename tests/{ => tools}/check-kspec/test_1.txt (100%) rename tests/{ => tools}/check-upgradeability/contractV1.sol (100%) rename tests/{ => tools}/check-upgradeability/contractV1_struct.sol (100%) rename tests/{ => tools}/check-upgradeability/contractV2.sol (100%) rename tests/{ => tools}/check-upgradeability/contractV2_bug.sol (100%) rename tests/{ => tools}/check-upgradeability/contractV2_bug2.sol (100%) rename tests/{ => tools}/check-upgradeability/contractV2_struct.sol (100%) rename tests/{ => tools}/check-upgradeability/contractV2_struct_bug.sol (100%) rename tests/{ => tools}/check-upgradeability/contract_initialization.sol (100%) rename tests/{ => tools}/check-upgradeability/contract_v1_var_init.sol (100%) rename tests/{ => tools}/check-upgradeability/contract_v2_constant.sol (100%) rename tests/{ => tools}/check-upgradeability/proxy.sol (100%) rename tests/{ => tools}/check-upgradeability/test_1.txt (100%) rename tests/{ => tools}/check-upgradeability/test_10.txt (100%) rename tests/{ => tools}/check-upgradeability/test_11.txt (100%) rename tests/{ => tools}/check-upgradeability/test_12.txt (100%) rename tests/{ => tools}/check-upgradeability/test_13.txt (100%) rename tests/{ => tools}/check-upgradeability/test_2.txt (100%) rename tests/{ => tools}/check-upgradeability/test_3.txt (100%) rename tests/{ => tools}/check-upgradeability/test_4.txt (100%) rename tests/{ => tools}/check-upgradeability/test_5.txt (100%) rename tests/{ => tools}/check-upgradeability/test_6.txt (100%) rename tests/{ => tools}/check-upgradeability/test_7.txt (100%) rename tests/{ => tools}/check-upgradeability/test_8.txt (100%) rename tests/{ => tools}/check-upgradeability/test_9.txt (100%) rename tests/{ => tools}/flat/file1.sol (100%) rename tests/{ => tools}/flat/file2.sol (100%) rename tests/{ => tools/read-storage}/test_read_storage.py (96%) rename tests/{ => tools}/simil/test_1.txt (100%) delete mode 100644 tests/using-for-global-collision/src/MyTypeA.sol delete mode 100644 tests/using-for-global-collision/src/MyTypeA/Casting.sol delete mode 100644 tests/using-for-global-collision/src/MyTypeA/Math.sol delete mode 100644 tests/using-for-global-collision/src/MyTypeA/Type.sol delete mode 100644 tests/using-for-global-collision/src/MyTypeB.sol delete mode 100644 tests/using-for-global-collision/src/MyTypeB/Casting.sol delete mode 100644 tests/using-for-global-collision/src/MyTypeB/Math.sol delete mode 100644 tests/using-for-global-collision/src/MyTypeB/Type.sol delete mode 100644 tests/using-for-global-collision/src/Test.sol create mode 100644 tests/utils.py diff --git a/tests/arithmetic_usage/test.sol b/tests/arithmetic_usage/test.sol deleted file mode 100644 index 7bda7e5042..0000000000 --- a/tests/arithmetic_usage/test.sol +++ /dev/null @@ -1,29 +0,0 @@ -function protected(uint a, uint b) returns(uint){ - return (a + b) * (a + b); -} - -function not_protected_asm(uint a, uint b) returns(uint){ - uint c; - assembly{ - c := mul(add(a,b), add(a,b)) - } - return c; -} - -function not_protected_unchecked(uint a, uint b) returns(uint){ - uint c; - unchecked{ - return (a + b) * (a + b); - } - -} - -contract A{ - - function f(uint a, uint b) public{ - protected(a,b); - not_protected_asm(a, b); - not_protected_unchecked(a, b); - } - -} \ No newline at end of file diff --git a/tests/collisions/a.sol b/tests/collisions/a.sol deleted file mode 100644 index f69f7e2e39..0000000000 --- a/tests/collisions/a.sol +++ /dev/null @@ -1,18 +0,0 @@ -struct St{ - uint a; -} - -contract A{ - function f() public {} -} - -contract B0{ - A a; - St s; - function g() internal returns(uint){ - a.f(); - return s.a; - } -} - - diff --git a/tests/collisions/b.sol b/tests/collisions/b.sol deleted file mode 100644 index 31765f8f65..0000000000 --- a/tests/collisions/b.sol +++ /dev/null @@ -1,18 +0,0 @@ -struct St{ - uint b; -} - -contract A{ - function h() public {} -} - -contract B1{ - A a; - St s; - function g() internal returns(uint){ - a.h(); - return s.b; - } -} - - diff --git a/tests/complex_func.sol b/tests/complex_func.sol deleted file mode 100644 index cdb716efda..0000000000 --- a/tests/complex_func.sol +++ /dev/null @@ -1,88 +0,0 @@ -pragma solidity ^0.4.24; - -contract Complex { - int numberOfSides = 7; - string shape; - uint i0 = 0; - uint i1 = 0; - uint i2 = 0; - uint i3 = 0; - uint i4 = 0; - uint i5 = 0; - uint i6 = 0; - uint i7 = 0; - uint i8 = 0; - uint i9 = 0; - uint i10 = 0; - - - function computeShape() external { - if (numberOfSides <= 2) { - shape = "Cant be a shape!"; - } else if (numberOfSides == 3) { - shape = "Triangle"; - } else if (numberOfSides == 4) { - shape = "Square"; - } else if (numberOfSides == 5) { - shape = "Pentagon"; - } else if (numberOfSides == 6) { - shape = "Hexagon"; - } else if (numberOfSides == 7) { - shape = "Heptagon"; - } else if (numberOfSides == 8) { - shape = "Octagon"; - } else if (numberOfSides == 9) { - shape = "Nonagon"; - } else if (numberOfSides == 10) { - shape = "Decagon"; - } else if (numberOfSides == 11) { - shape = "Hendecagon"; - } else { - shape = "Your shape is more than 11 sides."; - } - } - - function complexExternalWrites() external { - Increment test1 = new Increment(); - test1.increaseBy1(); - test1.increaseBy1(); - test1.increaseBy1(); - test1.increaseBy1(); - test1.increaseBy1(); - - Increment test2 = new Increment(); - test2.increaseBy1(); - - address test3 = new Increment(); - test3.call(bytes4(keccak256("increaseBy2()"))); - - address test4 = new Increment(); - test4.call(bytes4(keccak256("increaseBy2()"))); - } - - function complexStateVars() external { - i0 = 1; - i1 = 1; - i2 = 1; - i3 = 1; - i4 = 1; - i5 = 1; - i6 = 1; - i7 = 1; - i8 = 1; - i9 = 1; - i10 = 1; - } -} - -contract Increment { - uint i = 0; - - function increaseBy1() public { - i += 1; - } - - function increaseBy2() public { - i += 2; - } -} \ No newline at end of file diff --git a/tests/constant_folding_binop.sol b/tests/constant_folding_binop.sol deleted file mode 100644 index 923418ce71..0000000000 --- a/tests/constant_folding_binop.sol +++ /dev/null @@ -1,14 +0,0 @@ -contract BinOp { - uint a = 1 & 2; - uint b = 1 ^ 2; - uint c = 1 | 2; - bool d = 2 < 1; - bool e = 1 > 2; - bool f = 1 <= 2; - bool g = 1 >= 2; - bool h = 1 == 2; - bool i = 1 != 2; - bool j = true && false; - bool k = true || false; - uint l = uint(1) - uint(2); -} \ No newline at end of file diff --git a/tests/constant_folding_rational.sol b/tests/constant_folding_rational.sol deleted file mode 100644 index 1931338244..0000000000 --- a/tests/constant_folding_rational.sol +++ /dev/null @@ -1,9 +0,0 @@ -contract C { - uint256 constant a = 2.5 + 7 + 0.5; - int128 b = 6 / 3.0; - int64 constant c = 5 * 0.5 + 0.5; - int256 d = 1e3 + 5E2; - uint256 e = 2 ** 255; - uint256 f = 115792089237316195423570985008687907853269984665640564039457584_007_913_129_639_935; - int64 constant g = -7.0; -} \ No newline at end of file diff --git a/tests/constant_folding_unary.sol b/tests/constant_folding_unary.sol deleted file mode 100644 index 71c7b3d2e5..0000000000 --- a/tests/constant_folding_unary.sol +++ /dev/null @@ -1,7 +0,0 @@ -contract C { - int8 constant a = -7; - function f() public pure { - uint[-a] memory x; - x[0] = 2; - } -} \ No newline at end of file diff --git a/tests/custom_comments/contract_comment.sol b/tests/custom_comments/contract_comment.sol deleted file mode 100644 index 8f0fb5233b..0000000000 --- a/tests/custom_comments/contract_comment.sol +++ /dev/null @@ -1,7 +0,0 @@ -/** - * @title Test Contract - * @dev Test comment - */ -contract A{ - -} \ No newline at end of file diff --git a/tests/custom_comments/upgrade.sol b/tests/custom_comments/upgrade.sol deleted file mode 100644 index 96192df0bc..0000000000 --- a/tests/custom_comments/upgrade.sol +++ /dev/null @@ -1,16 +0,0 @@ -/// @custom:security isDelegatecallProxy -contract Proxy{ - -} - -/// @custom:security isUpgradeable -/// @custom:version name=version-0 -contract V0{ - -} - -/// @custom:security isUpgradeable -/// @custom:version name=version_1 -contract V1{ - -} \ No newline at end of file diff --git a/tests/deprecated_calls.sol b/tests/deprecated_calls.sol deleted file mode 100644 index 6321e4e76f..0000000000 --- a/tests/deprecated_calls.sol +++ /dev/null @@ -1,27 +0,0 @@ -contract ContractWithDeprecatedReferences { - bytes32 globalBlockHash = block.blockhash(0); - - // Deprecated: Change constant -> view - function functionWithDeprecatedThrow() public constant { - // Deprecated: Change msg.gas -> gasleft() - if(msg.gas == msg.value) { - // Deprecated: Change throw -> revert() - throw; - } - } - - // Deprecated: Change constant -> view - function functionWithDeprecatedReferences() public constant { - // Deprecated: Change sha3() -> keccak256() - bytes32 sha3Result = sha3("test deprecated sha3 usage"); - - // Deprecated: Change block.blockhash() -> blockhash() - bytes32 blockHashResult = block.blockhash(0); - - // Deprecated: Change callcode() -> delegatecall() - address(this).callcode(); - - // Deprecated: Change suicide() -> selfdestruct() - suicide(address(0)); - } -} \ No newline at end of file diff --git a/tests/config/slither.config.json b/tests/e2e/config/config/slither.config.json similarity index 100% rename from tests/config/slither.config.json rename to tests/e2e/config/config/slither.config.json diff --git a/tests/config/test.sol b/tests/e2e/config/config/test.sol similarity index 100% rename from tests/config/test.sol rename to tests/e2e/config/config/test.sol diff --git a/tests/test_path_filtering/libs/ReentrancyMock1.sol b/tests/e2e/config/test_path_filtering/libs/ReentrancyMock1.sol similarity index 100% rename from tests/test_path_filtering/libs/ReentrancyMock1.sol rename to tests/e2e/config/test_path_filtering/libs/ReentrancyMock1.sol diff --git a/tests/test_path_filtering/libs/ReentrancyMock2.sol b/tests/e2e/config/test_path_filtering/libs/ReentrancyMock2.sol similarity index 100% rename from tests/test_path_filtering/libs/ReentrancyMock2.sol rename to tests/e2e/config/test_path_filtering/libs/ReentrancyMock2.sol diff --git a/tests/test_path_filtering/libs/ReentrancyMock3.sol b/tests/e2e/config/test_path_filtering/libs/ReentrancyMock3.sol similarity index 100% rename from tests/test_path_filtering/libs/ReentrancyMock3.sol rename to tests/e2e/config/test_path_filtering/libs/ReentrancyMock3.sol diff --git a/tests/test_path_filtering/slither.config.json b/tests/e2e/config/test_path_filtering/slither.config.json similarity index 100% rename from tests/test_path_filtering/slither.config.json rename to tests/e2e/config/test_path_filtering/slither.config.json diff --git a/tests/test_path_filtering/src/ReentrancyMock.sol b/tests/e2e/config/test_path_filtering/src/ReentrancyMock.sol similarity index 100% rename from tests/test_path_filtering/src/ReentrancyMock.sol rename to tests/e2e/config/test_path_filtering/src/ReentrancyMock.sol diff --git a/tests/test_path_filtering/test_path_filtering.sol b/tests/e2e/config/test_path_filtering/test_path_filtering.sol similarity index 100% rename from tests/test_path_filtering/test_path_filtering.sol rename to tests/e2e/config/test_path_filtering/test_path_filtering.sol diff --git a/tests/possible_paths/paths.sol b/tests/e2e/printers/possible_paths/paths.sol similarity index 100% rename from tests/possible_paths/paths.sol rename to tests/e2e/printers/possible_paths/paths.sol diff --git a/tests/possible_paths/paths.txt b/tests/e2e/printers/possible_paths/paths.txt similarity index 100% rename from tests/possible_paths/paths.txt rename to tests/e2e/printers/possible_paths/paths.txt diff --git a/tests/function_features/abstract.sol b/tests/function_features/abstract.sol deleted file mode 100644 index b29f683c47..0000000000 --- a/tests/function_features/abstract.sol +++ /dev/null @@ -1,5 +0,0 @@ -pragma solidity ^0.8.0; - -abstract contract ExplicitAbstract{ - function f() virtual public; -} diff --git a/tests/function_features/implicit_abstract.sol b/tests/function_features/implicit_abstract.sol deleted file mode 100644 index c46ccd8214..0000000000 --- a/tests/function_features/implicit_abstract.sol +++ /dev/null @@ -1,5 +0,0 @@ -pragma solidity ^0.5.0; - -contract ImplicitAbstract{ - function f() public; -} \ No newline at end of file diff --git a/tests/function_ids/rec_struct-0.8.sol b/tests/function_ids/rec_struct-0.8.sol deleted file mode 100644 index 7440a5a33d..0000000000 --- a/tests/function_ids/rec_struct-0.8.sol +++ /dev/null @@ -1,12 +0,0 @@ -contract A{ - - struct St{ - St[] a; - uint b; - } - - function f(St memory s) internal{ - f(s); - } - -} diff --git a/tests/inheritance_graph.sol b/tests/inheritance_graph.sol deleted file mode 100644 index 6707775833..0000000000 --- a/tests/inheritance_graph.sol +++ /dev/null @@ -1,100 +0,0 @@ -contract TestContractVar { - -} - -contract A { - uint public public_var = 1; - uint internal private_var = 1; - TestContractVar public public_contract; - TestContractVar internal private_contract; - - uint public shadowed_public_var = 1; - uint internal shadowed_private_var = 1; - TestContractVar public shadowed_public_contract; - TestContractVar internal shadowed_private_contract; - - function getValue() public pure returns (uint) { - return 0; - } - function notRedefined() public returns (uint) { - return getValue(); - } - - modifier testModifier { - assert(true); - _; - } - function testFunction() testModifier public returns (uint) { - return 0; - } -} - -contract B is A { - // This function overshadows A directly, and overshadows C indirectly (via 'G'->'D') - function getValue() public pure returns (uint) { - return 1; - } -} - -contract Good is A, B { - -} - -contract C is A { - - // This function overshadows A directly, and overshadows B indirectly (via 'G') - function getValue() public pure returns (uint) { - return super.getValue() + 1; - } -} - -contract D is B { - // This should overshadow A's definitions. - uint public shadowed_public_var = 2; - uint internal shadowed_private_var = 2; - TestContractVar public shadowed_public_contract; - TestContractVar internal shadowed_private_contract; -} - -contract E { - // Variables cannot indirectly shadow, so this should not be counted. - uint public public_var = 2; - uint internal private_var = 2; - TestContractVar public public_contract; - TestContractVar internal private_contract; - - // This should overshadow A's definition indirectly (via 'G'). - modifier testModifier { - assert(false); - _; - } -} - -contract F is B { - // This should overshadow A's definitions. - uint public shadowed_public_var = 2; - uint internal shadowed_private_var = 2; - TestContractVar public shadowed_public_contract; - TestContractVar internal shadowed_private_contract; - - // This should overshadow B's definition directly, as well as B's and C's indirectly (via 'G') - // (graph only outputs directly if both, so B direct and C indirect should be reported). - function getValue() public pure returns (uint) { - return 1; - } - - // This should indirectly shadow definition in A directly, and E indirectly (via 'G') - modifier testModifier { - assert(false); - _; - } -} - -contract G is B, C, D, E, F { - // This should overshadow definitions in A, D, and F - uint public shadowed_public_var = 3; - uint internal shadowed_private_var = 3; - TestContractVar public shadowed_public_contract; - - // This contract's multiple inheritance chain should cause indirect shadowing (c3 linearization shadowing). -} diff --git a/tests/lookup/private_variable.sol b/tests/lookup/private_variable.sol deleted file mode 100644 index 93f4d3dda6..0000000000 --- a/tests/lookup/private_variable.sol +++ /dev/null @@ -1,13 +0,0 @@ -contract A{ - uint private v = 10; -} - -contract B{ - uint v = 20; -} - -contract C is B, A{ - function f() public view returns(uint) { - return v; - } -} \ No newline at end of file diff --git a/tests/printers/functions_ids.sol b/tests/printers/functions_ids.sol deleted file mode 100644 index 2f4eea6a76..0000000000 --- a/tests/printers/functions_ids.sol +++ /dev/null @@ -1,64 +0,0 @@ -pragma experimental ABIEncoderV2; - -contract Contract{} - -contract C{ - - mapping(uint => address)[] public arrayOfMappings; - - mapping(uint => address[]) public normalMappingArrayField; - - enum State{a0,a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12,a13,a14,a15,a16,a17,a18,a19,a20,a21,a22,a23,a24,a25,a26,a27,a28,a29,a30,a31,a32,a33,a34,a35,a36,a37,a38,a39,a40,a41,a42,a43,a44,a45,a46,a47,a48,a49,a50,a51,a52,a53,a54,a55,a56,a57,a58,a59,a60,a61,a62,a63,a64,a65,a66,a67,a68,a69,a70,a71,a72,a73,a74,a75,a76,a77,a78,a79,a80,a81,a82,a83,a84,a85,a86,a87,a88,a89,a90,a91,a92,a93,a94,a95,a96,a97,a98,a99,a100,a101,a102,a103,a104,a105,a106,a107,a108,a109,a110,a111,a112,a113,a114,a115,a116,a117,a118,a119,a120,a121,a122,a123,a124,a125,a126,a127,a128,a129,a130,a131,a132,a133,a134,a135,a136,a137,a138,a139,a140,a141,a142,a143,a144,a145,a146,a147,a148,a149,a150,a151,a152,a153,a154,a155,a156,a157,a158,a159,a160,a161,a162,a163,a164,a165,a166,a167,a168,a169,a170,a171,a172,a173,a174,a175,a176,a177,a178,a179,a180,a181,a182,a183,a184,a185,a186,a187,a188,a189,a190,a191,a192,a193,a194,a195,a196,a197,a198,a199,a200,a201,a202,a203,a204,a205,a206,a207,a208,a209,a210,a211,a212,a213,a214,a215,a216,a217,a218,a219,a220,a221,a222,a223,a224,a225,a226,a227,a228,a229,a230,a231,a232,a233,a234,a235,a236,a237,a238,a239,a240,a241,a242,a243,a244,a245,a246,a247,a248,a249,a250,a251,a252,a253,a254,a255,a256} - mapping(State => uint) public stateMap; - - mapping(Contract => uint) public contractMap; - - uint[][] public multiDimensionalArray; - - struct Simple { - uint a; - uint b; - mapping(uint => uint) c; - uint[] d; - function(uint) external returns (uint) e; - } - - Simple public simple; - - struct Inner { - uint a; - uint b; - } - - struct Outer { - Inner inner; - uint c; - } - - Outer public outer; - - - struct A { - Inner inner; - uint a; - } - struct B { - uint a; - Inner inner; - } - - A public a; - A[] public a_array; - mapping(address => B[]) public b_mapping_of_array; - - function function_with_struct(A memory a) public{} - - function function_with_array(A[] memory array, B memory b) public {} - - struct AnotherStruct{ - B b; - A[] a; - } - mapping(address => AnotherStruct[][]) public mapping_of_double_array_of_struct; -} - diff --git a/tests/slithir/operation_reads.sol b/tests/slithir/operation_reads.sol deleted file mode 100644 index 22adc22889..0000000000 --- a/tests/slithir/operation_reads.sol +++ /dev/null @@ -1,17 +0,0 @@ - -contract Placeholder { - constructor() payable {} -} - -contract NewContract { - bytes32 internal constant state_variable_read = bytes32(0); - - function readAllStateVariables() external { - new Placeholder{salt: state_variable_read} (); - } - - function readAllLocalVariables() external { - bytes32 local_variable_read = bytes32(0); - new Placeholder{salt: local_variable_read} (); - } -} \ No newline at end of file diff --git a/tests/slithir/ternary_expressions.sol b/tests/slithir/ternary_expressions.sol deleted file mode 100644 index c73a2b6b33..0000000000 --- a/tests/slithir/ternary_expressions.sol +++ /dev/null @@ -1,52 +0,0 @@ -interface Test { - function test() external payable returns (uint); - function testTuple() external payable returns (uint, uint); -} -contract C { - // TODO - // 1) support variable declarations - //uint min = 1 > 0 ? 1 : 2; - // 2) suppory ternary index range access - // function e(bool cond, bytes calldata x) external { - // bytes memory a = x[cond ? 1 : 2 :]; - // } - function a(uint a, uint b) external { - (uint min, uint max) = a < b ? (a, b) : (b, a); - } - function b( address a, address b) external { - (address tokenA, address tokenB) = a < b ? (a, b) : (b, a); - } - - bytes char; - function c(bytes memory strAddress, uint i, uint padding, uint length) external { - char[0] = strAddress[i < padding + 2 ? i : 42 + i - length]; - } - - function d(bool cond, bytes calldata x) external { - bytes1 a = x[cond ? 1 : 2]; - } - - function e(address one, address two) public { - uint x = Test(one).test{value: msg.sender == two ? 1 : 2, gas: true ? 2 : gasleft()}(); - } - - // Parenthetical expression - function f(address one, address two) public { - uint x = Test(one).test{value: msg.sender == two ? 1 : 2, gas: true ? (1 == 1 ? 1 : 2) : gasleft()}(); - } - - // Unused tuple variable - function g(address one) public { - (, uint x) = Test(one).testTuple(); - } - - uint[] myIntegers; - function _h(uint c) internal returns(uint) { - return c; - } - function h(bool cond, uint a, uint b) public { - uint d = _h( - myIntegers[cond ? a : b] - ); - } -} diff --git a/tests/slithir/test_operation_reads.py b/tests/slithir/test_operation_reads.py deleted file mode 100644 index aa183333fd..0000000000 --- a/tests/slithir/test_operation_reads.py +++ /dev/null @@ -1,49 +0,0 @@ -from collections import namedtuple -from slither import Slither -from slither.slithir.operations import Operation, NewContract - - -def check_num_local_vars_read(function, slithir_op: Operation, num_reads_expected: int): - for node in function.nodes: - for operation in node.irs: - if isinstance(operation, slithir_op): - assert len(operation.read) == num_reads_expected - assert len(node.local_variables_read) == num_reads_expected - - -def check_num_states_vars_read(function, slithir_op: Operation, num_reads_expected: int): - for node in function.nodes: - for operation in node.irs: - if isinstance(operation, slithir_op): - assert len(operation.read) == num_reads_expected - assert len(node.state_variables_read) == num_reads_expected - - -OperationTest = namedtuple("OperationTest", "contract_name slithir_op") - -OPERATION_TEST = [OperationTest("NewContract", NewContract)] - - -def test_operation_reads() -> None: - """ - Every slithir operation has its own contract and reads all local and state variables in readAllLocalVariables and readAllStateVariables, respectively. - """ - slither = Slither("./tests/slithir/operation_reads.sol") - - for op_test in OPERATION_TEST: - print(op_test) - available = slither.get_contract_from_name(op_test.contract_name) - assert len(available) == 1 - target = available[0] - - num_state_variables = len(target.state_variables_ordered) - state_function = target.get_function_from_signature("readAllStateVariables()") - check_num_states_vars_read(state_function, op_test.slithir_op, num_state_variables) - - 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/slithir/test_ternary_expressions.py b/tests/slithir/test_ternary_expressions.py deleted file mode 100644 index a1f00eb4fd..0000000000 --- a/tests/slithir/test_ternary_expressions.py +++ /dev/null @@ -1,40 +0,0 @@ -from solc_select import solc_select -from slither import Slither -from slither.core.cfg.node import NodeType -from slither.slithir.operations import Assignment -from slither.core.expressions import AssignmentOperation, TupleExpression - -# pylint: disable=too-many-nested-blocks -def test_ternary_conversions() -> 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("./tests/slithir/ternary_expressions.sol") - for contract in slither.contracts: - for function in contract.functions: - vars_declared = 0 - vars_assigned = 0 - for node in function.nodes: - if node.type in [NodeType.IF, NodeType.IFLOOP]: - - # Iterate over true and false son - for inner_node in node.sons: - # Count all variables declared - expression = inner_node.expression - if isinstance(expression, AssignmentOperation): - var_expr = expression.expression_left - # Only tuples declare more than one var - if isinstance(var_expr, TupleExpression): - vars_declared += len(var_expr.expressions) - else: - vars_declared += 1 - - for ir in inner_node.irs: - # Count all variables defined - if isinstance(ir, Assignment): - vars_assigned += 1 - - assert vars_declared == vars_assigned - - -if __name__ == "__main__": - test_ternary_conversions() diff --git a/tests/source_mapping.sol b/tests/source_mapping.sol deleted file mode 100644 index 771f2daedc..0000000000 --- a/tests/source_mapping.sol +++ /dev/null @@ -1,22 +0,0 @@ -contract A{ - - // ëëëëëëëëëëëëë这这这这这这这这这这 - - address unused; - - - address unused2; - - - // ই এই এই এইই এই এই এইই এই এই এই - - address unused3; - - - address unused4; - - // 这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这这 - address used; - - -} diff --git a/tests/source_unit/README.md b/tests/source_unit/README.md deleted file mode 100644 index 9cf3657e08..0000000000 --- a/tests/source_unit/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# README - -Before using this project, run `forge init --no-git --no-commit --force` to initialize submodules diff --git a/tests/source_unit/foundry.toml b/tests/source_unit/foundry.toml deleted file mode 100644 index e6810b2b58..0000000000 --- a/tests/source_unit/foundry.toml +++ /dev/null @@ -1,6 +0,0 @@ -[profile.default] -src = 'src' -out = 'out' -libs = ['lib'] - -# See more config options https://github.com/foundry-rs/foundry/tree/master/config \ No newline at end of file diff --git a/tests/source_unit/script/Counter.s.sol b/tests/source_unit/script/Counter.s.sol deleted file mode 100644 index 0e546aba37..0000000000 --- a/tests/source_unit/script/Counter.s.sol +++ /dev/null @@ -1,12 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -import "forge-std/Script.sol"; - -contract CounterScript is Script { - function setUp() public {} - - function run() public { - vm.broadcast(); - } -} diff --git a/tests/source_unit/src/Counter.sol b/tests/source_unit/src/Counter.sol deleted file mode 100644 index aded7997b0..0000000000 --- a/tests/source_unit/src/Counter.sol +++ /dev/null @@ -1,14 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -contract Counter { - uint256 public number; - - function setNumber(uint256 newNumber) public { - number = newNumber; - } - - function increment() public { - number++; - } -} diff --git a/tests/source_unit/src/Counter2.sol b/tests/source_unit/src/Counter2.sol deleted file mode 100644 index fa830a4467..0000000000 --- a/tests/source_unit/src/Counter2.sol +++ /dev/null @@ -1,5 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -contract Counter { -} diff --git a/tests/source_unit/test/Counter.t.sol b/tests/source_unit/test/Counter.t.sol deleted file mode 100644 index 30235e8a88..0000000000 --- a/tests/source_unit/test/Counter.t.sol +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: UNLICENSED -pragma solidity ^0.8.13; - -import "forge-std/Test.sol"; -import "../src/Counter.sol"; - -contract CounterTest is Test { - Counter public counter; - - function setUp() public { - counter = new Counter(); - counter.setNumber(0); - } - - function testIncrement() public { - counter.increment(); - assertEq(counter.number(), 1); - } - - function testSetNumber(uint256 x) public { - counter.setNumber(x); - assertEq(counter.number(), x); - } -} diff --git a/tests/src_mapping/ReferencesUserDefinedAliases.sol b/tests/src_mapping/ReferencesUserDefinedAliases.sol deleted file mode 100644 index 68fac48af2..0000000000 --- a/tests/src_mapping/ReferencesUserDefinedAliases.sol +++ /dev/null @@ -1,19 +0,0 @@ -pragma solidity 0.8.16; - -type aliasTopLevel is uint; - -contract C -{ - type aliasContractLevel is uint; -} - -contract Test -{ - aliasTopLevel a; - C.aliasContractLevel b; -} - -function f(aliasTopLevel, C.aliasContractLevel) -{ - -} \ No newline at end of file diff --git a/tests/src_mapping/ReferencesUserDefinedTypesCasting.sol b/tests/src_mapping/ReferencesUserDefinedTypesCasting.sol deleted file mode 100644 index 1c23f0d5ca..0000000000 --- a/tests/src_mapping/ReferencesUserDefinedTypesCasting.sol +++ /dev/null @@ -1,19 +0,0 @@ -pragma solidity 0.8.16; - -interface A -{ - function a() external; -} - -contract C -{ - function g(address _address) private - { - A(_address).a(); - } -} - -function f(address _address) -{ - A(_address).a(); -} \ No newline at end of file diff --git a/tests/src_mapping/inheritance.sol b/tests/src_mapping/inheritance.sol deleted file mode 100644 index 4c3ff92ee7..0000000000 --- a/tests/src_mapping/inheritance.sol +++ /dev/null @@ -1,35 +0,0 @@ -contract A{ - - function f() public virtual { - - } - - function test() public { - f(); - } - -} - -contract B is A{ - - function f() public override { - - } - -} - -contract C is A{ - - function f() public override { - - } - - function test2() public { - f(); - } - -} - -contract D is A{ - -} diff --git a/tests/storage-layout/StorageLayout.abi b/tests/storage-layout/StorageLayout.abi deleted file mode 100644 index a60ca06615..0000000000 --- a/tests/storage-layout/StorageLayout.abi +++ /dev/null @@ -1 +0,0 @@ -[{"inputs":[],"name":"store","outputs":[],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file diff --git a/tests/storage-layout/StorageLayout.bin b/tests/storage-layout/StorageLayout.bin deleted file mode 100644 index 11163c2f00..0000000000 --- a/tests/storage-layout/StorageLayout.bin +++ /dev/null @@ -1 +0,0 @@ -608060405260016000806101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555060016000601f6101000a81548160ff02191690831515021790555060405180604001604052806000601f9054906101000a900460ff161515815260200160008054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16815250600160008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050506040518060400160405280601481526020017f736c69746865722d726561642d73746f7261676500000000000000000000000081525060079080519060200190620001b6929190620002b2565b5060088060006101000a81548160ff021916908360ff1602179055507f6161616161616161000000000000000000000000000000000000000000000000600860016101000a81548167ffffffffffffffff021916908360c01c02179055506000600860096101000a81548160ff021916908360028111156200023d576200023c62000362565b5b021790555060016008600a6101000a81548160ff021916908360028111156200026b576200026a62000362565b5b021790555060026008600b6101000a81548160ff0219169083600281111562000299576200029862000362565b5b0217905550348015620002ab57600080fd5b50620003f6565b828054620002c090620003c0565b90600052602060002090601f016020900481019282620002e4576000855562000330565b82601f10620002ff57805160ff191683800117855562000330565b8280016001018555821562000330579182015b828111156200032f57825182559160200191906001019062000312565b5b5090506200033f919062000343565b5090565b5b808211156200035e57600081600090555060010162000344565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620003d957607f821691505b60208210811415620003f057620003ef62000391565b5b50919050565b610fd780620004066000396000f3fe608060405234801561001057600080fd5b506004361061002b5760003560e01c8063975057e714610030575b600080fd5b61003861003a565b005b600073ffffffffffffffffffffffffffffffffffffffff16600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461009557600080fd5b33600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600260008060009054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550905050600160036000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008060009054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550905050600160046000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006001815260200190815260200160002060006101000a81548160ff021916908315150217905550600160046000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006002815260200190815260200160002060006101000a81548160ff0219169083151502179055506040518060600160405280600160ff168152602001600260ff168152602001600360ff1681525060099060036104b8929190610ddd565b50600c600990806001815401808255809150506001900390600052602060002090600302016000909190919091509060036104f4929190610e22565b50600c6040518060600160405280600460ff168152602001600560ff168152602001600660ff168152509080600181540180825580915050600190039060005260206000209060030201600090919091909150906003610555929190610ddd565b50600d60006003811061056b5761056a610f72565b5b0160079080600181540180825580915050600190039060005260206000200160009091909190915055600d6001600381106105a9576105a8610f72565b5b0160089080600181540180825580915050600190039060005260206000200160009091909190915055600d6001600381106105e7576105e6610f72565b5b0160099080600181540180825580915050600190039060005260206000200160009091909190915055600d60026003811061062557610624610f72565b5b01600a9080600181540180825580915050600190039060005260206000200160009091909190915055600d60026003811061066357610662610f72565b5b01600b9080600181540180825580915050600190039060005260206000200160009091909190915055600d6002600381106106a1576106a0610f72565b5b01600c908060018154018082558091505060019003906000526020600020016000909190919091505560106040518060200160405280600d60ff1681525090806001815401808255809150506001900390600052602060002001600090919091909150906001610712929190610e5f565b5060106040518060400160405280600e60ff168152602001600f60ff1681525090806001815401808255809150506001900390600052602060002001600090919091909150906002610765929190610eb1565b5060106040518060600160405280601060ff168152602001601160ff168152602001601260ff16815250908060018154018082558091505060019003906000526020600020016000909190919091509060036107c2929190610f03565b5060116001908060018154018082558091505060019003906000526020600020016000909190919091506000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060116040518060400160405280600015158152602001600a7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050506001601260006003811061099a57610999610f72565b5b016000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055509050506040518060400160405280600015158152602001600a7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152506012600160038110610aa257610aa1610f72565b5b0160008201518160000160006101000a81548160ff02191690831515021790555060208201518160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555090505060056000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206011600081548110610b9957610b98610f72565b5b90600052602060002001908060018154018082558091505060019003906000526020600020016000909190919091506000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060056000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206011600181548110610cf557610cf4610f72565b5b90600052602060002001908060018154018082558091505060019003906000526020600020016000909190919091506000820160009054906101000a900460ff168160000160006101000a81548160ff0219169083151502179055506000820160019054906101000a90047effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff168160000160016101000a8154817effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1602179055505050565b8260038101928215610e11579160200282015b82811115610e10578251829060ff16905591602001919060010190610df0565b5b509050610e1e9190610f55565b5090565b8260038101928215610e4e579182015b82811115610e4d578254825591600101919060010190610e32565b5b509050610e5b9190610f55565b5090565b828054828255906000526020600020908101928215610ea0579160200282015b82811115610e9f578251829060ff16905591602001919060010190610e7f565b5b509050610ead9190610f55565b5090565b828054828255906000526020600020908101928215610ef2579160200282015b82811115610ef1578251829060ff16905591602001919060010190610ed1565b5b509050610eff9190610f55565b5090565b828054828255906000526020600020908101928215610f44579160200282015b82811115610f43578251829060ff16905591602001919060010190610f23565b5b509050610f519190610f55565b5090565b5b80821115610f6e576000816000905550600101610f56565b5090565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fdfea26469706673582212201cafaf685feba709fe5b26911b38f3251b1d43d43cec2d0d839fb6ff480488d164736f6c634300080a0033 \ No newline at end of file diff --git a/tests/storage-layout/TEST_storage_layout.json b/tests/storage-layout/TEST_storage_layout.json deleted file mode 100644 index 9de3aacfd1..0000000000 --- a/tests/storage-layout/TEST_storage_layout.json +++ /dev/null @@ -1,576 +0,0 @@ -{ - "packedUint": { - "name": "packedUint", - "type_string": "uint248", - "slot": 0, - "size": 248, - "offset": 0, - "value": 1, - "elems": {} - }, - "packedBool": { - "name": "packedBool", - "type_string": "bool", - "slot": 0, - "size": 8, - "offset": 248, - "value": true, - "elems": {} - }, - "_packedStruct": { - "name": "_packedStruct", - "type_string": "StorageLayout.PackedStruct", - "slot": 1, - "size": 256, - "offset": 0, - "value": "0000000000000000000000000000000000000000000000000000000000000101", - "elems": { - "b": { - "name": "_packedStruct.b", - "type_string": "bool", - "slot": 1, - "size": 8, - "offset": 0, - "value": true, - "elems": {} - }, - "a": { - "name": "_packedStruct.a", - "type_string": "uint248", - "slot": 1, - "size": 248, - "offset": 8, - "value": 1, - "elems": {} - } - } - }, - "mappingPackedStruct": { - "name": "mappingPackedStruct", - "type_string": "mapping(uint256 => StorageLayout.PackedStruct)", - "slot": 2, - "size": 256, - "offset": 0, - "value": 0, - "elems": {} - }, - "deepMappingPackedStruct": { - "name": "deepMappingPackedStruct", - "type_string": "mapping(address => mapping(uint256 => StorageLayout.PackedStruct))", - "slot": 3, - "size": 256, - "offset": 0, - "value": 0, - "elems": {} - }, - "deepMappingElementaryTypes": { - "name": "deepMappingElementaryTypes", - "type_string": "mapping(address => mapping(uint256 => bool))", - "slot": 4, - "size": 256, - "offset": 0, - "value": 0, - "elems": {} - }, - "mappingDynamicArrayOfStructs": { - "name": "mappingDynamicArrayOfStructs", - "type_string": "mapping(address => StorageLayout.PackedStruct[])", - "slot": 5, - "size": 256, - "offset": 0, - "value": 0, - "elems": {} - }, - "_address": { - "name": "_address", - "type_string": "address", - "slot": 6, - "size": 160, - "offset": 0, - "value": "0xae17D2dD99e07CA3bF2571CCAcEAA9e2Aefc2Dc6", - "elems": {} - }, - "_string": { - "name": "_string", - "type_string": "string", - "slot": 7, - "size": 256, - "offset": 0, - "value": "slither-read-storage", - "elems": {} - }, - "packedUint8": { - "name": "packedUint8", - "type_string": "uint8", - "slot": 8, - "size": 8, - "offset": 0, - "value": 8, - "elems": {} - }, - "packedBytes": { - "name": "packedBytes", - "type_string": "bytes8", - "slot": 8, - "size": 64, - "offset": 8, - "value": "6161616161616161", - "elems": {} - }, - "_enumA": { - "name": "_enumA", - "type_string": "StorageLayout.Enum", - "slot": 8, - "size": 8, - "offset": 72, - "value": "00", - "elems": {} - }, - "_enumB": { - "name": "_enumB", - "type_string": "StorageLayout.Enum", - "slot": 8, - "size": 8, - "offset": 80, - "value": "01", - "elems": {} - }, - "_enumC": { - "name": "_enumC", - "type_string": "StorageLayout.Enum", - "slot": 8, - "size": 8, - "offset": 88, - "value": "02", - "elems": {} - }, - "fixedArray": { - "name": "fixedArray", - "type_string": "uint256[3]", - "slot": 9, - "size": 768, - "offset": 0, - "value": 1, - "elems": { - "0": { - "name": "fixedArray[0]", - "type_string": "uint256", - "slot": 9, - "size": 256, - "offset": 0, - "value": 1, - "elems": {} - }, - "1": { - "name": "fixedArray[1]", - "type_string": "uint256", - "slot": 10, - "size": 256, - "offset": 0, - "value": 2, - "elems": {} - }, - "2": { - "name": "fixedArray[2]", - "type_string": "uint256", - "slot": 11, - "size": 256, - "offset": 0, - "value": 3, - "elems": {} - } - } - }, - "dynamicArrayOfFixedArrays": { - "name": "dynamicArrayOfFixedArrays", - "type_string": "uint256[3][]", - "slot": 12, - "size": 256, - "offset": 0, - "value": 2, - "elems": { - "0": { - "name": "dynamicArrayOfFixedArrays[0]", - "type_string": "uint256", - "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386055, - "size": 256, - "offset": 0, - "value": 1, - "elems": { - "0": { - "name": "dynamicArrayOfFixedArrays[0]", - "type_string": "uint256", - "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386055, - "size": 256, - "offset": 0, - "value": 1, - "elems": {} - }, - "1": { - "name": "dynamicArrayOfFixedArrays[0]", - "type_string": "uint256", - "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386056, - "size": 256, - "offset": 0, - "value": 2, - "elems": {} - }, - "2": { - "name": "dynamicArrayOfFixedArrays[0]", - "type_string": "uint256", - "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386057, - "size": 256, - "offset": 0, - "value": 3, - "elems": {} - } - } - }, - "1": { - "name": "dynamicArrayOfFixedArrays[1]", - "type_string": "uint256", - "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386058, - "size": 256, - "offset": 0, - "value": 4, - "elems": { - "0": { - "name": "dynamicArrayOfFixedArrays[1]", - "type_string": "uint256", - "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386058, - "size": 256, - "offset": 0, - "value": 4, - "elems": {} - }, - "1": { - "name": "dynamicArrayOfFixedArrays[1]", - "type_string": "uint256", - "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386059, - "size": 256, - "offset": 0, - "value": 5, - "elems": {} - }, - "2": { - "name": "dynamicArrayOfFixedArrays[1]", - "type_string": "uint256", - "slot": 101051993584849178915136821395265346177868384823507754984078593667947067386060, - "size": 256, - "offset": 0, - "value": 6, - "elems": {} - } - } - } - } - }, - "fixedArrayofDynamicArrays": { - "name": "fixedArrayofDynamicArrays", - "type_string": "uint256[][3]", - "slot": 13, - "size": 768, - "offset": 0, - "value": 1, - "elems": { - "0": { - "name": "fixedArrayofDynamicArrays[0]", - "type_string": "uint256", - "slot": 13, - "size": 256, - "offset": 0, - "value": 1, - "elems": { - "0": { - "name": "fixedArrayofDynamicArrays[0]", - "type_string": "uint256", - "slot": 97569884605916225051403212656556507955018248777258318895762758024193532305077, - "size": 256, - "offset": 0, - "value": 7, - "elems": {} - } - } - }, - "1": { - "name": "fixedArrayofDynamicArrays[1]", - "type_string": "uint256", - "slot": 14, - "size": 256, - "offset": 0, - "value": 2, - "elems": { - "0": { - "name": "fixedArrayofDynamicArrays[1]", - "type_string": "uint256", - "slot": 84800337471693920904250232874319843718400766719524250287777680170677855896573, - "size": 256, - "offset": 0, - "value": 8, - "elems": {} - }, - "1": { - "name": "fixedArrayofDynamicArrays[1]", - "type_string": "uint256", - "slot": 84800337471693920904250232874319843718400766719524250287777680170677855896574, - "size": 256, - "offset": 0, - "value": 9, - "elems": {} - } - } - }, - "2": { - "name": "fixedArrayofDynamicArrays[2]", - "type_string": "uint256", - "slot": 15, - "size": 256, - "offset": 0, - "value": 3, - "elems": { - "0": { - "name": "fixedArrayofDynamicArrays[2]", - "type_string": "uint256", - "slot": 63806209331542711802848847270949280092855778197726125910674179583545433573378, - "size": 256, - "offset": 0, - "value": 10, - "elems": {} - }, - "1": { - "name": "fixedArrayofDynamicArrays[2]", - "type_string": "uint256", - "slot": 63806209331542711802848847270949280092855778197726125910674179583545433573379, - "size": 256, - "offset": 0, - "value": 11, - "elems": {} - }, - "2": { - "name": "fixedArrayofDynamicArrays[2]", - "type_string": "uint256", - "slot": 63806209331542711802848847270949280092855778197726125910674179583545433573380, - "size": 256, - "offset": 0, - "value": 12, - "elems": {} - } - } - } - } - }, - "multidimensionalArray": { - "name": "multidimensionalArray", - "type_string": "uint256[][]", - "slot": 16, - "size": 256, - "offset": 0, - "value": 3, - "elems": { - "0": { - "name": "multidimensionalArray[0]", - "type_string": "uint256", - "slot": 12396694973890998440467380340983585058878106250672390494374587083972727727730, - "size": 256, - "offset": 0, - "value": 1, - "elems": { - "0": { - "name": "multidimensionalArray[0]", - "type_string": "uint256", - "slot": 93856215500098298973000561543003607329881518401177956003908346942307446808932, - "size": 256, - "offset": 0, - "value": 13, - "elems": {} - } - } - }, - "1": { - "name": "multidimensionalArray[1]", - "type_string": "uint256", - "slot": 12396694973890998440467380340983585058878106250672390494374587083972727727731, - "size": 256, - "offset": 0, - "value": 2, - "elems": { - "0": { - "name": "multidimensionalArray[1]", - "type_string": "uint256", - "slot": 48332168562525185806884758054388614910060623018875025120987491603435926351511, - "size": 256, - "offset": 0, - "value": 14, - "elems": {} - }, - "1": { - "name": "multidimensionalArray[1]", - "type_string": "uint256", - "slot": 48332168562525185806884758054388614910060623018875025120987491603435926351512, - "size": 256, - "offset": 0, - "value": 15, - "elems": {} - } - } - }, - "2": { - "name": "multidimensionalArray[2]", - "type_string": "uint256", - "slot": 12396694973890998440467380340983585058878106250672390494374587083972727727732, - "size": 256, - "offset": 0, - "value": 3, - "elems": { - "0": { - "name": "multidimensionalArray[2]", - "type_string": "uint256", - "slot": 69037578548663760355678879060995014288537668748590083357305779656188235687653, - "size": 256, - "offset": 0, - "value": 16, - "elems": {} - }, - "1": { - "name": "multidimensionalArray[2]", - "type_string": "uint256", - "slot": 69037578548663760355678879060995014288537668748590083357305779656188235687654, - "size": 256, - "offset": 0, - "value": 17, - "elems": {} - }, - "2": { - "name": "multidimensionalArray[2]", - "type_string": "uint256", - "slot": 69037578548663760355678879060995014288537668748590083357305779656188235687655, - "size": 256, - "offset": 0, - "value": 18, - "elems": {} - } - } - } - } - }, - "dynamicArrayOfStructs": { - "name": "dynamicArrayOfStructs", - "type_string": "StorageLayout.PackedStruct[]", - "slot": 17, - "size": 256, - "offset": 0, - "value": "0000000000000000000000000000000000000000000000000000000000000002", - "elems": { - "0": { - "b": { - "name": "dynamicArrayOfStructs[0]", - "type_string": "bool", - "slot": 22581645139872629890233439717971975110198959689450188087151966948260709403752, - "size": 8, - "offset": 0, - "value": true, - "elems": {} - }, - "a": { - "name": "dynamicArrayOfStructs[0]", - "type_string": "uint248", - "slot": 22581645139872629890233439717971975110198959689450188087151966948260709403752, - "size": 248, - "offset": 8, - "value": 1, - "elems": {} - } - }, - "1": { - "b": { - "name": "dynamicArrayOfStructs[1]", - "type_string": "bool", - "slot": 22581645139872629890233439717971975110198959689450188087151966948260709403753, - "size": 8, - "offset": 0, - "value": false, - "elems": {} - }, - "a": { - "name": "dynamicArrayOfStructs[1]", - "type_string": "uint248", - "slot": 22581645139872629890233439717971975110198959689450188087151966948260709403753, - "size": 248, - "offset": 8, - "value": 10, - "elems": {} - } - } - } - }, - "fixedArrayOfStructs": { - "name": "fixedArrayOfStructs", - "type_string": "StorageLayout.PackedStruct[3]", - "slot": 18, - "size": 768, - "offset": 0, - "value": "0000000000000000000000000000000000000000000000000000000000000101", - "elems": { - "0": { - "b": { - "name": "fixedArrayOfStructs[0]", - "type_string": "bool", - "slot": 18, - "size": 8, - "offset": 0, - "value": true, - "elems": {} - }, - "a": { - "name": "fixedArrayOfStructs[0]", - "type_string": "uint248", - "slot": 18, - "size": 248, - "offset": 8, - "value": 1, - "elems": {} - } - }, - "1": { - "b": { - "name": "fixedArrayOfStructs[1]", - "type_string": "bool", - "slot": 19, - "size": 8, - "offset": 0, - "value": false, - "elems": {} - }, - "a": { - "name": "fixedArrayOfStructs[1]", - "type_string": "uint248", - "slot": 19, - "size": 248, - "offset": 8, - "value": 10, - "elems": {} - } - }, - "2": { - "b": { - "name": "fixedArrayOfStructs[2]", - "type_string": "bool", - "slot": 20, - "size": 8, - "offset": 0, - "value": false, - "elems": {} - }, - "a": { - "name": "fixedArrayOfStructs[2]", - "type_string": "uint248", - "slot": 20, - "size": 248, - "offset": 8, - "value": 0, - "elems": {} - } - } - } - } -} diff --git a/tests/storage-layout/storage_layout-0.8.10.sol b/tests/storage-layout/storage_layout-0.8.10.sol deleted file mode 100644 index 28d1428eb4..0000000000 --- a/tests/storage-layout/storage_layout-0.8.10.sol +++ /dev/null @@ -1,74 +0,0 @@ -// overwrite abi and bin: -// solc tests/storage-layout/storage_layout-0.8.10.sol --abi --bin -o tests/storage-layout --overwrite -contract StorageLayout { - uint248 packedUint = 1; - bool packedBool = true; - - struct PackedStruct { - bool b; - uint248 a; - } - PackedStruct _packedStruct = PackedStruct(packedBool, packedUint); - - mapping (uint => PackedStruct) mappingPackedStruct; - mapping (address => mapping (uint => PackedStruct)) deepMappingPackedStruct; - mapping (address => mapping (uint => bool)) deepMappingElementaryTypes; - mapping (address => PackedStruct[]) mappingDynamicArrayOfStructs; - - address _address; - string _string = "slither-read-storage"; - uint8 packedUint8 = 8; - bytes8 packedBytes = "aaaaaaaa"; - - enum Enum { - a, - b, - c - } - Enum _enumA = Enum.a; - Enum _enumB = Enum.b; - Enum _enumC = Enum.c; - - uint256[3] fixedArray; - uint256[3][] dynamicArrayOfFixedArrays; - uint[][3] fixedArrayofDynamicArrays; - uint[][] multidimensionalArray; - PackedStruct[] dynamicArrayOfStructs; - PackedStruct[3] fixedArrayOfStructs; - - function store() external { - require(_address == address(0)); - _address = msg.sender; - - mappingPackedStruct[packedUint] = _packedStruct; - - deepMappingPackedStruct[_address][packedUint] = _packedStruct; - - deepMappingElementaryTypes[_address][1] = true; - deepMappingElementaryTypes[_address][2] = true; - - fixedArray = [1, 2, 3]; - - dynamicArrayOfFixedArrays.push(fixedArray); - dynamicArrayOfFixedArrays.push([4, 5, 6]); - - fixedArrayofDynamicArrays[0].push(7); - fixedArrayofDynamicArrays[1].push(8); - fixedArrayofDynamicArrays[1].push(9); - fixedArrayofDynamicArrays[2].push(10); - fixedArrayofDynamicArrays[2].push(11); - fixedArrayofDynamicArrays[2].push(12); - - multidimensionalArray.push([13]); - multidimensionalArray.push([14, 15]); - multidimensionalArray.push([16, 17, 18]); - - dynamicArrayOfStructs.push(_packedStruct); - dynamicArrayOfStructs.push(PackedStruct(false, 10)); - fixedArrayOfStructs[0] = _packedStruct; - fixedArrayOfStructs[1] = PackedStruct(false, 10); - - mappingDynamicArrayOfStructs[_address].push(dynamicArrayOfStructs[0]); - mappingDynamicArrayOfStructs[_address].push(dynamicArrayOfStructs[1]); - } -} diff --git a/tests/taint_mapping.sol b/tests/taint_mapping.sol deleted file mode 100644 index c1a24ed38e..0000000000 --- a/tests/taint_mapping.sol +++ /dev/null @@ -1,18 +0,0 @@ -contract Test{ - - mapping(uint => mapping(uint => address)) authorized_destination; - - address destination; - - function init(){ - authorized_destination[0][0] = msg.sender; - } - - function setup(uint idx){ - destination = authorized_destination[0][0]; - } - - function withdraw(){ - destination.transfer(this.balance); - } -} diff --git a/tests/test_constant_folding.py b/tests/test_constant_folding.py deleted file mode 100644 index 21517ddc4c..0000000000 --- a/tests/test_constant_folding.py +++ /dev/null @@ -1,101 +0,0 @@ -from slither import Slither -from slither.visitors.expression.constants_folding import ConstantFolding - - -def test_constant_folding_unary(): - Slither("./tests/constant_folding_unary.sol") - - -def test_constant_folding_rational(): - s = Slither("./tests/constant_folding_rational.sol") - 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" - - variable_b = contract.get_state_variable_from_name("b") - assert str(variable_b.type) == "int128" - assert str(ConstantFolding(variable_b.expression, "int128").result()) == "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" - - variable_d = contract.get_state_variable_from_name("d") - assert str(variable_d.type) == "int256" - assert str(ConstantFolding(variable_d.expression, "int256").result()) == "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" - ) - - variable_f = contract.get_state_variable_from_name("f") - assert str(variable_f.type) == "uint256" - assert ( - str(ConstantFolding(variable_f.expression, "uint256").result()) - == "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" - - -def test_constant_folding_binary_expressions(): - sl = Slither("./tests/constant_folding_binop.sol") - 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" - - variable_b = contract.get_state_variable_from_name("b") - assert str(variable_b.type) == "uint256" - assert str(ConstantFolding(variable_b.expression, "uint256").result()) == "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" - - variable_d = contract.get_state_variable_from_name("d") - assert str(variable_d.type) == "bool" - assert str(ConstantFolding(variable_d.expression, "bool").result()) == "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" - - variable_f = contract.get_state_variable_from_name("f") - assert str(variable_f.type) == "bool" - assert str(ConstantFolding(variable_f.expression, "bool").result()) == "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" - - variable_h = contract.get_state_variable_from_name("h") - assert str(variable_h.type) == "bool" - assert str(ConstantFolding(variable_h.expression, "bool").result()) == "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" - - variable_j = contract.get_state_variable_from_name("j") - assert str(variable_j.type) == "bool" - assert str(ConstantFolding(variable_j.expression, "bool").result()) == "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" - - variable_l = contract.get_state_variable_from_name("l") - assert str(variable_l.type) == "uint256" - assert ( - str(ConstantFolding(variable_l.expression, "uint256").result()) - == "115792089237316195423570985008687907853269984665640564039457584007913129639935" - ) diff --git a/tests/test_cyclic_import/a.sol b/tests/test_cyclic_import/a.sol deleted file mode 100644 index e5491b9865..0000000000 --- a/tests/test_cyclic_import/a.sol +++ /dev/null @@ -1,5 +0,0 @@ -import "./b.sol"; - -contract A{ - -} diff --git a/tests/test_cyclic_import/b.sol b/tests/test_cyclic_import/b.sol deleted file mode 100644 index 7bc85011d9..0000000000 --- a/tests/test_cyclic_import/b.sol +++ /dev/null @@ -1,5 +0,0 @@ -import "./a.sol"; - -contract B{ - -} diff --git a/tests/test_features.py b/tests/test_features.py deleted file mode 100644 index 26f76f3cef..0000000000 --- a/tests/test_features.py +++ /dev/null @@ -1,225 +0,0 @@ -import inspect -import shutil -from pathlib import Path -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 -from slither.core.variables.state_variable import StateVariable -from slither.detectors import all_detectors -from slither.detectors.abstract_detector import AbstractDetector -from slither.slithir.operations import InternalCall, LibraryCall -from slither.utils.arithmetic import unchecked_arithemtic_usage - - -def _run_all_detectors(slither: Slither) -> None: - detectors = [getattr(all_detectors, name) for name in dir(all_detectors)] - detectors = [d for d in detectors if inspect.isclass(d) and issubclass(d, AbstractDetector)] - - for detector in detectors: - slither.register_detector(detector) - - slither.run_detectors() - - -hardhat_available = shutil.which("hardhat") is not None - - -@pytest.mark.skipif(not hardhat_available, reason="requires Hardhat and project setup") -def test_node() -> None: - # hardhat must have been installed in tests/test_node_modules - # For the CI its done through the github action config - - slither = Slither("./tests/test_node_modules") - _run_all_detectors(slither) - - -def test_collision() -> None: - solc_select.switch_global_version("0.8.0", always_install=True) - standard_json = SolcStandardJson() - standard_json.add_source_file("./tests/collisions/a.sol") - standard_json.add_source_file("./tests/collisions/b.sol") - - compilation = CryticCompile(standard_json) - slither = Slither(compilation) - - _run_all_detectors(slither) - - -def test_cycle() -> None: - solc_select.switch_global_version("0.8.0", always_install=True) - slither = Slither("./tests/test_cyclic_import/a.sol") - _run_all_detectors(slither) - - -def test_funcion_id_rec_structure() -> None: - solc_select.switch_global_version("0.8.0", always_install=True) - slither = Slither("./tests/function_ids/rec_struct-0.8.sol") - for compilation_unit in slither.compilation_units: - for function in compilation_unit.functions: - assert function.solidity_signature - - -def test_upgradeable_comments() -> None: - solc_select.switch_global_version("0.8.10", always_install=True) - slither = Slither("./tests/custom_comments/upgrade.sol") - compilation_unit = slither.compilation_units[0] - proxy = compilation_unit.get_contract_from_name("Proxy")[0] - - assert proxy.is_upgradeable_proxy - - v0 = compilation_unit.get_contract_from_name("V0")[0] - - assert v0.is_upgradeable - print(v0.upgradeable_version) - assert v0.upgradeable_version == "version-0" - - v1 = compilation_unit.get_contract_from_name("V1")[0] - assert v0.is_upgradeable - assert v1.upgradeable_version == "version_1" - - -def test_contract_comments() -> None: - comments = " @title Test Contract\n @dev Test comment" - - solc_select.switch_global_version("0.8.10", always_install=True) - slither = Slither("./tests/custom_comments/contract_comment.sol") - compilation_unit = slither.compilation_units[0] - contract = compilation_unit.get_contract_from_name("A")[0] - - assert contract.comments == comments - - # 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("./tests/custom_comments/contract_comment.sol") - compilation_unit = slither.compilation_units[0] - contract = compilation_unit.get_contract_from_name("A")[0] - - assert contract.comments == comments - - # 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("./tests/custom_comments/contract_comment.sol", solc_force_legacy_json=True) - compilation_unit = slither.compilation_units[0] - contract = compilation_unit.get_contract_from_name("A")[0] - - assert contract.comments == comments - - -def test_using_for_top_level_same_name() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/ast-parsing/using-for-3-0.8.0.sol") - 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(): - if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "a": - return - assert False - - -def test_using_for_top_level_implicit_conversion() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/ast-parsing/using-for-4-0.8.0.sol") - 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(): - if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "f": - return - assert False - - -def test_using_for_alias_top_level() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/ast-parsing/using-for-alias-top-level-0.8.0.sol") - contract_c = slither.get_contract_from_name("C")[0] - libCall = contract_c.get_function_from_full_name("libCall(uint256)") - ok = False - for ir in libCall.all_slithir_operations(): - if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "b": - ok = True - if not ok: - assert False - topLevelCall = contract_c.get_function_from_full_name("topLevel(uint256)") - for ir in topLevelCall.all_slithir_operations(): - if isinstance(ir, InternalCall) and ir.function_name == "a": - return - assert False - - -def test_using_for_alias_contract() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/ast-parsing/using-for-alias-contract-0.8.0.sol") - contract_c = slither.get_contract_from_name("C")[0] - libCall = contract_c.get_function_from_full_name("libCall(uint256)") - ok = False - for ir in libCall.all_slithir_operations(): - if isinstance(ir, LibraryCall) and ir.destination == "Lib" and ir.function_name == "b": - ok = True - if not ok: - assert False - topLevelCall = contract_c.get_function_from_full_name("topLevel(uint256)") - for ir in topLevelCall.all_slithir_operations(): - if isinstance(ir, InternalCall) and ir.function_name == "a": - return - assert False - - -def test_using_for_in_library() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/ast-parsing/using-for-in-library-0.8.0.sol") - 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(): - if isinstance(ir, LibraryCall) and ir.destination == "B" and ir.function_name == "b": - return - assert False - - -def test_private_variable() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/lookup/private_variable.sol") - contract_c = slither.get_contract_from_name("C")[0] - f = contract_c.functions[0] - var_read = f.variables_read[0] - assert isinstance(var_read, StateVariable) - assert str(var_read.contract) == "B" - - -def test_arithmetic_usage() -> None: - solc_select.switch_global_version("0.8.15", always_install=True) - slither = Slither("./tests/arithmetic_usage/test.sol") - - assert { - f.source_mapping.content_hash for f in unchecked_arithemtic_usage(slither.contracts[0]) - } == {"2b4bc73cf59d486dd9043e840b5028b679354dd9", "e4ecd4d0fda7e762d29aceb8425f2c5d4d0bf962"} - - -def test_using_for_global_collision() -> None: - solc_select.switch_global_version("0.8.18", always_install=True) - standard_json = SolcStandardJson() - for source_file in Path("./tests/using-for-global-collision").rglob("*.sol"): - standard_json.add_source_file(Path(source_file).as_posix()) - compilation = CryticCompile(standard_json) - sl = Slither(compilation) - _run_all_detectors(sl) - - -def test_abstract_contract() -> None: - solc_select.switch_global_version("0.8.0", always_install=True) - slither = Slither("./tests/function_features/abstract.sol") - assert not slither.contracts[0].is_fully_implemented - - solc_select.switch_global_version("0.5.0", always_install=True) - slither = Slither("./tests/function_features/implicit_abstract.sol") - assert not slither.contracts[0].is_fully_implemented - - slither = Slither( - "./tests/function_features/implicit_abstract.sol", solc_force_legacy_json=True - ) - assert not slither.contracts[0].is_fully_implemented diff --git a/tests/test_function.py b/tests/test_function.py deleted file mode 100644 index ef6775d649..0000000000 --- a/tests/test_function.py +++ /dev/null @@ -1,297 +0,0 @@ -""" -tests for `slither.core.declarations.Function`. -tests that `tests/test_function.sol` gets translated into correct -`slither.core.declarations.Function` objects or its subclasses -and that these objects behave correctly. -""" -from solc_select import solc_select - -from slither import Slither -from slither.core.declarations.function import FunctionType -from slither.core.solidity_types.elementary_type import ElementaryType - - -def test_functions(): - # pylint: disable=too-many-statements - solc_select.switch_global_version("0.6.12", always_install=True) - slither = Slither("tests/test_function.sol") - functions = slither.get_contract_from_name("TestFunction")[0].available_functions_as_dict() - - f = functions["external_payable(uint256)"] - assert f.name == "external_payable" - assert f.full_name == "external_payable(uint256)" - assert f.canonical_name == "TestFunction.external_payable(uint256)" - assert f.solidity_signature == "external_payable(uint256)" - assert f.signature_str == "external_payable(uint256) returns(uint256)" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is True - assert f.visibility == "external" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters[0].name == "_a" - assert f.parameters[0].type == ElementaryType("uint256") - assert f.return_type[0] == ElementaryType("uint256") - - f = functions["public_reenter()"] - assert f.name == "public_reenter" - assert f.full_name == "public_reenter()" - assert f.canonical_name == "TestFunction.public_reenter()" - assert f.solidity_signature == "public_reenter()" - assert f.signature_str == "public_reenter() returns()" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is True - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "public" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters == [] - assert f.return_type is None - - f = functions["public_payable_reenter_send(bool)"] - assert f.name == "public_payable_reenter_send" - assert f.full_name == "public_payable_reenter_send(bool)" - assert f.canonical_name == "TestFunction.public_payable_reenter_send(bool)" - assert f.solidity_signature == "public_payable_reenter_send(bool)" - assert f.signature_str == "public_payable_reenter_send(bool) returns()" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is True - assert f.can_send_eth() is True - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is True - assert f.visibility == "public" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters[0].name == "_b" - assert f.parameters[0].type == ElementaryType("bool") - assert f.return_type is None - - f = functions["external_send(uint8)"] - assert f.name == "external_send" - assert f.full_name == "external_send(uint8)" - assert f.canonical_name == "TestFunction.external_send(uint8)" - assert f.solidity_signature == "external_send(uint8)" - assert f.signature_str == "external_send(uint8) returns()" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is True - assert f.can_send_eth() is True - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "external" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters[0].name == "_c" - assert f.parameters[0].type == ElementaryType("uint8") - assert f.return_type is None - - f = functions["internal_assembly(bytes)"] - assert f.name == "internal_assembly" - assert f.full_name == "internal_assembly(bytes)" - assert f.canonical_name == "TestFunction.internal_assembly(bytes)" - assert f.solidity_signature == "internal_assembly(bytes)" - assert f.signature_str == "internal_assembly(bytes) returns(uint256)" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is True - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "internal" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters[0].name == "_d" - assert f.parameters[0].type == ElementaryType("bytes") - assert f.return_type[0] == ElementaryType("uint256") - - f = functions["fallback()"] - assert f.name == "fallback" - assert f.full_name == "fallback()" - assert f.canonical_name == "TestFunction.fallback()" - assert f.solidity_signature == "fallback()" - assert f.signature_str == "fallback() returns()" - assert f.function_type == FunctionType.FALLBACK - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is True - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "external" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is True - assert f.parameters == [] - assert f.return_type is None - - f = functions["receive()"] - assert f.name == "receive" - assert f.full_name == "receive()" - assert f.canonical_name == "TestFunction.receive()" - assert f.solidity_signature == "receive()" - assert f.signature_str == "receive() returns()" - assert f.function_type == FunctionType.RECEIVE - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is True - assert f.payable is True - assert f.visibility == "external" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is True - assert f.parameters == [] - assert f.return_type is None - - f = functions["constructor(address)"] - assert f.name == "constructor" - assert f.full_name == "constructor(address)" - assert f.canonical_name == "TestFunction.constructor(address)" - assert f.solidity_signature == "constructor(address)" - assert f.signature_str == "constructor(address) returns()" - assert f.function_type == FunctionType.CONSTRUCTOR - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is True - assert f.visibility == "public" - assert f.view is False - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is True - assert f.parameters[0].name == "_e" - assert f.parameters[0].type == ElementaryType("address") - assert f.return_type is None - - f = functions["private_view()"] - assert f.name == "private_view" - assert f.full_name == "private_view()" - assert f.canonical_name == "TestFunction.private_view()" - assert f.solidity_signature == "private_view()" - assert f.signature_str == "private_view() returns(bool)" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "private" - assert f.view is True - assert f.pure is False - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters == [] - assert f.return_type[0] == ElementaryType("bool") - - f = functions["public_pure()"] - assert f.name == "public_pure" - assert f.full_name == "public_pure()" - assert f.canonical_name == "TestFunction.public_pure()" - assert f.solidity_signature == "public_pure()" - assert f.signature_str == "public_pure() returns(bool)" - assert f.function_type == FunctionType.NORMAL - assert f.contains_assembly is False - assert f.can_reenter() is False - assert f.can_send_eth() is False - assert f.is_constructor is False - assert f.is_fallback is False - assert f.is_receive is False - assert f.payable is False - assert f.visibility == "public" - assert f.view is True - assert f.pure is True - assert f.is_implemented is True - assert f.is_empty is False - assert f.parameters == [] - assert f.return_type[0] == ElementaryType("bool") - - -def test_function_can_send_eth(): - solc_select.switch_global_version("0.6.12", always_install=True) - slither = Slither("tests/test_function.sol") - compilation_unit = slither.compilation_units[0] - functions = compilation_unit.get_contract_from_name("TestFunctionCanSendEth")[ - 0 - ].available_functions_as_dict() - - assert functions["send_direct()"].can_send_eth() is True - assert functions["transfer_direct()"].can_send_eth() is True - assert functions["call_direct()"].can_send_eth() is True - assert functions["highlevel_call_direct()"].can_send_eth() is True - - assert functions["send_via_internal()"].can_send_eth() is True - assert functions["transfer_via_internal()"].can_send_eth() is True - assert functions["call_via_internal()"].can_send_eth() is True - assert functions["highlevel_call_via_internal()"].can_send_eth() is True - - assert functions["send_via_external()"].can_send_eth() is False - assert functions["transfer_via_external()"].can_send_eth() is False - assert functions["call_via_external()"].can_send_eth() is False - 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) - slither = Slither("tests/test_function_reentrant.sol") - compilation_unit = slither.compilation_units[0] - functions = compilation_unit.get_contract_from_name("TestReentrant")[ - 0 - ].available_functions_as_dict() - - assert functions["is_reentrant()"].is_reentrant - assert not functions["is_non_reentrant()"].is_reentrant - assert not functions["internal_and_not_reentrant()"].is_reentrant - assert not functions["internal_and_not_reentrant2()"].is_reentrant - assert functions["internal_and_could_be_reentrant()"].is_reentrant - assert functions["internal_and_reentrant()"].is_reentrant - - -def test_public_variable() -> None: - solc_select.switch_global_version("0.6.12", always_install=True) - slither = Slither("tests/test_function.sol") - contracts = slither.get_contract_from_name("TestFunction") - assert len(contracts) == 1 - contract = contracts[0] - var = contract.get_state_variable_from_name("info") - assert var - assert var.solidity_signature == "info()" - assert var.signature_str == "info() returns(bytes32)" - assert var.visibility == "public" - assert var.type == ElementaryType("bytes32") diff --git a/tests/test_function.sol b/tests/test_function.sol deleted file mode 100644 index aca9fc93d8..0000000000 --- a/tests/test_function.sol +++ /dev/null @@ -1,130 +0,0 @@ -pragma solidity ^0.6.12; - -// solidity source used by tests/test_function.py. -// tests/test_function.py tests that the functions below get translated into correct -// `slither.core.declarations.Function` objects or its subclasses -// and that these objects behave correctly. - -contract TestFunction { - bool entered = false; - bytes32 public info; - - function external_payable(uint _a) external payable returns (uint) { - return 1; - } - - function public_reenter() public { - msg.sender.call(""); - } - - function public_payable_reenter_send(bool _b) public payable { - msg.sender.call{value: 1}(""); - } - - function external_send(uint8 _c) external { - require(!entered); - entered = true; - msg.sender.call{value: 1}(""); - } - - function internal_assembly(bytes calldata _d) internal returns (uint) { - uint256 chain; - assembly { - chain := chainid() - } - return chain; - } - - fallback() external { - - } - - receive() external payable { - - } - - constructor(address payable _e) public payable { - - } - - function private_view() private view returns (bool) { - return entered; - } - - function public_pure() public pure returns (bool) { - return true; - } -} - -contract TestFunctionCanSendEth { - - function send_direct() internal { - address(1).send(1); - } - - function transfer_direct() internal { - address(1).transfer(1); - } - - function call_direct() internal { - address(1).call{value: 1}(""); - } - - function highlevel_call_direct() internal { - TestFunctionCanSendEthOther(address(5)).i_am_payable{value: 1}(); - } - - function send_via_internal() public { - send_direct(); - } - - function transfer_via_internal() public { - transfer_direct(); - } - - function call_via_internal() public { - call_direct(); - } - - function highlevel_call_via_internal() public { - highlevel_call_direct(); - } - - function send_via_external() public { - TestFunctionCanSendEthOther(address(5)).send_direct(); - } - - function transfer_via_external() public { - TestFunctionCanSendEthOther(address(5)).transfer_direct(); - } - - function call_via_external() public { - TestFunctionCanSendEthOther(address(5)).call_direct(); - } - - function highlevel_call_via_external() public { - TestFunctionCanSendEthOther(address(5)).highlevel_call_direct(); - } -} - -contract TestFunctionCanSendEthOther { - function i_am_payable() external payable { - - } - - function send_direct() external { - address(1).send(1); - } - - function transfer_direct() external { - address(1).transfer(1); - } - - function call_direct() external { - address(1).call{value: 1}(""); - } - - function highlevel_call_direct() external { - TestFunctionCanSendEthOther(address(5)).i_am_payable{value: 1}(); - } -} diff --git a/tests/test_function_reentrant.sol b/tests/test_function_reentrant.sol deleted file mode 100644 index a1a8faa7b3..0000000000 --- a/tests/test_function_reentrant.sol +++ /dev/null @@ -1,36 +0,0 @@ -contract TestReentrant{ - - modifier nonReentrant(){ - _; - } - - function is_reentrant() public{ - internal_and_could_be_reentrant(); - internal_and_reentrant(); - } - - function is_non_reentrant() nonReentrant() public{ - internal_and_could_be_reentrant(); - internal_and_not_reentrant2(); - } - - function internal_and_not_reentrant() nonReentrant() internal{ - - } - - function internal_and_not_reentrant2() internal{ - - } - - // Called by a protected and unprotected function - function internal_and_could_be_reentrant() internal{ - - } - - // Called by a protected and unprotected function - function internal_and_reentrant() internal{ - - } - - -} \ No newline at end of file diff --git a/tests/test_functions_ids.py b/tests/test_functions_ids.py deleted file mode 100644 index eacbf49309..0000000000 --- a/tests/test_functions_ids.py +++ /dev/null @@ -1,60 +0,0 @@ -from solc_select import solc_select -from slither import Slither - -# % solc functions_ids.sol --hashes -# ======= functions_ids.sol:C ======= -# Function signatures: -# 0dbe671f: a() -# 4a1f689d: a_array(uint256) -# 98fc2aa5: arrayOfMappings(uint256,uint256) -# 4ea7a557: b_mapping_of_array(address,uint256) -# 3c0af344: contractMap(address) -# 20969954: function_with_array(((uint256,uint256),uint256)[],(uint256,(uint256,uint256))) -# 1c039831: function_with_struct(((uint256,uint256),uint256)) -# 37e66bae: mapping_of_double_array_of_struct(address,uint256,uint256) -# f29872a8: multiDimensionalArray(uint256,uint256) -# 9539e3c8: normalMappingArrayField(uint256,uint256) -# 87c3dbb6: outer() -# df201a46: simple() -# 5a20851f: stateMap(uint16) - -# {"contracts":{"functions_ids.sol:C":{"hashes":{"a()":"0dbe671f","a_array(uint256)":"4a1f689d","arrayOfMappings(uint256,uint256)":"98fc2aa5","b_mapping_of_array(address,uint256)":"4ea7a557","contractMap(address)":"3c0af344","function_with_array(((uint256,uint256),uint256)[],(uint256,(uint256,uint256)))":"20969954","function_with_struct(((uint256,uint256),uint256))":"1c039831","mapping_of_double_array_of_struct(address,uint256,uint256)":"37e66bae","multiDimensionalArray(uint256,uint256)":"f29872a8","normalMappingArrayField(uint256,uint256)":"9539e3c8","outer()":"87c3dbb6","simple()":"df201a46","stateMap(uint16)":"5a20851f"}},"functions_ids.sol:Contract":{"hashes":{}}},"version":"0.7.0+commit.9e61f92b.Darwin.appleclang"} -from slither.utils.function import get_function_id - -signatures = { - "a()": "0dbe671f", - "a_array(uint256)": "4a1f689d", - "arrayOfMappings(uint256,uint256)": "98fc2aa5", - "b_mapping_of_array(address,uint256)": "4ea7a557", - "contractMap(address)": "3c0af344", - "function_with_array(((uint256,uint256),uint256)[],(uint256,(uint256,uint256)))": "20969954", - "function_with_struct(((uint256,uint256),uint256))": "1c039831", - "mapping_of_double_array_of_struct(address,uint256,uint256)": "37e66bae", - "multiDimensionalArray(uint256,uint256)": "f29872a8", - "normalMappingArrayField(uint256,uint256)": "9539e3c8", - "outer()": "87c3dbb6", - "simple()": "df201a46", - "stateMap(uint16)": "5a20851f", -} - - -def test_functions_ids() -> None: - solc_select.switch_global_version("0.7.0", always_install=True) - sl = Slither("tests/printers/functions_ids.sol") - contracts_c = sl.get_contract_from_name("C") - assert len(contracts_c) == 1 - contract_c = contracts_c[0] - - for sig, hashes in signatures.items(): - func = contract_c.get_function_from_signature(sig) - if not func: - var_name = sig[: sig.find("(")] - var = contract_c.get_state_variable_from_name(var_name) - assert var - 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/test_node_modules/contracts/MyCoin.sol b/tests/test_node_modules/contracts/MyCoin.sol deleted file mode 100644 index ba1d183ef8..0000000000 --- a/tests/test_node_modules/contracts/MyCoin.sol +++ /dev/null @@ -1,8 +0,0 @@ -pragma solidity ^0.8.0; - -import "@openzeppelin/contracts/token/ERC721/ERC721.sol"; - -contract MyCoin is ERC721 { - constructor() ERC721("MyCoin", "MC") { - } -} diff --git a/tests/test_node_modules/hardhat.config.js b/tests/test_node_modules/hardhat.config.js deleted file mode 100644 index 54d19f5654..0000000000 --- a/tests/test_node_modules/hardhat.config.js +++ /dev/null @@ -1,6 +0,0 @@ -module.exports = { - solidity: { - version: "0.8.0" - }, -} - diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol deleted file mode 100644 index 5c54d33d38..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControl.sol +++ /dev/null @@ -1,223 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (access/AccessControl.sol) - -pragma solidity ^0.8.0; - -import "./IAccessControl.sol"; -import "../utils/Context.sol"; -import "../utils/Strings.sol"; -import "../utils/introspection/ERC165.sol"; - -/** - * @dev Contract module that allows children to implement role-based access - * control mechanisms. This is a lightweight version that doesn't allow enumerating role - * members except through off-chain means by accessing the contract event logs. Some - * applications may benefit from on-chain enumerability, for those cases see - * {AccessControlEnumerable}. - * - * Roles are referred to by their `bytes32` identifier. These should be exposed - * in the external API and be unique. The best way to achieve this is by - * using `public constant` hash digests: - * - * ``` - * bytes32 public constant MY_ROLE = keccak256("MY_ROLE"); - * ``` - * - * Roles can be used to represent a set of permissions. To restrict access to a - * function call, use {hasRole}: - * - * ``` - * function foo() public { - * require(hasRole(MY_ROLE, msg.sender)); - * ... - * } - * ``` - * - * Roles can be granted and revoked dynamically via the {grantRole} and - * {revokeRole} functions. Each role has an associated admin role, and only - * accounts that have a role's admin role can call {grantRole} and {revokeRole}. - * - * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means - * that only accounts with this role will be able to grant or revoke other - * roles. More complex role relationships can be created by using - * {_setRoleAdmin}. - * - * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to - * grant and revoke this role. Extra precautions should be taken to secure - * accounts that have been granted it. - */ -abstract contract AccessControl is Context, IAccessControl, ERC165 { - struct RoleData { - mapping(address => bool) members; - bytes32 adminRole; - } - - mapping(bytes32 => RoleData) private _roles; - - bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00; - - /** - * @dev Modifier that checks that an account has a specific role. Reverts - * with a standardized message including the required role. - * - * The format of the revert reason is given by the following regular expression: - * - * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/ - * - * _Available since v4.1._ - */ - modifier onlyRole(bytes32 role) { - _checkRole(role, _msgSender()); - _; - } - - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { - return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId); - } - - /** - * @dev Returns `true` if `account` has been granted `role`. - */ - function hasRole(bytes32 role, address account) public view override returns (bool) { - return _roles[role].members[account]; - } - - /** - * @dev Revert with a standard message if `account` is missing `role`. - * - * The format of the revert reason is given by the following regular expression: - * - * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/ - */ - function _checkRole(bytes32 role, address account) internal view { - if (!hasRole(role, account)) { - revert( - string( - abi.encodePacked( - "AccessControl: account ", - Strings.toHexString(uint160(account), 20), - " is missing role ", - Strings.toHexString(uint256(role), 32) - ) - ) - ); - } - } - - /** - * @dev Returns the admin role that controls `role`. See {grantRole} and - * {revokeRole}. - * - * To change a role's admin, use {_setRoleAdmin}. - */ - function getRoleAdmin(bytes32 role) public view override returns (bytes32) { - return _roles[role].adminRole; - } - - /** - * @dev Grants `role` to `account`. - * - * If `account` had not been already granted `role`, emits a {RoleGranted} - * event. - * - * Requirements: - * - * - the caller must have ``role``'s admin role. - */ - function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { - _grantRole(role, account); - } - - /** - * @dev Revokes `role` from `account`. - * - * If `account` had been granted `role`, emits a {RoleRevoked} event. - * - * Requirements: - * - * - the caller must have ``role``'s admin role. - */ - function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) { - _revokeRole(role, account); - } - - /** - * @dev Revokes `role` from the calling account. - * - * Roles are often managed via {grantRole} and {revokeRole}: this function's - * purpose is to provide a mechanism for accounts to lose their privileges - * if they are compromised (such as when a trusted device is misplaced). - * - * If the calling account had been revoked `role`, emits a {RoleRevoked} - * event. - * - * Requirements: - * - * - the caller must be `account`. - */ - function renounceRole(bytes32 role, address account) public virtual override { - require(account == _msgSender(), "AccessControl: can only renounce roles for self"); - - _revokeRole(role, account); - } - - /** - * @dev Grants `role` to `account`. - * - * If `account` had not been already granted `role`, emits a {RoleGranted} - * event. Note that unlike {grantRole}, this function doesn't perform any - * checks on the calling account. - * - * [WARNING] - * ==== - * This function should only be called from the constructor when setting - * up the initial roles for the system. - * - * Using this function in any other way is effectively circumventing the admin - * system imposed by {AccessControl}. - * ==== - * - * NOTE: This function is deprecated in favor of {_grantRole}. - */ - function _setupRole(bytes32 role, address account) internal virtual { - _grantRole(role, account); - } - - /** - * @dev Sets `adminRole` as ``role``'s admin role. - * - * Emits a {RoleAdminChanged} event. - */ - function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual { - bytes32 previousAdminRole = getRoleAdmin(role); - _roles[role].adminRole = adminRole; - emit RoleAdminChanged(role, previousAdminRole, adminRole); - } - - /** - * @dev Grants `role` to `account`. - * - * Internal function without access restriction. - */ - function _grantRole(bytes32 role, address account) internal virtual { - if (!hasRole(role, account)) { - _roles[role].members[account] = true; - emit RoleGranted(role, account, _msgSender()); - } - } - - /** - * @dev Revokes `role` from `account`. - * - * Internal function without access restriction. - */ - function _revokeRole(bytes32 role, address account) internal virtual { - if (hasRole(role, account)) { - _roles[role].members[account] = false; - emit RoleRevoked(role, account, _msgSender()); - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol deleted file mode 100644 index f6fba19527..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/AccessControlEnumerable.sol +++ /dev/null @@ -1,64 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (access/AccessControlEnumerable.sol) - -pragma solidity ^0.8.0; - -import "./IAccessControlEnumerable.sol"; -import "./AccessControl.sol"; -import "../utils/structs/EnumerableSet.sol"; - -/** - * @dev Extension of {AccessControl} that allows enumerating the members of each role. - */ -abstract contract AccessControlEnumerable is IAccessControlEnumerable, AccessControl { - using EnumerableSet for EnumerableSet.AddressSet; - - mapping(bytes32 => EnumerableSet.AddressSet) private _roleMembers; - - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { - return interfaceId == type(IAccessControlEnumerable).interfaceId || super.supportsInterface(interfaceId); - } - - /** - * @dev Returns one of the accounts that have `role`. `index` must be a - * value between 0 and {getRoleMemberCount}, non-inclusive. - * - * Role bearers are not sorted in any particular way, and their ordering may - * change at any point. - * - * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure - * you perform all queries on the same block. See the following - * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] - * for more information. - */ - function getRoleMember(bytes32 role, uint256 index) public view override returns (address) { - return _roleMembers[role].at(index); - } - - /** - * @dev Returns the number of accounts that have `role`. Can be used - * together with {getRoleMember} to enumerate all bearers of a role. - */ - function getRoleMemberCount(bytes32 role) public view override returns (uint256) { - return _roleMembers[role].length(); - } - - /** - * @dev Overload {_grantRole} to track enumerable memberships - */ - function _grantRole(bytes32 role, address account) internal virtual override { - super._grantRole(role, account); - _roleMembers[role].add(account); - } - - /** - * @dev Overload {_revokeRole} to track enumerable memberships - */ - function _revokeRole(bytes32 role, address account) internal virtual override { - super._revokeRole(role, account); - _roleMembers[role].remove(account); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol deleted file mode 100644 index cf09fe7918..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControl.sol +++ /dev/null @@ -1,88 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (access/IAccessControl.sol) - -pragma solidity ^0.8.0; - -/** - * @dev External interface of AccessControl declared to support ERC165 detection. - */ -interface IAccessControl { - /** - * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` - * - * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite - * {RoleAdminChanged} not being emitted signaling this. - * - * _Available since v3.1._ - */ - event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole); - - /** - * @dev Emitted when `account` is granted `role`. - * - * `sender` is the account that originated the contract call, an admin role - * bearer except when using {AccessControl-_setupRole}. - */ - event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender); - - /** - * @dev Emitted when `account` is revoked `role`. - * - * `sender` is the account that originated the contract call: - * - if using `revokeRole`, it is the admin role bearer - * - if using `renounceRole`, it is the role bearer (i.e. `account`) - */ - event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender); - - /** - * @dev Returns `true` if `account` has been granted `role`. - */ - function hasRole(bytes32 role, address account) external view returns (bool); - - /** - * @dev Returns the admin role that controls `role`. See {grantRole} and - * {revokeRole}. - * - * To change a role's admin, use {AccessControl-_setRoleAdmin}. - */ - function getRoleAdmin(bytes32 role) external view returns (bytes32); - - /** - * @dev Grants `role` to `account`. - * - * If `account` had not been already granted `role`, emits a {RoleGranted} - * event. - * - * Requirements: - * - * - the caller must have ``role``'s admin role. - */ - function grantRole(bytes32 role, address account) external; - - /** - * @dev Revokes `role` from `account`. - * - * If `account` had been granted `role`, emits a {RoleRevoked} event. - * - * Requirements: - * - * - the caller must have ``role``'s admin role. - */ - function revokeRole(bytes32 role, address account) external; - - /** - * @dev Revokes `role` from the calling account. - * - * Roles are often managed via {grantRole} and {revokeRole}: this function's - * purpose is to provide a mechanism for accounts to lose their privileges - * if they are compromised (such as when a trusted device is misplaced). - * - * If the calling account had been granted `role`, emits a {RoleRevoked} - * event. - * - * Requirements: - * - * - the caller must be `account`. - */ - function renounceRole(bytes32 role, address account) external; -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol deleted file mode 100644 index 985a691155..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/IAccessControlEnumerable.sol +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (access/IAccessControlEnumerable.sol) - -pragma solidity ^0.8.0; - -import "./IAccessControl.sol"; - -/** - * @dev External interface of AccessControlEnumerable declared to support ERC165 detection. - */ -interface IAccessControlEnumerable is IAccessControl { - /** - * @dev Returns one of the accounts that have `role`. `index` must be a - * value between 0 and {getRoleMemberCount}, non-inclusive. - * - * Role bearers are not sorted in any particular way, and their ordering may - * change at any point. - * - * WARNING: When using {getRoleMember} and {getRoleMemberCount}, make sure - * you perform all queries on the same block. See the following - * https://forum.openzeppelin.com/t/iterating-over-elements-on-enumerableset-in-openzeppelin-contracts/2296[forum post] - * for more information. - */ - function getRoleMember(bytes32 role, uint256 index) external view returns (address); - - /** - * @dev Returns the number of accounts that have `role`. Can be used - * together with {getRoleMember} to enumerate all bearers of a role. - */ - function getRoleMemberCount(bytes32 role) external view returns (uint256); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol deleted file mode 100644 index 04f3f14d59..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/access/Ownable.sol +++ /dev/null @@ -1,76 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol) - -pragma solidity ^0.8.0; - -import "../utils/Context.sol"; - -/** - * @dev Contract module which provides a basic access control mechanism, where - * there is an account (an owner) that can be granted exclusive access to - * specific functions. - * - * By default, the owner account will be the one that deploys the contract. This - * can later be changed with {transferOwnership}. - * - * This module is used through inheritance. It will make available the modifier - * `onlyOwner`, which can be applied to your functions to restrict their use to - * the owner. - */ -abstract contract Ownable is Context { - address private _owner; - - event OwnershipTransferred(address indexed previousOwner, address indexed newOwner); - - /** - * @dev Initializes the contract setting the deployer as the initial owner. - */ - constructor() { - _transferOwnership(_msgSender()); - } - - /** - * @dev Returns the address of the current owner. - */ - function owner() public view virtual returns (address) { - return _owner; - } - - /** - * @dev Throws if called by any account other than the owner. - */ - modifier onlyOwner() { - require(owner() == _msgSender(), "Ownable: caller is not the owner"); - _; - } - - /** - * @dev Leaves the contract without owner. It will not be possible to call - * `onlyOwner` functions anymore. Can only be called by the current owner. - * - * NOTE: Renouncing ownership will leave the contract without an owner, - * thereby removing any functionality that is only available to the owner. - */ - function renounceOwnership() public virtual onlyOwner { - _transferOwnership(address(0)); - } - - /** - * @dev Transfers ownership of the contract to a new account (`newOwner`). - * Can only be called by the current owner. - */ - function transferOwnership(address newOwner) public virtual onlyOwner { - require(newOwner != address(0), "Ownable: new owner is the zero address"); - _transferOwnership(newOwner); - } - - /** - * @dev Transfers ownership of the contract to a new account (`newOwner`). - * Internal function without access restriction. - */ - function _transferOwnership(address newOwner) internal virtual { - address oldOwner = _owner; - _owner = newOwner; - emit OwnershipTransferred(oldOwner, newOwner); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol deleted file mode 100644 index 43e28b268a..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/PaymentSplitter.sol +++ /dev/null @@ -1,189 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (finance/PaymentSplitter.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC20/utils/SafeERC20.sol"; -import "../utils/Address.sol"; -import "../utils/Context.sol"; - -/** - * @title PaymentSplitter - * @dev This contract allows to split Ether payments among a group of accounts. The sender does not need to be aware - * that the Ether will be split in this way, since it is handled transparently by the contract. - * - * The split can be in equal parts or in any other arbitrary proportion. The way this is specified is by assigning each - * account to a number of shares. Of all the Ether that this contract receives, each account will then be able to claim - * an amount proportional to the percentage of total shares they were assigned. - * - * `PaymentSplitter` follows a _pull payment_ model. This means that payments are not automatically forwarded to the - * accounts but kept in this contract, and the actual transfer is triggered as a separate step by calling the {release} - * function. - * - * NOTE: This contract assumes that ERC20 tokens will behave similarly to native tokens (Ether). Rebasing tokens, and - * tokens that apply fees during transfers, are likely to not be supported as expected. If in doubt, we encourage you - * to run tests before sending real value to this contract. - */ -contract PaymentSplitter is Context { - event PayeeAdded(address account, uint256 shares); - event PaymentReleased(address to, uint256 amount); - event ERC20PaymentReleased(IERC20 indexed token, address to, uint256 amount); - event PaymentReceived(address from, uint256 amount); - - uint256 private _totalShares; - uint256 private _totalReleased; - - mapping(address => uint256) private _shares; - mapping(address => uint256) private _released; - address[] private _payees; - - mapping(IERC20 => uint256) private _erc20TotalReleased; - mapping(IERC20 => mapping(address => uint256)) private _erc20Released; - - /** - * @dev Creates an instance of `PaymentSplitter` where each account in `payees` is assigned the number of shares at - * the matching position in the `shares` array. - * - * All addresses in `payees` must be non-zero. Both arrays must have the same non-zero length, and there must be no - * duplicates in `payees`. - */ - constructor(address[] memory payees, uint256[] memory shares_) payable { - require(payees.length == shares_.length, "PaymentSplitter: payees and shares length mismatch"); - require(payees.length > 0, "PaymentSplitter: no payees"); - - for (uint256 i = 0; i < payees.length; i++) { - _addPayee(payees[i], shares_[i]); - } - } - - /** - * @dev The Ether received will be logged with {PaymentReceived} events. Note that these events are not fully - * reliable: it's possible for a contract to receive Ether without triggering this function. This only affects the - * reliability of the events, and not the actual splitting of Ether. - * - * To learn more about this see the Solidity documentation for - * https://solidity.readthedocs.io/en/latest/contracts.html#fallback-function[fallback - * functions]. - */ - receive() external payable virtual { - emit PaymentReceived(_msgSender(), msg.value); - } - - /** - * @dev Getter for the total shares held by payees. - */ - function totalShares() public view returns (uint256) { - return _totalShares; - } - - /** - * @dev Getter for the total amount of Ether already released. - */ - function totalReleased() public view returns (uint256) { - return _totalReleased; - } - - /** - * @dev Getter for the total amount of `token` already released. `token` should be the address of an IERC20 - * contract. - */ - function totalReleased(IERC20 token) public view returns (uint256) { - return _erc20TotalReleased[token]; - } - - /** - * @dev Getter for the amount of shares held by an account. - */ - function shares(address account) public view returns (uint256) { - return _shares[account]; - } - - /** - * @dev Getter for the amount of Ether already released to a payee. - */ - function released(address account) public view returns (uint256) { - return _released[account]; - } - - /** - * @dev Getter for the amount of `token` tokens already released to a payee. `token` should be the address of an - * IERC20 contract. - */ - function released(IERC20 token, address account) public view returns (uint256) { - return _erc20Released[token][account]; - } - - /** - * @dev Getter for the address of the payee number `index`. - */ - function payee(uint256 index) public view returns (address) { - return _payees[index]; - } - - /** - * @dev Triggers a transfer to `account` of the amount of Ether they are owed, according to their percentage of the - * total shares and their previous withdrawals. - */ - function release(address payable account) public virtual { - require(_shares[account] > 0, "PaymentSplitter: account has no shares"); - - uint256 totalReceived = address(this).balance + totalReleased(); - uint256 payment = _pendingPayment(account, totalReceived, released(account)); - - require(payment != 0, "PaymentSplitter: account is not due payment"); - - _released[account] += payment; - _totalReleased += payment; - - Address.sendValue(account, payment); - emit PaymentReleased(account, payment); - } - - /** - * @dev Triggers a transfer to `account` of the amount of `token` tokens they are owed, according to their - * percentage of the total shares and their previous withdrawals. `token` must be the address of an IERC20 - * contract. - */ - function release(IERC20 token, address account) public virtual { - require(_shares[account] > 0, "PaymentSplitter: account has no shares"); - - uint256 totalReceived = token.balanceOf(address(this)) + totalReleased(token); - uint256 payment = _pendingPayment(account, totalReceived, released(token, account)); - - require(payment != 0, "PaymentSplitter: account is not due payment"); - - _erc20Released[token][account] += payment; - _erc20TotalReleased[token] += payment; - - SafeERC20.safeTransfer(token, account, payment); - emit ERC20PaymentReleased(token, account, payment); - } - - /** - * @dev internal logic for computing the pending payment of an `account` given the token historical balances and - * already released amounts. - */ - function _pendingPayment( - address account, - uint256 totalReceived, - uint256 alreadyReleased - ) private view returns (uint256) { - return (totalReceived * _shares[account]) / _totalShares - alreadyReleased; - } - - /** - * @dev Add a new payee to the contract. - * @param account The address of the payee to add. - * @param shares_ The number of shares owned by the payee. - */ - function _addPayee(address account, uint256 shares_) private { - require(account != address(0), "PaymentSplitter: account is the zero address"); - require(shares_ > 0, "PaymentSplitter: shares are 0"); - require(_shares[account] == 0, "PaymentSplitter: account already has shares"); - - _payees.push(account); - _shares[account] = shares_; - _totalShares = _totalShares + shares_; - emit PayeeAdded(account, shares_); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol deleted file mode 100644 index 304f813f2e..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/finance/VestingWallet.sol +++ /dev/null @@ -1,135 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (finance/VestingWallet.sol) -pragma solidity ^0.8.0; - -import "../token/ERC20/utils/SafeERC20.sol"; -import "../utils/Address.sol"; -import "../utils/Context.sol"; -import "../utils/math/Math.sol"; - -/** - * @title VestingWallet - * @dev This contract handles the vesting of Eth and ERC20 tokens for a given beneficiary. Custody of multiple tokens - * can be given to this contract, which will release the token to the beneficiary following a given vesting schedule. - * The vesting schedule is customizable through the {vestedAmount} function. - * - * Any token transferred to this contract will follow the vesting schedule as if they were locked from the beginning. - * Consequently, if the vesting has already started, any amount of tokens sent to this contract will (at least partly) - * be immediately releasable. - */ -contract VestingWallet is Context { - event EtherReleased(uint256 amount); - event ERC20Released(address indexed token, uint256 amount); - - uint256 private _released; - mapping(address => uint256) private _erc20Released; - address private immutable _beneficiary; - uint64 private immutable _start; - uint64 private immutable _duration; - - /** - * @dev Set the beneficiary, start timestamp and vesting duration of the vesting wallet. - */ - constructor( - address beneficiaryAddress, - uint64 startTimestamp, - uint64 durationSeconds - ) { - require(beneficiaryAddress != address(0), "VestingWallet: beneficiary is zero address"); - _beneficiary = beneficiaryAddress; - _start = startTimestamp; - _duration = durationSeconds; - } - - /** - * @dev The contract should be able to receive Eth. - */ - receive() external payable virtual {} - - /** - * @dev Getter for the beneficiary address. - */ - function beneficiary() public view virtual returns (address) { - return _beneficiary; - } - - /** - * @dev Getter for the start timestamp. - */ - function start() public view virtual returns (uint256) { - return _start; - } - - /** - * @dev Getter for the vesting duration. - */ - function duration() public view virtual returns (uint256) { - return _duration; - } - - /** - * @dev Amount of eth already released - */ - function released() public view virtual returns (uint256) { - return _released; - } - - /** - * @dev Amount of token already released - */ - function released(address token) public view virtual returns (uint256) { - return _erc20Released[token]; - } - - /** - * @dev Release the native token (ether) that have already vested. - * - * Emits a {TokensReleased} event. - */ - function release() public virtual { - uint256 releasable = vestedAmount(uint64(block.timestamp)) - released(); - _released += releasable; - emit EtherReleased(releasable); - Address.sendValue(payable(beneficiary()), releasable); - } - - /** - * @dev Release the tokens that have already vested. - * - * Emits a {TokensReleased} event. - */ - function release(address token) public virtual { - uint256 releasable = vestedAmount(token, uint64(block.timestamp)) - released(token); - _erc20Released[token] += releasable; - emit ERC20Released(token, releasable); - SafeERC20.safeTransfer(IERC20(token), beneficiary(), releasable); - } - - /** - * @dev Calculates the amount of ether that has already vested. Default implementation is a linear vesting curve. - */ - function vestedAmount(uint64 timestamp) public view virtual returns (uint256) { - return _vestingSchedule(address(this).balance + released(), timestamp); - } - - /** - * @dev Calculates the amount of tokens that has already vested. Default implementation is a linear vesting curve. - */ - function vestedAmount(address token, uint64 timestamp) public view virtual returns (uint256) { - return _vestingSchedule(IERC20(token).balanceOf(address(this)) + released(token), timestamp); - } - - /** - * @dev Virtual implementation of the vesting formula. This returns the amout vested, as a function of time, for - * an asset given its total historical allocation. - */ - function _vestingSchedule(uint256 totalAllocation, uint64 timestamp) internal view virtual returns (uint256) { - if (timestamp < start()) { - return 0; - } else if (timestamp > start() + duration()) { - return totalAllocation; - } else { - return (totalAllocation * (timestamp - start())) / duration(); - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol deleted file mode 100644 index 235b76891e..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/Governor.sol +++ /dev/null @@ -1,357 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/Governor.sol) - -pragma solidity ^0.8.0; - -import "../utils/cryptography/ECDSA.sol"; -import "../utils/cryptography/draft-EIP712.sol"; -import "../utils/introspection/ERC165.sol"; -import "../utils/math/SafeCast.sol"; -import "../utils/Address.sol"; -import "../utils/Context.sol"; -import "../utils/Timers.sol"; -import "./IGovernor.sol"; - -/** - * @dev Core of the governance system, designed to be extended though various modules. - * - * This contract is abstract and requires several function to be implemented in various modules: - * - * - A counting module must implement {quorum}, {_quorumReached}, {_voteSucceeded} and {_countVote} - * - A voting module must implement {getVotes} - * - Additionanly, the {votingPeriod} must also be implemented - * - * _Available since v4.3._ - */ -abstract contract Governor is Context, ERC165, EIP712, IGovernor { - using SafeCast for uint256; - using Timers for Timers.BlockNumber; - - bytes32 public constant BALLOT_TYPEHASH = keccak256("Ballot(uint256 proposalId,uint8 support)"); - - struct ProposalCore { - Timers.BlockNumber voteStart; - Timers.BlockNumber voteEnd; - bool executed; - bool canceled; - } - - string private _name; - - mapping(uint256 => ProposalCore) private _proposals; - - /** - * @dev Restrict access to governor executing address. Some module might override the _executor function to make - * sure this modifier is consistant with the execution model. - */ - modifier onlyGovernance() { - require(_msgSender() == _executor(), "Governor: onlyGovernance"); - _; - } - - /** - * @dev Sets the value for {name} and {version} - */ - constructor(string memory name_) EIP712(name_, version()) { - _name = name_; - } - - /** - * @dev Function to receive ETH that will be handled by the governor (disabled if executor is a third party contract) - */ - receive() external payable virtual { - require(_executor() == address(this)); - } - - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC165) returns (bool) { - return interfaceId == type(IGovernor).interfaceId || super.supportsInterface(interfaceId); - } - - /** - * @dev See {IGovernor-name}. - */ - function name() public view virtual override returns (string memory) { - return _name; - } - - /** - * @dev See {IGovernor-version}. - */ - function version() public view virtual override returns (string memory) { - return "1"; - } - - /** - * @dev See {IGovernor-hashProposal}. - * - * The proposal id is produced by hashing the RLC encoded `targets` array, the `values` array, the `calldatas` array - * and the descriptionHash (bytes32 which itself is the keccak256 hash of the description string). This proposal id - * can be produced from the proposal data which is part of the {ProposalCreated} event. It can even be computed in - * advance, before the proposal is submitted. - * - * Note that the chainId and the governor address are not part of the proposal id computation. Consequently, the - * same proposal (with same operation and same description) will have the same id if submitted on multiple governors - * accross multiple networks. This also means that in order to execute the same operation twice (on the same - * governor) the proposer will have to change the description in order to avoid proposal id conflicts. - */ - function hashProposal( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) public pure virtual override returns (uint256) { - return uint256(keccak256(abi.encode(targets, values, calldatas, descriptionHash))); - } - - /** - * @dev See {IGovernor-state}. - */ - function state(uint256 proposalId) public view virtual override returns (ProposalState) { - ProposalCore memory proposal = _proposals[proposalId]; - - if (proposal.executed) { - return ProposalState.Executed; - } else if (proposal.canceled) { - return ProposalState.Canceled; - } else if (proposal.voteStart.getDeadline() >= block.number) { - return ProposalState.Pending; - } else if (proposal.voteEnd.getDeadline() >= block.number) { - return ProposalState.Active; - } else if (proposal.voteEnd.isExpired()) { - return - _quorumReached(proposalId) && _voteSucceeded(proposalId) - ? ProposalState.Succeeded - : ProposalState.Defeated; - } else { - revert("Governor: unknown proposal id"); - } - } - - /** - * @dev See {IGovernor-proposalSnapshot}. - */ - function proposalSnapshot(uint256 proposalId) public view virtual override returns (uint256) { - return _proposals[proposalId].voteStart.getDeadline(); - } - - /** - * @dev See {IGovernor-proposalDeadline}. - */ - function proposalDeadline(uint256 proposalId) public view virtual override returns (uint256) { - return _proposals[proposalId].voteEnd.getDeadline(); - } - - /** - * @dev Part of the Governor Bravo's interface: _"The number of votes required in order for a voter to become a proposer"_. - */ - function proposalThreshold() public view virtual returns (uint256) { - return 0; - } - - /** - * @dev Amount of votes already cast passes the threshold limit. - */ - function _quorumReached(uint256 proposalId) internal view virtual returns (bool); - - /** - * @dev Is the proposal successful or not. - */ - function _voteSucceeded(uint256 proposalId) internal view virtual returns (bool); - - /** - * @dev Register a vote with a given support and voting weight. - * - * Note: Support is generic and can represent various things depending on the voting system used. - */ - function _countVote( - uint256 proposalId, - address account, - uint8 support, - uint256 weight - ) internal virtual; - - /** - * @dev See {IGovernor-propose}. - */ - function propose( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - string memory description - ) public virtual override returns (uint256) { - require( - getVotes(msg.sender, block.number - 1) >= proposalThreshold(), - "GovernorCompatibilityBravo: proposer votes below proposal threshold" - ); - - uint256 proposalId = hashProposal(targets, values, calldatas, keccak256(bytes(description))); - - require(targets.length == values.length, "Governor: invalid proposal length"); - require(targets.length == calldatas.length, "Governor: invalid proposal length"); - require(targets.length > 0, "Governor: empty proposal"); - - ProposalCore storage proposal = _proposals[proposalId]; - require(proposal.voteStart.isUnset(), "Governor: proposal already exists"); - - uint64 snapshot = block.number.toUint64() + votingDelay().toUint64(); - uint64 deadline = snapshot + votingPeriod().toUint64(); - - proposal.voteStart.setDeadline(snapshot); - proposal.voteEnd.setDeadline(deadline); - - emit ProposalCreated( - proposalId, - _msgSender(), - targets, - values, - new string[](targets.length), - calldatas, - snapshot, - deadline, - description - ); - - return proposalId; - } - - /** - * @dev See {IGovernor-execute}. - */ - function execute( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) public payable virtual override returns (uint256) { - uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash); - - ProposalState status = state(proposalId); - require( - status == ProposalState.Succeeded || status == ProposalState.Queued, - "Governor: proposal not successful" - ); - _proposals[proposalId].executed = true; - - emit ProposalExecuted(proposalId); - - _execute(proposalId, targets, values, calldatas, descriptionHash); - - return proposalId; - } - - /** - * @dev Internal execution mechanism. Can be overriden to implement different execution mechanism - */ - function _execute( - uint256, /* proposalId */ - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 /*descriptionHash*/ - ) internal virtual { - string memory errorMessage = "Governor: call reverted without message"; - for (uint256 i = 0; i < targets.length; ++i) { - (bool success, bytes memory returndata) = targets[i].call{value: values[i]}(calldatas[i]); - Address.verifyCallResult(success, returndata, errorMessage); - } - } - - /** - * @dev Internal cancel mechanism: locks up the proposal timer, preventing it from being re-submitted. Marks it as - * canceled to allow distinguishing it from executed proposals. - * - * Emits a {IGovernor-ProposalCanceled} event. - */ - function _cancel( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) internal virtual returns (uint256) { - uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash); - ProposalState status = state(proposalId); - - require( - status != ProposalState.Canceled && status != ProposalState.Expired && status != ProposalState.Executed, - "Governor: proposal not active" - ); - _proposals[proposalId].canceled = true; - - emit ProposalCanceled(proposalId); - - return proposalId; - } - - /** - * @dev See {IGovernor-castVote}. - */ - function castVote(uint256 proposalId, uint8 support) public virtual override returns (uint256) { - address voter = _msgSender(); - return _castVote(proposalId, voter, support, ""); - } - - /** - * @dev See {IGovernor-castVoteWithReason}. - */ - function castVoteWithReason( - uint256 proposalId, - uint8 support, - string calldata reason - ) public virtual override returns (uint256) { - address voter = _msgSender(); - return _castVote(proposalId, voter, support, reason); - } - - /** - * @dev See {IGovernor-castVoteBySig}. - */ - function castVoteBySig( - uint256 proposalId, - uint8 support, - uint8 v, - bytes32 r, - bytes32 s - ) public virtual override returns (uint256) { - address voter = ECDSA.recover( - _hashTypedDataV4(keccak256(abi.encode(BALLOT_TYPEHASH, proposalId, support))), - v, - r, - s - ); - return _castVote(proposalId, voter, support, ""); - } - - /** - * @dev Internal vote casting mechanism: Check that the vote is pending, that it has not been cast yet, retrieve - * voting weight using {IGovernor-getVotes} and call the {_countVote} internal function. - * - * Emits a {IGovernor-VoteCast} event. - */ - function _castVote( - uint256 proposalId, - address account, - uint8 support, - string memory reason - ) internal virtual returns (uint256) { - ProposalCore storage proposal = _proposals[proposalId]; - require(state(proposalId) == ProposalState.Active, "Governor: vote not currently active"); - - uint256 weight = getVotes(account, proposal.voteStart.getDeadline()); - _countVote(proposalId, account, support, weight); - - emit VoteCast(account, proposalId, support, weight, reason); - - return weight; - } - - /** - * @dev Address through which the governor executes action. Will be overloaded by module that execute actions - * through another contract such as a timelock. - */ - function _executor() internal view virtual returns (address) { - return address(this); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol deleted file mode 100644 index 50d9d9952d..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/IGovernor.sol +++ /dev/null @@ -1,218 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/IGovernor.sol) - -pragma solidity ^0.8.0; - -import "../utils/introspection/ERC165.sol"; - -/** - * @dev Interface of the {Governor} core. - * - * _Available since v4.3._ - */ -abstract contract IGovernor is IERC165 { - enum ProposalState { - Pending, - Active, - Canceled, - Defeated, - Succeeded, - Queued, - Expired, - Executed - } - - /** - * @dev Emitted when a proposal is created. - */ - event ProposalCreated( - uint256 proposalId, - address proposer, - address[] targets, - uint256[] values, - string[] signatures, - bytes[] calldatas, - uint256 startBlock, - uint256 endBlock, - string description - ); - - /** - * @dev Emitted when a proposal is canceled. - */ - event ProposalCanceled(uint256 proposalId); - - /** - * @dev Emitted when a proposal is executed. - */ - event ProposalExecuted(uint256 proposalId); - - /** - * @dev Emitted when a vote is cast. - * - * Note: `support` values should be seen as buckets. There interpretation depends on the voting module used. - */ - event VoteCast(address indexed voter, uint256 proposalId, uint8 support, uint256 weight, string reason); - - /** - * @notice module:core - * @dev Name of the governor instance (used in building the ERC712 domain separator). - */ - function name() public view virtual returns (string memory); - - /** - * @notice module:core - * @dev Version of the governor instance (used in building the ERC712 domain separator). Default: "1" - */ - function version() public view virtual returns (string memory); - - /** - * @notice module:voting - * @dev A description of the possible `support` values for {castVote} and the way these votes are counted, meant to - * be consumed by UIs to show correct vote options and interpret the results. The string is a URL-encoded sequence of - * key-value pairs that each describe one aspect, for example `support=bravo&quorum=for,abstain`. - * - * There are 2 standard keys: `support` and `quorum`. - * - * - `support=bravo` refers to the vote options 0 = Against, 1 = For, 2 = Abstain, as in `GovernorBravo`. - * - `quorum=bravo` means that only For votes are counted towards quorum. - * - `quorum=for,abstain` means that both For and Abstain votes are counted towards quorum. - * - * NOTE: The string can be decoded by the standard - * https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams[`URLSearchParams`] - * JavaScript class. - */ - // solhint-disable-next-line func-name-mixedcase - function COUNTING_MODE() public pure virtual returns (string memory); - - /** - * @notice module:core - * @dev Hashing function used to (re)build the proposal id from the proposal details.. - */ - function hashProposal( - address[] calldata targets, - uint256[] calldata values, - bytes[] calldata calldatas, - bytes32 descriptionHash - ) public pure virtual returns (uint256); - - /** - * @notice module:core - * @dev Current state of a proposal, following Compound's convention - */ - function state(uint256 proposalId) public view virtual returns (ProposalState); - - /** - * @notice module:core - * @dev Block number used to retrieve user's votes and quorum. As per Compound's Comp and OpenZeppelin's - * ERC20Votes, the snapshot is performed at the end of this block. Hence, voting for this proposal starts at the - * beginning of the following block. - */ - function proposalSnapshot(uint256 proposalId) public view virtual returns (uint256); - - /** - * @notice module:core - * @dev Block number at which votes close. Votes close at the end of this block, so it is possible to cast a vote - * during this block. - */ - function proposalDeadline(uint256 proposalId) public view virtual returns (uint256); - - /** - * @notice module:user-config - * @dev Delay, in number of block, between the proposal is created and the vote starts. This can be increassed to - * leave time for users to buy voting power, of delegate it, before the voting of a proposal starts. - */ - function votingDelay() public view virtual returns (uint256); - - /** - * @notice module:user-config - * @dev Delay, in number of blocks, between the vote start and vote ends. - * - * NOTE: The {votingDelay} can delay the start of the vote. This must be considered when setting the voting - * duration compared to the voting delay. - */ - function votingPeriod() public view virtual returns (uint256); - - /** - * @notice module:user-config - * @dev Minimum number of cast voted required for a proposal to be successful. - * - * Note: The `blockNumber` parameter corresponds to the snaphot used for counting vote. This allows to scale the - * quroum depending on values such as the totalSupply of a token at this block (see {ERC20Votes}). - */ - function quorum(uint256 blockNumber) public view virtual returns (uint256); - - /** - * @notice module:reputation - * @dev Voting power of an `account` at a specific `blockNumber`. - * - * Note: this can be implemented in a number of ways, for example by reading the delegated balance from one (or - * multiple), {ERC20Votes} tokens. - */ - function getVotes(address account, uint256 blockNumber) public view virtual returns (uint256); - - /** - * @notice module:voting - * @dev Returns weither `account` has cast a vote on `proposalId`. - */ - function hasVoted(uint256 proposalId, address account) public view virtual returns (bool); - - /** - * @dev Create a new proposal. Vote start {IGovernor-votingDelay} blocks after the proposal is created and ends - * {IGovernor-votingPeriod} blocks after the voting starts. - * - * Emits a {ProposalCreated} event. - */ - function propose( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - string memory description - ) public virtual returns (uint256 proposalId); - - /** - * @dev Execute a successful proposal. This requires the quorum to be reached, the vote to be successful, and the - * deadline to be reached. - * - * Emits a {ProposalExecuted} event. - * - * Note: some module can modify the requirements for execution, for example by adding an additional timelock. - */ - function execute( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) public payable virtual returns (uint256 proposalId); - - /** - * @dev Cast a vote - * - * Emits a {VoteCast} event. - */ - function castVote(uint256 proposalId, uint8 support) public virtual returns (uint256 balance); - - /** - * @dev Cast a with a reason - * - * Emits a {VoteCast} event. - */ - function castVoteWithReason( - uint256 proposalId, - uint8 support, - string calldata reason - ) public virtual returns (uint256 balance); - - /** - * @dev Cast a vote using the user cryptographic signature. - * - * Emits a {VoteCast} event. - */ - function castVoteBySig( - uint256 proposalId, - uint8 support, - uint8 v, - bytes32 r, - bytes32 s - ) public virtual returns (uint256 balance); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol deleted file mode 100644 index b20ac9538a..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/TimelockController.sol +++ /dev/null @@ -1,353 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/TimelockController.sol) - -pragma solidity ^0.8.0; - -import "../access/AccessControl.sol"; - -/** - * @dev Contract module which acts as a timelocked controller. When set as the - * owner of an `Ownable` smart contract, it enforces a timelock on all - * `onlyOwner` maintenance operations. This gives time for users of the - * controlled contract to exit before a potentially dangerous maintenance - * operation is applied. - * - * By default, this contract is self administered, meaning administration tasks - * have to go through the timelock process. The proposer (resp executor) role - * is in charge of proposing (resp executing) operations. A common use case is - * to position this {TimelockController} as the owner of a smart contract, with - * a multisig or a DAO as the sole proposer. - * - * _Available since v3.3._ - */ -contract TimelockController is AccessControl { - bytes32 public constant TIMELOCK_ADMIN_ROLE = keccak256("TIMELOCK_ADMIN_ROLE"); - bytes32 public constant PROPOSER_ROLE = keccak256("PROPOSER_ROLE"); - bytes32 public constant EXECUTOR_ROLE = keccak256("EXECUTOR_ROLE"); - uint256 internal constant _DONE_TIMESTAMP = uint256(1); - - mapping(bytes32 => uint256) private _timestamps; - uint256 private _minDelay; - - /** - * @dev Emitted when a call is scheduled as part of operation `id`. - */ - event CallScheduled( - bytes32 indexed id, - uint256 indexed index, - address target, - uint256 value, - bytes data, - bytes32 predecessor, - uint256 delay - ); - - /** - * @dev Emitted when a call is performed as part of operation `id`. - */ - event CallExecuted(bytes32 indexed id, uint256 indexed index, address target, uint256 value, bytes data); - - /** - * @dev Emitted when operation `id` is cancelled. - */ - event Cancelled(bytes32 indexed id); - - /** - * @dev Emitted when the minimum delay for future operations is modified. - */ - event MinDelayChange(uint256 oldDuration, uint256 newDuration); - - /** - * @dev Initializes the contract with a given `minDelay`. - */ - constructor( - uint256 minDelay, - address[] memory proposers, - address[] memory executors - ) { - _setRoleAdmin(TIMELOCK_ADMIN_ROLE, TIMELOCK_ADMIN_ROLE); - _setRoleAdmin(PROPOSER_ROLE, TIMELOCK_ADMIN_ROLE); - _setRoleAdmin(EXECUTOR_ROLE, TIMELOCK_ADMIN_ROLE); - - // deployer + self administration - _setupRole(TIMELOCK_ADMIN_ROLE, _msgSender()); - _setupRole(TIMELOCK_ADMIN_ROLE, address(this)); - - // register proposers - for (uint256 i = 0; i < proposers.length; ++i) { - _setupRole(PROPOSER_ROLE, proposers[i]); - } - - // register executors - for (uint256 i = 0; i < executors.length; ++i) { - _setupRole(EXECUTOR_ROLE, executors[i]); - } - - _minDelay = minDelay; - emit MinDelayChange(0, minDelay); - } - - /** - * @dev Modifier to make a function callable only by a certain role. In - * addition to checking the sender's role, `address(0)` 's role is also - * considered. Granting a role to `address(0)` is equivalent to enabling - * this role for everyone. - */ - modifier onlyRoleOrOpenRole(bytes32 role) { - if (!hasRole(role, address(0))) { - _checkRole(role, _msgSender()); - } - _; - } - - /** - * @dev Contract might receive/hold ETH as part of the maintenance process. - */ - receive() external payable {} - - /** - * @dev Returns whether an id correspond to a registered operation. This - * includes both Pending, Ready and Done operations. - */ - function isOperation(bytes32 id) public view virtual returns (bool pending) { - return getTimestamp(id) > 0; - } - - /** - * @dev Returns whether an operation is pending or not. - */ - function isOperationPending(bytes32 id) public view virtual returns (bool pending) { - return getTimestamp(id) > _DONE_TIMESTAMP; - } - - /** - * @dev Returns whether an operation is ready or not. - */ - function isOperationReady(bytes32 id) public view virtual returns (bool ready) { - uint256 timestamp = getTimestamp(id); - return timestamp > _DONE_TIMESTAMP && timestamp <= block.timestamp; - } - - /** - * @dev Returns whether an operation is done or not. - */ - function isOperationDone(bytes32 id) public view virtual returns (bool done) { - return getTimestamp(id) == _DONE_TIMESTAMP; - } - - /** - * @dev Returns the timestamp at with an operation becomes ready (0 for - * unset operations, 1 for done operations). - */ - function getTimestamp(bytes32 id) public view virtual returns (uint256 timestamp) { - return _timestamps[id]; - } - - /** - * @dev Returns the minimum delay for an operation to become valid. - * - * This value can be changed by executing an operation that calls `updateDelay`. - */ - function getMinDelay() public view virtual returns (uint256 duration) { - return _minDelay; - } - - /** - * @dev Returns the identifier of an operation containing a single - * transaction. - */ - function hashOperation( - address target, - uint256 value, - bytes calldata data, - bytes32 predecessor, - bytes32 salt - ) public pure virtual returns (bytes32 hash) { - return keccak256(abi.encode(target, value, data, predecessor, salt)); - } - - /** - * @dev Returns the identifier of an operation containing a batch of - * transactions. - */ - function hashOperationBatch( - address[] calldata targets, - uint256[] calldata values, - bytes[] calldata datas, - bytes32 predecessor, - bytes32 salt - ) public pure virtual returns (bytes32 hash) { - return keccak256(abi.encode(targets, values, datas, predecessor, salt)); - } - - /** - * @dev Schedule an operation containing a single transaction. - * - * Emits a {CallScheduled} event. - * - * Requirements: - * - * - the caller must have the 'proposer' role. - */ - function schedule( - address target, - uint256 value, - bytes calldata data, - bytes32 predecessor, - bytes32 salt, - uint256 delay - ) public virtual onlyRole(PROPOSER_ROLE) { - bytes32 id = hashOperation(target, value, data, predecessor, salt); - _schedule(id, delay); - emit CallScheduled(id, 0, target, value, data, predecessor, delay); - } - - /** - * @dev Schedule an operation containing a batch of transactions. - * - * Emits one {CallScheduled} event per transaction in the batch. - * - * Requirements: - * - * - the caller must have the 'proposer' role. - */ - function scheduleBatch( - address[] calldata targets, - uint256[] calldata values, - bytes[] calldata datas, - bytes32 predecessor, - bytes32 salt, - uint256 delay - ) public virtual onlyRole(PROPOSER_ROLE) { - require(targets.length == values.length, "TimelockController: length mismatch"); - require(targets.length == datas.length, "TimelockController: length mismatch"); - - bytes32 id = hashOperationBatch(targets, values, datas, predecessor, salt); - _schedule(id, delay); - for (uint256 i = 0; i < targets.length; ++i) { - emit CallScheduled(id, i, targets[i], values[i], datas[i], predecessor, delay); - } - } - - /** - * @dev Schedule an operation that is to becomes valid after a given delay. - */ - function _schedule(bytes32 id, uint256 delay) private { - require(!isOperation(id), "TimelockController: operation already scheduled"); - require(delay >= getMinDelay(), "TimelockController: insufficient delay"); - _timestamps[id] = block.timestamp + delay; - } - - /** - * @dev Cancel an operation. - * - * Requirements: - * - * - the caller must have the 'proposer' role. - */ - function cancel(bytes32 id) public virtual onlyRole(PROPOSER_ROLE) { - require(isOperationPending(id), "TimelockController: operation cannot be cancelled"); - delete _timestamps[id]; - - emit Cancelled(id); - } - - /** - * @dev Execute an (ready) operation containing a single transaction. - * - * Emits a {CallExecuted} event. - * - * Requirements: - * - * - the caller must have the 'executor' role. - */ - function execute( - address target, - uint256 value, - bytes calldata data, - bytes32 predecessor, - bytes32 salt - ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) { - bytes32 id = hashOperation(target, value, data, predecessor, salt); - _beforeCall(id, predecessor); - _call(id, 0, target, value, data); - _afterCall(id); - } - - /** - * @dev Execute an (ready) operation containing a batch of transactions. - * - * Emits one {CallExecuted} event per transaction in the batch. - * - * Requirements: - * - * - the caller must have the 'executor' role. - */ - function executeBatch( - address[] calldata targets, - uint256[] calldata values, - bytes[] calldata datas, - bytes32 predecessor, - bytes32 salt - ) public payable virtual onlyRoleOrOpenRole(EXECUTOR_ROLE) { - require(targets.length == values.length, "TimelockController: length mismatch"); - require(targets.length == datas.length, "TimelockController: length mismatch"); - - bytes32 id = hashOperationBatch(targets, values, datas, predecessor, salt); - _beforeCall(id, predecessor); - for (uint256 i = 0; i < targets.length; ++i) { - _call(id, i, targets[i], values[i], datas[i]); - } - _afterCall(id); - } - - /** - * @dev Checks before execution of an operation's calls. - */ - function _beforeCall(bytes32 id, bytes32 predecessor) private view { - require(isOperationReady(id), "TimelockController: operation is not ready"); - require(predecessor == bytes32(0) || isOperationDone(predecessor), "TimelockController: missing dependency"); - } - - /** - * @dev Checks after execution of an operation's calls. - */ - function _afterCall(bytes32 id) private { - require(isOperationReady(id), "TimelockController: operation is not ready"); - _timestamps[id] = _DONE_TIMESTAMP; - } - - /** - * @dev Execute an operation's call. - * - * Emits a {CallExecuted} event. - */ - function _call( - bytes32 id, - uint256 index, - address target, - uint256 value, - bytes calldata data - ) private { - (bool success, ) = target.call{value: value}(data); - require(success, "TimelockController: underlying transaction reverted"); - - emit CallExecuted(id, index, target, value, data); - } - - /** - * @dev Changes the minimum timelock duration for future operations. - * - * Emits a {MinDelayChange} event. - * - * Requirements: - * - * - the caller must be the timelock itself. This can only be achieved by scheduling and later executing - * an operation where the timelock is the target and the data is the ABI-encoded call to this function. - */ - function updateDelay(uint256 newDelay) external virtual { - require(msg.sender == address(this), "TimelockController: caller must be timelock"); - emit MinDelayChange(_minDelay, newDelay); - _minDelay = newDelay; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol deleted file mode 100644 index 5c64187279..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/GovernorCompatibilityBravo.sol +++ /dev/null @@ -1,288 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/compatibility/GovernorCompatibilityBravo.sol) - -pragma solidity ^0.8.0; - -import "../../utils/Counters.sol"; -import "../../utils/math/SafeCast.sol"; -import "../extensions/IGovernorTimelock.sol"; -import "../Governor.sol"; -import "./IGovernorCompatibilityBravo.sol"; - -/** - * @dev Compatibility layer that implements GovernorBravo compatibility on to of {Governor}. - * - * This compatibility layer includes a voting system and requires a {IGovernorTimelock} compatible module to be added - * through inheritance. It does not include token bindings, not does it include any variable upgrade patterns. - * - * NOTE: When using this module, you may need to enable the Solidity optimizer to avoid hitting the contract size limit. - * - * _Available since v4.3._ - */ -abstract contract GovernorCompatibilityBravo is IGovernorTimelock, IGovernorCompatibilityBravo, Governor { - using Counters for Counters.Counter; - using Timers for Timers.BlockNumber; - - enum VoteType { - Against, - For, - Abstain - } - - struct ProposalDetails { - address proposer; - address[] targets; - uint256[] values; - string[] signatures; - bytes[] calldatas; - uint256 forVotes; - uint256 againstVotes; - uint256 abstainVotes; - mapping(address => Receipt) receipts; - bytes32 descriptionHash; - } - - mapping(uint256 => ProposalDetails) private _proposalDetails; - - // solhint-disable-next-line func-name-mixedcase - function COUNTING_MODE() public pure virtual override returns (string memory) { - return "support=bravo&quorum=bravo"; - } - - // ============================================== Proposal lifecycle ============================================== - /** - * @dev See {IGovernor-propose}. - */ - function propose( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - string memory description - ) public virtual override(IGovernor, Governor) returns (uint256) { - _storeProposal(_msgSender(), targets, values, new string[](calldatas.length), calldatas, description); - return super.propose(targets, values, calldatas, description); - } - - /** - * @dev See {IGovernorCompatibilityBravo-propose}. - */ - function propose( - address[] memory targets, - uint256[] memory values, - string[] memory signatures, - bytes[] memory calldatas, - string memory description - ) public virtual override returns (uint256) { - _storeProposal(_msgSender(), targets, values, signatures, calldatas, description); - return propose(targets, values, _encodeCalldata(signatures, calldatas), description); - } - - /** - * @dev See {IGovernorCompatibilityBravo-queue}. - */ - function queue(uint256 proposalId) public virtual override { - ProposalDetails storage details = _proposalDetails[proposalId]; - queue( - details.targets, - details.values, - _encodeCalldata(details.signatures, details.calldatas), - details.descriptionHash - ); - } - - /** - * @dev See {IGovernorCompatibilityBravo-execute}. - */ - function execute(uint256 proposalId) public payable virtual override { - ProposalDetails storage details = _proposalDetails[proposalId]; - execute( - details.targets, - details.values, - _encodeCalldata(details.signatures, details.calldatas), - details.descriptionHash - ); - } - - function cancel(uint256 proposalId) public virtual override { - ProposalDetails storage details = _proposalDetails[proposalId]; - - require( - _msgSender() == details.proposer || getVotes(details.proposer, block.number - 1) < proposalThreshold(), - "GovernorBravo: proposer above threshold" - ); - - _cancel( - details.targets, - details.values, - _encodeCalldata(details.signatures, details.calldatas), - details.descriptionHash - ); - } - - /** - * @dev Encodes calldatas with optional function signature. - */ - function _encodeCalldata(string[] memory signatures, bytes[] memory calldatas) - private - pure - returns (bytes[] memory) - { - bytes[] memory fullcalldatas = new bytes[](calldatas.length); - - for (uint256 i = 0; i < signatures.length; ++i) { - fullcalldatas[i] = bytes(signatures[i]).length == 0 - ? calldatas[i] - : abi.encodeWithSignature(signatures[i], calldatas[i]); - } - - return fullcalldatas; - } - - /** - * @dev Store proposal metadata for later lookup - */ - function _storeProposal( - address proposer, - address[] memory targets, - uint256[] memory values, - string[] memory signatures, - bytes[] memory calldatas, - string memory description - ) private { - bytes32 descriptionHash = keccak256(bytes(description)); - uint256 proposalId = hashProposal(targets, values, _encodeCalldata(signatures, calldatas), descriptionHash); - - ProposalDetails storage details = _proposalDetails[proposalId]; - if (details.descriptionHash == bytes32(0)) { - details.proposer = proposer; - details.targets = targets; - details.values = values; - details.signatures = signatures; - details.calldatas = calldatas; - details.descriptionHash = descriptionHash; - } - } - - // ==================================================== Views ===================================================== - /** - * @dev See {IGovernorCompatibilityBravo-proposals}. - */ - function proposals(uint256 proposalId) - public - view - virtual - override - returns ( - uint256 id, - address proposer, - uint256 eta, - uint256 startBlock, - uint256 endBlock, - uint256 forVotes, - uint256 againstVotes, - uint256 abstainVotes, - bool canceled, - bool executed - ) - { - id = proposalId; - eta = proposalEta(proposalId); - startBlock = proposalSnapshot(proposalId); - endBlock = proposalDeadline(proposalId); - - ProposalDetails storage details = _proposalDetails[proposalId]; - proposer = details.proposer; - forVotes = details.forVotes; - againstVotes = details.againstVotes; - abstainVotes = details.abstainVotes; - - ProposalState status = state(proposalId); - canceled = status == ProposalState.Canceled; - executed = status == ProposalState.Executed; - } - - /** - * @dev See {IGovernorCompatibilityBravo-getActions}. - */ - function getActions(uint256 proposalId) - public - view - virtual - override - returns ( - address[] memory targets, - uint256[] memory values, - string[] memory signatures, - bytes[] memory calldatas - ) - { - ProposalDetails storage details = _proposalDetails[proposalId]; - return (details.targets, details.values, details.signatures, details.calldatas); - } - - /** - * @dev See {IGovernorCompatibilityBravo-getReceipt}. - */ - function getReceipt(uint256 proposalId, address voter) public view virtual override returns (Receipt memory) { - return _proposalDetails[proposalId].receipts[voter]; - } - - /** - * @dev See {IGovernorCompatibilityBravo-quorumVotes}. - */ - function quorumVotes() public view virtual override returns (uint256) { - return quorum(block.number - 1); - } - - // ==================================================== Voting ==================================================== - /** - * @dev See {IGovernor-hasVoted}. - */ - function hasVoted(uint256 proposalId, address account) public view virtual override returns (bool) { - return _proposalDetails[proposalId].receipts[account].hasVoted; - } - - /** - * @dev See {Governor-_quorumReached}. In this module, only forVotes count toward the quorum. - */ - function _quorumReached(uint256 proposalId) internal view virtual override returns (bool) { - ProposalDetails storage details = _proposalDetails[proposalId]; - return quorum(proposalSnapshot(proposalId)) <= details.forVotes; - } - - /** - * @dev See {Governor-_voteSucceeded}. In this module, the forVotes must be scritly over the againstVotes. - */ - function _voteSucceeded(uint256 proposalId) internal view virtual override returns (bool) { - ProposalDetails storage details = _proposalDetails[proposalId]; - return details.forVotes > details.againstVotes; - } - - /** - * @dev See {Governor-_countVote}. In this module, the support follows Governor Bravo. - */ - function _countVote( - uint256 proposalId, - address account, - uint8 support, - uint256 weight - ) internal virtual override { - ProposalDetails storage details = _proposalDetails[proposalId]; - Receipt storage receipt = details.receipts[account]; - - require(!receipt.hasVoted, "GovernorCompatibilityBravo: vote already cast"); - receipt.hasVoted = true; - receipt.support = support; - receipt.votes = SafeCast.toUint96(weight); - - if (support == uint8(VoteType.Against)) { - details.againstVotes += weight; - } else if (support == uint8(VoteType.For)) { - details.forVotes += weight; - } else if (support == uint8(VoteType.Abstain)) { - details.abstainVotes += weight; - } else { - revert("GovernorCompatibilityBravo: invalid vote type"); - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol deleted file mode 100644 index 591bc3f785..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/compatibility/IGovernorCompatibilityBravo.sol +++ /dev/null @@ -1,114 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/compatibility/IGovernorCompatibilityBravo.sol) - -pragma solidity ^0.8.0; - -import "../IGovernor.sol"; - -/** - * @dev Interface extension that adds missing functions to the {Governor} core to provide `GovernorBravo` compatibility. - * - * _Available since v4.3._ - */ -abstract contract IGovernorCompatibilityBravo is IGovernor { - /** - * @dev Proposal structure from Compound Governor Bravo. Not actually used by the compatibility layer, as - * {{proposal}} returns a very different structure. - */ - struct Proposal { - uint256 id; - address proposer; - uint256 eta; - address[] targets; - uint256[] values; - string[] signatures; - bytes[] calldatas; - uint256 startBlock; - uint256 endBlock; - uint256 forVotes; - uint256 againstVotes; - uint256 abstainVotes; - bool canceled; - bool executed; - mapping(address => Receipt) receipts; - } - - /** - * @dev Receipt structure from Compound Governor Bravo - */ - struct Receipt { - bool hasVoted; - uint8 support; - uint96 votes; - } - - /** - * @dev Part of the Governor Bravo's interface. - */ - function quorumVotes() public view virtual returns (uint256); - - /** - * @dev Part of the Governor Bravo's interface: _"The official record of all proposals ever proposed"_. - */ - function proposals(uint256) - public - view - virtual - returns ( - uint256 id, - address proposer, - uint256 eta, - uint256 startBlock, - uint256 endBlock, - uint256 forVotes, - uint256 againstVotes, - uint256 abstainVotes, - bool canceled, - bool executed - ); - - /** - * @dev Part of the Governor Bravo's interface: _"Function used to propose a new proposal"_. - */ - function propose( - address[] memory targets, - uint256[] memory values, - string[] memory signatures, - bytes[] memory calldatas, - string memory description - ) public virtual returns (uint256); - - /** - * @dev Part of the Governor Bravo's interface: _"Queues a proposal of state succeeded"_. - */ - function queue(uint256 proposalId) public virtual; - - /** - * @dev Part of the Governor Bravo's interface: _"Executes a queued proposal if eta has passed"_. - */ - function execute(uint256 proposalId) public payable virtual; - - /** - * @dev Cancels a proposal only if sender is the proposer, or proposer delegates dropped below proposal threshold. - */ - function cancel(uint256 proposalId) public virtual; - - /** - * @dev Part of the Governor Bravo's interface: _"Gets actions of a proposal"_. - */ - function getActions(uint256 proposalId) - public - view - virtual - returns ( - address[] memory targets, - uint256[] memory values, - string[] memory signatures, - bytes[] memory calldatas - ); - - /** - * @dev Part of the Governor Bravo's interface: _"Gets the receipt for a voter on a given proposal"_. - */ - function getReceipt(uint256 proposalId, address voter) public view virtual returns (Receipt memory); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol deleted file mode 100644 index 68fa2e3111..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorCountingSimple.sol +++ /dev/null @@ -1,106 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorCountingSimple.sol) - -pragma solidity ^0.8.0; - -import "../Governor.sol"; - -/** - * @dev Extension of {Governor} for simple, 3 options, vote counting. - * - * _Available since v4.3._ - */ -abstract contract GovernorCountingSimple is Governor { - /** - * @dev Supported vote types. Matches Governor Bravo ordering. - */ - enum VoteType { - Against, - For, - Abstain - } - - struct ProposalVote { - uint256 againstVotes; - uint256 forVotes; - uint256 abstainVotes; - mapping(address => bool) hasVoted; - } - - mapping(uint256 => ProposalVote) private _proposalVotes; - - /** - * @dev See {IGovernor-COUNTING_MODE}. - */ - // solhint-disable-next-line func-name-mixedcase - function COUNTING_MODE() public pure virtual override returns (string memory) { - return "support=bravo&quorum=for,abstain"; - } - - /** - * @dev See {IGovernor-hasVoted}. - */ - function hasVoted(uint256 proposalId, address account) public view virtual override returns (bool) { - return _proposalVotes[proposalId].hasVoted[account]; - } - - /** - * @dev Accessor to the internal vote counts. - */ - function proposalVotes(uint256 proposalId) - public - view - virtual - returns ( - uint256 againstVotes, - uint256 forVotes, - uint256 abstainVotes - ) - { - ProposalVote storage proposalvote = _proposalVotes[proposalId]; - return (proposalvote.againstVotes, proposalvote.forVotes, proposalvote.abstainVotes); - } - - /** - * @dev See {Governor-_quorumReached}. - */ - function _quorumReached(uint256 proposalId) internal view virtual override returns (bool) { - ProposalVote storage proposalvote = _proposalVotes[proposalId]; - - return quorum(proposalSnapshot(proposalId)) <= proposalvote.forVotes + proposalvote.abstainVotes; - } - - /** - * @dev See {Governor-_voteSucceeded}. In this module, the forVotes must be strictly over the againstVotes. - */ - function _voteSucceeded(uint256 proposalId) internal view virtual override returns (bool) { - ProposalVote storage proposalvote = _proposalVotes[proposalId]; - - return proposalvote.forVotes > proposalvote.againstVotes; - } - - /** - * @dev See {Governor-_countVote}. In this module, the support follows the `VoteType` enum (from Governor Bravo). - */ - function _countVote( - uint256 proposalId, - address account, - uint8 support, - uint256 weight - ) internal virtual override { - ProposalVote storage proposalvote = _proposalVotes[proposalId]; - - require(!proposalvote.hasVoted[account], "GovernorVotingSimple: vote already cast"); - proposalvote.hasVoted[account] = true; - - if (support == uint8(VoteType.Against)) { - proposalvote.againstVotes += weight; - } else if (support == uint8(VoteType.For)) { - proposalvote.forVotes += weight; - } else if (support == uint8(VoteType.Abstain)) { - proposalvote.abstainVotes += weight; - } else { - revert("GovernorVotingSimple: invalid value for enum VoteType"); - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol deleted file mode 100644 index fae4c625b5..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol +++ /dev/null @@ -1,23 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorProposalThreshold.sol) - -pragma solidity ^0.8.0; - -import "../Governor.sol"; - -/** - * @dev Extension of {Governor} for proposal restriction to token holders with a minimum balance. - * - * _Available since v4.3._ - * _Deprecated since v4.4._ - */ -abstract contract GovernorProposalThreshold is Governor { - function propose( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - string memory description - ) public virtual override returns (uint256) { - return super.propose(targets, values, calldatas, description); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol deleted file mode 100644 index 41152d486c..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorSettings.sol +++ /dev/null @@ -1,114 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorSettings.sol) - -pragma solidity ^0.8.0; - -import "../Governor.sol"; - -/** - * @dev Extension of {Governor} for settings updatable through governance. - * - * _Available since v4.4._ - */ -abstract contract GovernorSettings is Governor { - uint256 private _votingDelay; - uint256 private _votingPeriod; - uint256 private _proposalThreshold; - - event VotingDelaySet(uint256 oldVotingDelay, uint256 newVotingDelay); - event VotingPeriodSet(uint256 oldVotingPeriod, uint256 newVotingPeriod); - event ProposalThresholdSet(uint256 oldProposalThreshold, uint256 newProposalThreshold); - - /** - * @dev Initialize the governance parameters. - */ - constructor( - uint256 initialVotingDelay, - uint256 initialVotingPeriod, - uint256 initialProposalThreshold - ) { - _setVotingDelay(initialVotingDelay); - _setVotingPeriod(initialVotingPeriod); - _setProposalThreshold(initialProposalThreshold); - } - - /** - * @dev See {IGovernor-votingDelay}. - */ - function votingDelay() public view virtual override returns (uint256) { - return _votingDelay; - } - - /** - * @dev See {IGovernor-votingPeriod}. - */ - function votingPeriod() public view virtual override returns (uint256) { - return _votingPeriod; - } - - /** - * @dev See {Governor-proposalThreshold}. - */ - function proposalThreshold() public view virtual override returns (uint256) { - return _proposalThreshold; - } - - /** - * @dev Update the voting delay. This operation can only be performed through a governance proposal. - * - * Emits a {VotingDelaySet} event. - */ - function setVotingDelay(uint256 newVotingDelay) public virtual onlyGovernance { - _setVotingDelay(newVotingDelay); - } - - /** - * @dev Update the voting period. This operation can only be performed through a governance proposal. - * - * Emits a {VotingPeriodSet} event. - */ - function setVotingPeriod(uint256 newVotingPeriod) public virtual onlyGovernance { - _setVotingPeriod(newVotingPeriod); - } - - /** - * @dev Update the proposal threshold. This operation can only be performed through a governance proposal. - * - * Emits a {ProposalThresholdSet} event. - */ - function setProposalThreshold(uint256 newProposalThreshold) public virtual onlyGovernance { - _setProposalThreshold(newProposalThreshold); - } - - /** - * @dev Internal setter for the voting delay. - * - * Emits a {VotingDelaySet} event. - */ - function _setVotingDelay(uint256 newVotingDelay) internal virtual { - emit VotingDelaySet(_votingDelay, newVotingDelay); - _votingDelay = newVotingDelay; - } - - /** - * @dev Internal setter for the voting period. - * - * Emits a {VotingPeriodSet} event. - */ - function _setVotingPeriod(uint256 newVotingPeriod) internal virtual { - // voting period must be at least one block long - require(newVotingPeriod > 0, "GovernorSettings: voting period too low"); - emit VotingPeriodSet(_votingPeriod, newVotingPeriod); - _votingPeriod = newVotingPeriod; - } - - /** - * @dev Internal setter for the proposal threshold. - * - * Emits a {ProposalThresholdSet} event. - */ - function _setProposalThreshold(uint256 newProposalThreshold) internal virtual { - emit ProposalThresholdSet(_proposalThreshold, newProposalThreshold); - _proposalThreshold = newProposalThreshold; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol deleted file mode 100644 index fa5ccb2c7e..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockCompound.sol +++ /dev/null @@ -1,244 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorTimelockCompound.sol) - -pragma solidity ^0.8.0; - -import "./IGovernorTimelock.sol"; -import "../Governor.sol"; -import "../../utils/math/SafeCast.sol"; - -/** - * https://github.com/compound-finance/compound-protocol/blob/master/contracts/Timelock.sol[Compound's timelock] interface - */ -interface ICompoundTimelock { - receive() external payable; - - // solhint-disable-next-line func-name-mixedcase - function GRACE_PERIOD() external view returns (uint256); - - // solhint-disable-next-line func-name-mixedcase - function MINIMUM_DELAY() external view returns (uint256); - - // solhint-disable-next-line func-name-mixedcase - function MAXIMUM_DELAY() external view returns (uint256); - - function admin() external view returns (address); - - function pendingAdmin() external view returns (address); - - function delay() external view returns (uint256); - - function queuedTransactions(bytes32) external view returns (bool); - - function setDelay(uint256) external; - - function acceptAdmin() external; - - function setPendingAdmin(address) external; - - function queueTransaction( - address target, - uint256 value, - string memory signature, - bytes memory data, - uint256 eta - ) external returns (bytes32); - - function cancelTransaction( - address target, - uint256 value, - string memory signature, - bytes memory data, - uint256 eta - ) external; - - function executeTransaction( - address target, - uint256 value, - string memory signature, - bytes memory data, - uint256 eta - ) external payable returns (bytes memory); -} - -/** - * @dev Extension of {Governor} that binds the execution process to a Compound Timelock. This adds a delay, enforced by - * the external timelock to all successful proposal (in addition to the voting duration). The {Governor} needs to be - * the admin of the timelock for any operation to be performed. A public, unrestricted, - * {GovernorTimelockCompound-__acceptAdmin} is available to accept ownership of the timelock. - * - * Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus, - * the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be - * inaccessible. - * - * _Available since v4.3._ - */ -abstract contract GovernorTimelockCompound is IGovernorTimelock, Governor { - using SafeCast for uint256; - using Timers for Timers.Timestamp; - - struct ProposalTimelock { - Timers.Timestamp timer; - } - - ICompoundTimelock private _timelock; - - mapping(uint256 => ProposalTimelock) private _proposalTimelocks; - - /** - * @dev Emitted when the timelock controller used for proposal execution is modified. - */ - event TimelockChange(address oldTimelock, address newTimelock); - - /** - * @dev Set the timelock. - */ - constructor(ICompoundTimelock timelockAddress) { - _updateTimelock(timelockAddress); - } - - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, Governor) returns (bool) { - return interfaceId == type(IGovernorTimelock).interfaceId || super.supportsInterface(interfaceId); - } - - /** - * @dev Overriden version of the {Governor-state} function with added support for the `Queued` and `Expired` status. - */ - function state(uint256 proposalId) public view virtual override(IGovernor, Governor) returns (ProposalState) { - ProposalState status = super.state(proposalId); - - if (status != ProposalState.Succeeded) { - return status; - } - - uint256 eta = proposalEta(proposalId); - if (eta == 0) { - return status; - } else if (block.timestamp >= eta + _timelock.GRACE_PERIOD()) { - return ProposalState.Expired; - } else { - return ProposalState.Queued; - } - } - - /** - * @dev Public accessor to check the address of the timelock - */ - function timelock() public view virtual override returns (address) { - return address(_timelock); - } - - /** - * @dev Public accessor to check the eta of a queued proposal - */ - function proposalEta(uint256 proposalId) public view virtual override returns (uint256) { - return _proposalTimelocks[proposalId].timer.getDeadline(); - } - - /** - * @dev Function to queue a proposal to the timelock. - */ - function queue( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) public virtual override returns (uint256) { - uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash); - - require(state(proposalId) == ProposalState.Succeeded, "Governor: proposal not successful"); - - uint256 eta = block.timestamp + _timelock.delay(); - _proposalTimelocks[proposalId].timer.setDeadline(eta.toUint64()); - for (uint256 i = 0; i < targets.length; ++i) { - require( - !_timelock.queuedTransactions(keccak256(abi.encode(targets[i], values[i], "", calldatas[i], eta))), - "GovernorTimelockCompound: identical proposal action already queued" - ); - _timelock.queueTransaction(targets[i], values[i], "", calldatas[i], eta); - } - - emit ProposalQueued(proposalId, eta); - - return proposalId; - } - - /** - * @dev Overriden execute function that run the already queued proposal through the timelock. - */ - function _execute( - uint256 proposalId, - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 /*descriptionHash*/ - ) internal virtual override { - uint256 eta = proposalEta(proposalId); - require(eta > 0, "GovernorTimelockCompound: proposal not yet queued"); - Address.sendValue(payable(_timelock), msg.value); - for (uint256 i = 0; i < targets.length; ++i) { - _timelock.executeTransaction(targets[i], values[i], "", calldatas[i], eta); - } - } - - /** - * @dev Overriden version of the {Governor-_cancel} function to cancel the timelocked proposal if it as already - * been queued. - */ - function _cancel( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) internal virtual override returns (uint256) { - uint256 proposalId = super._cancel(targets, values, calldatas, descriptionHash); - - uint256 eta = proposalEta(proposalId); - if (eta > 0) { - for (uint256 i = 0; i < targets.length; ++i) { - _timelock.cancelTransaction(targets[i], values[i], "", calldatas[i], eta); - } - _proposalTimelocks[proposalId].timer.reset(); - } - - return proposalId; - } - - /** - * @dev Address through which the governor executes action. In this case, the timelock. - */ - function _executor() internal view virtual override returns (address) { - return address(_timelock); - } - - /** - * @dev Accept admin right over the timelock. - */ - // solhint-disable-next-line private-vars-leading-underscore - function __acceptAdmin() public { - _timelock.acceptAdmin(); - } - - /** - * @dev Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates - * must be proposed, scheduled and executed using the {Governor} workflow. - * - * For security reason, the timelock must be handed over to another admin before setting up a new one. The two - * operations (hand over the timelock) and do the update can be batched in a single proposal. - * - * Note that if the timelock admin has been handed over in a previous operation, we refuse updates made through the - * timelock if admin of the timelock has already been accepted and the operation is executed outside the scope of - * governance. - */ - function updateTimelock(ICompoundTimelock newTimelock) external virtual onlyGovernance { - _updateTimelock(newTimelock); - } - - function _updateTimelock(ICompoundTimelock newTimelock) private { - emit TimelockChange(address(_timelock), address(newTimelock)); - _timelock = newTimelock; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol deleted file mode 100644 index 37303b4abf..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorTimelockControl.sol +++ /dev/null @@ -1,154 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorTimelockControl.sol) - -pragma solidity ^0.8.0; - -import "./IGovernorTimelock.sol"; -import "../Governor.sol"; -import "../TimelockController.sol"; - -/** - * @dev Extension of {Governor} that binds the execution process to an instance of {TimelockController}. This adds a - * delay, enforced by the {TimelockController} to all successful proposal (in addition to the voting duration). The - * {Governor} needs the proposer (an ideally the executor) roles for the {Governor} to work properly. - * - * Using this model means the proposal will be operated by the {TimelockController} and not by the {Governor}. Thus, - * the assets and permissions must be attached to the {TimelockController}. Any asset sent to the {Governor} will be - * inaccessible. - * - * _Available since v4.3._ - */ -abstract contract GovernorTimelockControl is IGovernorTimelock, Governor { - TimelockController private _timelock; - mapping(uint256 => bytes32) private _timelockIds; - - /** - * @dev Emitted when the timelock controller used for proposal execution is modified. - */ - event TimelockChange(address oldTimelock, address newTimelock); - - /** - * @dev Set the timelock. - */ - constructor(TimelockController timelockAddress) { - _updateTimelock(timelockAddress); - } - - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, Governor) returns (bool) { - return interfaceId == type(IGovernorTimelock).interfaceId || super.supportsInterface(interfaceId); - } - - /** - * @dev Overriden version of the {Governor-state} function with added support for the `Queued` status. - */ - function state(uint256 proposalId) public view virtual override(IGovernor, Governor) returns (ProposalState) { - ProposalState status = super.state(proposalId); - - if (status != ProposalState.Succeeded) { - return status; - } - - // core tracks execution, so we just have to check if successful proposal have been queued. - bytes32 queueid = _timelockIds[proposalId]; - if (queueid == bytes32(0)) { - return status; - } else if (_timelock.isOperationDone(queueid)) { - return ProposalState.Executed; - } else { - return ProposalState.Queued; - } - } - - /** - * @dev Public accessor to check the address of the timelock - */ - function timelock() public view virtual override returns (address) { - return address(_timelock); - } - - /** - * @dev Public accessor to check the eta of a queued proposal - */ - function proposalEta(uint256 proposalId) public view virtual override returns (uint256) { - uint256 eta = _timelock.getTimestamp(_timelockIds[proposalId]); - return eta == 1 ? 0 : eta; // _DONE_TIMESTAMP (1) should be replaced with a 0 value - } - - /** - * @dev Function to queue a proposal to the timelock. - */ - function queue( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) public virtual override returns (uint256) { - uint256 proposalId = hashProposal(targets, values, calldatas, descriptionHash); - - require(state(proposalId) == ProposalState.Succeeded, "Governor: proposal not successful"); - - uint256 delay = _timelock.getMinDelay(); - _timelockIds[proposalId] = _timelock.hashOperationBatch(targets, values, calldatas, 0, descriptionHash); - _timelock.scheduleBatch(targets, values, calldatas, 0, descriptionHash, delay); - - emit ProposalQueued(proposalId, block.timestamp + delay); - - return proposalId; - } - - /** - * @dev Overriden execute function that run the already queued proposal through the timelock. - */ - function _execute( - uint256, /* proposalId */ - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) internal virtual override { - _timelock.executeBatch{value: msg.value}(targets, values, calldatas, 0, descriptionHash); - } - - /** - * @dev Overriden version of the {Governor-_cancel} function to cancel the timelocked proposal if it as already - * been queued. - */ - function _cancel( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) internal virtual override returns (uint256) { - uint256 proposalId = super._cancel(targets, values, calldatas, descriptionHash); - - if (_timelockIds[proposalId] != 0) { - _timelock.cancel(_timelockIds[proposalId]); - delete _timelockIds[proposalId]; - } - - return proposalId; - } - - /** - * @dev Address through which the governor executes action. In this case, the timelock. - */ - function _executor() internal view virtual override returns (address) { - return address(_timelock); - } - - /** - * @dev Public endpoint to update the underlying timelock instance. Restricted to the timelock itself, so updates - * must be proposed, scheduled and executed using the {Governor} workflow. - */ - function updateTimelock(TimelockController newTimelock) external virtual onlyGovernance { - _updateTimelock(newTimelock); - } - - function _updateTimelock(TimelockController newTimelock) private { - emit TimelockChange(address(_timelock), address(newTimelock)); - _timelock = newTimelock; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol deleted file mode 100644 index d1719ca149..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol +++ /dev/null @@ -1,28 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorVotes.sol) - -pragma solidity ^0.8.0; - -import "../Governor.sol"; -import "../../token/ERC20/extensions/ERC20Votes.sol"; -import "../../utils/math/Math.sol"; - -/** - * @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token. - * - * _Available since v4.3._ - */ -abstract contract GovernorVotes is Governor { - ERC20Votes public immutable token; - - constructor(ERC20Votes tokenAddress) { - token = tokenAddress; - } - - /** - * Read the voting weight from the token's built in snapshot mechanism (see {IGovernor-getVotes}). - */ - function getVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) { - return token.getPastVotes(account, blockNumber); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol deleted file mode 100644 index 53c882b210..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorVotesComp.sol) - -pragma solidity ^0.8.0; - -import "../Governor.sol"; -import "../../token/ERC20/extensions/ERC20VotesComp.sol"; - -/** - * @dev Extension of {Governor} for voting weight extraction from a Comp token. - * - * _Available since v4.3._ - */ -abstract contract GovernorVotesComp is Governor { - ERC20VotesComp public immutable token; - - constructor(ERC20VotesComp token_) { - token = token_; - } - - /** - * Read the voting weight from the token's built in snapshot mechanism (see {IGovernor-getVotes}). - */ - function getVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) { - return token.getPriorVotes(account, blockNumber); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol deleted file mode 100644 index ab52e55d7d..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesQuorumFraction.sol +++ /dev/null @@ -1,50 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorVotesQuorumFraction.sol) - -pragma solidity ^0.8.0; - -import "./GovernorVotes.sol"; - -/** - * @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token and a quorum expressed as a - * fraction of the total supply. - * - * _Available since v4.3._ - */ -abstract contract GovernorVotesQuorumFraction is GovernorVotes { - uint256 private _quorumNumerator; - - event QuorumNumeratorUpdated(uint256 oldQuorumNumerator, uint256 newQuorumNumerator); - - constructor(uint256 quorumNumeratorValue) { - _updateQuorumNumerator(quorumNumeratorValue); - } - - function quorumNumerator() public view virtual returns (uint256) { - return _quorumNumerator; - } - - function quorumDenominator() public view virtual returns (uint256) { - return 100; - } - - function quorum(uint256 blockNumber) public view virtual override returns (uint256) { - return (token.getPastTotalSupply(blockNumber) * quorumNumerator()) / quorumDenominator(); - } - - function updateQuorumNumerator(uint256 newQuorumNumerator) external virtual onlyGovernance { - _updateQuorumNumerator(newQuorumNumerator); - } - - function _updateQuorumNumerator(uint256 newQuorumNumerator) internal virtual { - require( - newQuorumNumerator <= quorumDenominator(), - "GovernorVotesQuorumFraction: quorumNumerator over quorumDenominator" - ); - - uint256 oldQuorumNumerator = _quorumNumerator; - _quorumNumerator = newQuorumNumerator; - - emit QuorumNumeratorUpdated(oldQuorumNumerator, newQuorumNumerator); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol deleted file mode 100644 index 68ed3f2a16..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol +++ /dev/null @@ -1,26 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (governance/extensions/IGovernorTimelock.sol) - -pragma solidity ^0.8.0; - -import "../IGovernor.sol"; - -/** - * @dev Extension of the {IGovernor} for timelock supporting modules. - * - * _Available since v4.3._ - */ -abstract contract IGovernorTimelock is IGovernor { - event ProposalQueued(uint256 proposalId, uint256 eta); - - function timelock() public view virtual returns (address); - - function proposalEta(uint256 proposalId) public view virtual returns (uint256); - - function queue( - address[] memory targets, - uint256[] memory values, - bytes[] memory calldatas, - bytes32 descriptionHash - ) public virtual returns (uint256 proposalId); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol deleted file mode 100644 index 8998930bad..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1155.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC1155/IERC1155.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol deleted file mode 100644 index 045859e9dd..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1155MetadataURI.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC1155/extensions/IERC1155MetadataURI.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol deleted file mode 100644 index 9eac7674c5..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1155Receiver.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC1155/IERC1155Receiver.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol deleted file mode 100644 index 7d76532562..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1271.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Interface of the ERC1271 standard signature validation method for - * contracts as defined in https://eips.ethereum.org/EIPS/eip-1271[ERC-1271]. - * - * _Available since v4.1._ - */ -interface IERC1271 { - /** - * @dev Should return whether the signature provided is valid for the provided data - * @param hash Hash of the data to be signed - * @param signature Signature byte array associated with _data - */ - function isValidSignature(bytes32 hash, bytes memory signature) external view returns (bytes4 magicValue); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol deleted file mode 100644 index f18c7a4fac..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363.sol +++ /dev/null @@ -1,95 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1363.sol) - -pragma solidity ^0.8.0; - -import "./IERC20.sol"; -import "./IERC165.sol"; - -interface IERC1363 is IERC165, IERC20 { - /* - * Note: the ERC-165 identifier for this interface is 0x4bbee2df. - * 0x4bbee2df === - * bytes4(keccak256('transferAndCall(address,uint256)')) ^ - * bytes4(keccak256('transferAndCall(address,uint256,bytes)')) ^ - * bytes4(keccak256('transferFromAndCall(address,address,uint256)')) ^ - * bytes4(keccak256('transferFromAndCall(address,address,uint256,bytes)')) - */ - - /* - * Note: the ERC-165 identifier for this interface is 0xfb9ec8ce. - * 0xfb9ec8ce === - * bytes4(keccak256('approveAndCall(address,uint256)')) ^ - * bytes4(keccak256('approveAndCall(address,uint256,bytes)')) - */ - - /** - * @dev Transfer tokens from `msg.sender` to another address and then call `onTransferReceived` on receiver - * @param to address The address which you want to transfer to - * @param value uint256 The amount of tokens to be transferred - * @return true unless throwing - */ - function transferAndCall(address to, uint256 value) external returns (bool); - - /** - * @dev Transfer tokens from `msg.sender` to another address and then call `onTransferReceived` on receiver - * @param to address The address which you want to transfer to - * @param value uint256 The amount of tokens to be transferred - * @param data bytes Additional data with no specified format, sent in call to `to` - * @return true unless throwing - */ - function transferAndCall( - address to, - uint256 value, - bytes memory data - ) external returns (bool); - - /** - * @dev Transfer tokens from one address to another and then call `onTransferReceived` on receiver - * @param from address The address which you want to send tokens from - * @param to address The address which you want to transfer to - * @param value uint256 The amount of tokens to be transferred - * @return true unless throwing - */ - function transferFromAndCall( - address from, - address to, - uint256 value - ) external returns (bool); - - /** - * @dev Transfer tokens from one address to another and then call `onTransferReceived` on receiver - * @param from address The address which you want to send tokens from - * @param to address The address which you want to transfer to - * @param value uint256 The amount of tokens to be transferred - * @param data bytes Additional data with no specified format, sent in call to `to` - * @return true unless throwing - */ - function transferFromAndCall( - address from, - address to, - uint256 value, - bytes memory data - ) external returns (bool); - - /** - * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender - * and then call `onApprovalReceived` on spender. - * @param spender address The address which will spend the funds - * @param value uint256 The amount of tokens to be spent - */ - function approveAndCall(address spender, uint256 value) external returns (bool); - - /** - * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender - * and then call `onApprovalReceived` on spender. - * @param spender address The address which will spend the funds - * @param value uint256 The amount of tokens to be spent - * @param data bytes Additional data with no specified format, sent in call to `spender` - */ - function approveAndCall( - address spender, - uint256 value, - bytes memory data - ) external returns (bool); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol deleted file mode 100644 index 18c31dda50..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Receiver.sol +++ /dev/null @@ -1,32 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1363Receiver.sol) - -pragma solidity ^0.8.0; - -interface IERC1363Receiver { - /* - * Note: the ERC-165 identifier for this interface is 0x88a7ca5c. - * 0x88a7ca5c === bytes4(keccak256("onTransferReceived(address,address,uint256,bytes)")) - */ - - /** - * @notice Handle the receipt of ERC1363 tokens - * @dev Any ERC1363 smart contract calls this function on the recipient - * after a `transfer` or a `transferFrom`. This function MAY throw to revert and reject the - * transfer. Return of other than the magic value MUST result in the - * transaction being reverted. - * Note: the token contract address is always the message sender. - * @param operator address The address which called `transferAndCall` or `transferFromAndCall` function - * @param from address The address which are token transferred from - * @param value uint256 The amount of tokens transferred - * @param data bytes Additional data with no specified format - * @return `bytes4(keccak256("onTransferReceived(address,address,uint256,bytes)"))` - * unless throwing - */ - function onTransferReceived( - address operator, - address from, - uint256 value, - bytes memory data - ) external returns (bytes4); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol deleted file mode 100644 index f5e7503e21..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1363Spender.sol +++ /dev/null @@ -1,30 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1363Spender.sol) - -pragma solidity ^0.8.0; - -interface IERC1363Spender { - /* - * Note: the ERC-165 identifier for this interface is 0x7b04a2d0. - * 0x7b04a2d0 === bytes4(keccak256("onApprovalReceived(address,uint256,bytes)")) - */ - - /** - * @notice Handle the approval of ERC1363 tokens - * @dev Any ERC1363 smart contract calls this function on the recipient - * after an `approve`. This function MAY throw to revert and reject the - * approval. Return of other than the magic value MUST result in the - * transaction being reverted. - * Note: the token contract address is always the message sender. - * @param owner address The address which called `approveAndCall` function - * @param value uint256 The amount of tokens to be spent - * @param data bytes Additional data with no specified format - * @return `bytes4(keccak256("onApprovalReceived(address,uint256,bytes)"))` - * unless throwing - */ - function onApprovalReceived( - address owner, - uint256 value, - bytes memory data - ) external returns (bytes4); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol deleted file mode 100644 index 1399ad3f29..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC165.sol) - -pragma solidity ^0.8.0; - -import "../utils/introspection/IERC165.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol deleted file mode 100644 index efab81914d..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1820Implementer.sol) - -pragma solidity ^0.8.0; - -import "../utils/introspection/IERC1820Implementer.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol deleted file mode 100644 index 6b0b573678..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC1820Registry.sol) - -pragma solidity ^0.8.0; - -import "../utils/introspection/IERC1820Registry.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol deleted file mode 100644 index 541ce3deb0..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC20.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC20/IERC20.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol deleted file mode 100644 index ed5d72fb85..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC20Metadata.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC20/extensions/IERC20Metadata.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol deleted file mode 100644 index 20a417c64d..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol +++ /dev/null @@ -1,23 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC2981.sol) - -pragma solidity ^0.8.0; - -import "./IERC165.sol"; - -/** - * @dev Interface for the NFT Royalty Standard - */ -interface IERC2981 is IERC165 { - /** - * @dev Called with the sale price to determine how much royalty is owed and to whom. - * @param tokenId - the NFT asset queried for royalty information - * @param salePrice - the sale price of the NFT asset specified by `tokenId` - * @return receiver - address of who should be sent the royalty payment - * @return royaltyAmount - the royalty payment amount for `salePrice` - */ - function royaltyInfo(uint256 tokenId, uint256 salePrice) - external - view - returns (address receiver, uint256 royaltyAmount); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol deleted file mode 100644 index 593c121703..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol +++ /dev/null @@ -1,7 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC3156.sol) - -pragma solidity ^0.8.0; - -import "./IERC3156FlashBorrower.sol"; -import "./IERC3156FlashLender.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol deleted file mode 100644 index e0299bfcc8..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashBorrower.sol +++ /dev/null @@ -1,29 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC3156FlashBorrower.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Interface of the ERC3156 FlashBorrower, as defined in - * https://eips.ethereum.org/EIPS/eip-3156[ERC-3156]. - * - * _Available since v4.1._ - */ -interface IERC3156FlashBorrower { - /** - * @dev Receive a flash loan. - * @param initiator The initiator of the loan. - * @param token The loan currency. - * @param amount The amount of tokens lent. - * @param fee The additional amount of tokens to repay. - * @param data Arbitrary data structure, intended to contain user-defined parameters. - * @return The keccak256 hash of "ERC3156FlashBorrower.onFlashLoan" - */ - function onFlashLoan( - address initiator, - address token, - uint256 amount, - uint256 fee, - bytes calldata data - ) external returns (bytes32); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol deleted file mode 100644 index 8f2489c8e7..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC3156FlashLender.sol +++ /dev/null @@ -1,43 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC3156FlashLender.sol) - -pragma solidity ^0.8.0; - -import "./IERC3156FlashBorrower.sol"; - -/** - * @dev Interface of the ERC3156 FlashLender, as defined in - * https://eips.ethereum.org/EIPS/eip-3156[ERC-3156]. - * - * _Available since v4.1._ - */ -interface IERC3156FlashLender { - /** - * @dev The amount of currency available to be lended. - * @param token The loan currency. - * @return The amount of `token` that can be borrowed. - */ - function maxFlashLoan(address token) external view returns (uint256); - - /** - * @dev The fee to be charged for a given loan. - * @param token The loan currency. - * @param amount The amount of tokens lent. - * @return The amount of `token` to be charged for the loan, on top of the returned principal. - */ - function flashFee(address token, uint256 amount) external view returns (uint256); - - /** - * @dev Initiate a flash loan. - * @param receiver The receiver of the tokens in the loan, and the receiver of the callback. - * @param token The loan currency. - * @param amount The amount of tokens lent. - * @param data Arbitrary data structure, intended to contain user-defined parameters. - */ - function flashLoan( - IERC3156FlashBorrower receiver, - address token, - uint256 amount, - bytes calldata data - ) external returns (bool); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol deleted file mode 100644 index 5e48b5f039..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC721.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC721/IERC721.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol deleted file mode 100644 index 109abc5b56..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC721Enumerable.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC721/extensions/IERC721Enumerable.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol deleted file mode 100644 index 74bc26cc22..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC721Metadata.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC721/extensions/IERC721Metadata.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol deleted file mode 100644 index ef6e704ae5..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC721Receiver.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC721/IERC721Receiver.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol deleted file mode 100644 index ad73090935..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC777.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC777/IERC777.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol deleted file mode 100644 index 853da819b8..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC777Recipient.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC777/IERC777Recipient.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol deleted file mode 100644 index fe288135f8..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol +++ /dev/null @@ -1,6 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/IERC777Sender.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC777/IERC777Sender.sol"; diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol deleted file mode 100644 index 6ab5de3539..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol +++ /dev/null @@ -1,8 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (interfaces/draft-IERC2612.sol) - -pragma solidity ^0.8.0; - -import "../token/ERC20/extensions/draft-IERC20Permit.sol"; - -interface IERC2612 is IERC20Permit {} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol deleted file mode 100644 index ea96b8d3e6..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/ERC2771Context.sol +++ /dev/null @@ -1,40 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (metatx/ERC2771Context.sol) - -pragma solidity ^0.8.0; - -import "../utils/Context.sol"; - -/** - * @dev Context variant with ERC2771 support. - */ -abstract contract ERC2771Context is Context { - address private _trustedForwarder; - - constructor(address trustedForwarder) { - _trustedForwarder = trustedForwarder; - } - - function isTrustedForwarder(address forwarder) public view virtual returns (bool) { - return forwarder == _trustedForwarder; - } - - function _msgSender() internal view virtual override returns (address sender) { - if (isTrustedForwarder(msg.sender)) { - // The assembly code is more direct than the Solidity version using `abi.decode`. - assembly { - sender := shr(96, calldataload(sub(calldatasize(), 20))) - } - } else { - return super._msgSender(); - } - } - - function _msgData() internal view virtual override returns (bytes calldata) { - if (isTrustedForwarder(msg.sender)) { - return msg.data[:msg.data.length - 20]; - } else { - return super._msgData(); - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol deleted file mode 100644 index 01638181ba..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/metatx/MinimalForwarder.sol +++ /dev/null @@ -1,59 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (metatx/MinimalForwarder.sol) - -pragma solidity ^0.8.0; - -import "../utils/cryptography/ECDSA.sol"; -import "../utils/cryptography/draft-EIP712.sol"; - -/** - * @dev Simple minimal forwarder to be used together with an ERC2771 compatible contract. See {ERC2771Context}. - */ -contract MinimalForwarder is EIP712 { - using ECDSA for bytes32; - - struct ForwardRequest { - address from; - address to; - uint256 value; - uint256 gas; - uint256 nonce; - bytes data; - } - - bytes32 private constant _TYPEHASH = - keccak256("ForwardRequest(address from,address to,uint256 value,uint256 gas,uint256 nonce,bytes data)"); - - mapping(address => uint256) private _nonces; - - constructor() EIP712("MinimalForwarder", "0.0.1") {} - - function getNonce(address from) public view returns (uint256) { - return _nonces[from]; - } - - function verify(ForwardRequest calldata req, bytes calldata signature) public view returns (bool) { - address signer = _hashTypedDataV4( - keccak256(abi.encode(_TYPEHASH, req.from, req.to, req.value, req.gas, req.nonce, keccak256(req.data))) - ).recover(signature); - return _nonces[req.from] == req.nonce && signer == req.from; - } - - function execute(ForwardRequest calldata req, bytes calldata signature) - public - payable - returns (bool, bytes memory) - { - require(verify(req, signature), "MinimalForwarder: signature does not match request"); - _nonces[req.from] = req.nonce + 1; - - (bool success, bytes memory returndata) = req.to.call{gas: req.gas, value: req.value}( - abi.encodePacked(req.data, req.from) - ); - // Validate that the relayer has sent enough gas for the call. - // See https://ronan.eth.link/blog/ethereum-gas-dangers/ - assert(gasleft() > req.gas / 63); - - return (success, returndata); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/package.json b/tests/test_node_modules/node_modules/@openzeppelin/contracts/package.json deleted file mode 100644 index 220a063ff3..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/package.json +++ /dev/null @@ -1,62 +0,0 @@ -{ - "_from": "@openzeppelin/contracts", - "_id": "@openzeppelin/contracts@4.4.0", - "_inBundle": false, - "_integrity": "sha512-dlKiZmDvJnGRLHojrDoFZJmsQVeltVeoiRN7RK+cf2FmkhASDEblE0RiaYdxPNsUZa6mRG8393b9bfyp+V5IAw==", - "_location": "/@openzeppelin/contracts", - "_phantomChildren": {}, - "_requested": { - "type": "tag", - "registry": true, - "raw": "@openzeppelin/contracts", - "name": "@openzeppelin/contracts", - "escapedName": "@openzeppelin%2fcontracts", - "scope": "@openzeppelin", - "rawSpec": "", - "saveSpec": null, - "fetchSpec": "latest" - }, - "_requiredBy": [ - "#USER", - "/" - ], - "_resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.4.0.tgz", - "_shasum": "4a1df71f736c31230bbbd634dfb006a756b51e6b", - "_spec": "@openzeppelin/contracts", - "_where": "/home/monty/tob/tools/slither/tests/test_node_modules", - "author": { - "name": "OpenZeppelin Community", - "email": "maintainers@openzeppelin.org" - }, - "bugs": { - "url": "https://github.com/OpenZeppelin/openzeppelin-contracts/issues" - }, - "bundleDependencies": false, - "deprecated": false, - "description": "Secure Smart Contract library for Solidity", - "files": [ - "**/*.sol", - "/build/contracts/*.json", - "!/mocks/**/*" - ], - "homepage": "https://openzeppelin.com/contracts/", - "keywords": [ - "solidity", - "ethereum", - "smart", - "contracts", - "security", - "zeppelin" - ], - "license": "MIT", - "name": "@openzeppelin/contracts", - "repository": { - "type": "git", - "url": "git+https://github.com/OpenZeppelin/openzeppelin-contracts.git" - }, - "scripts": { - "prepare": "bash ../scripts/prepare-contracts-package.sh", - "prepare-docs": "cd ..; npm run prepare-docs" - }, - "version": "4.4.0" -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol deleted file mode 100644 index feed33e7df..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Clones.sol +++ /dev/null @@ -1,84 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (proxy/Clones.sol) - -pragma solidity ^0.8.0; - -/** - * @dev https://eips.ethereum.org/EIPS/eip-1167[EIP 1167] is a standard for - * deploying minimal proxy contracts, also known as "clones". - * - * > To simply and cheaply clone contract functionality in an immutable way, this standard specifies - * > a minimal bytecode implementation that delegates all calls to a known, fixed address. - * - * The library includes functions to deploy a proxy using either `create` (traditional deployment) or `create2` - * (salted deterministic deployment). It also includes functions to predict the addresses of clones deployed using the - * deterministic method. - * - * _Available since v3.4._ - */ -library Clones { - /** - * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`. - * - * This function uses the create opcode, which should never revert. - */ - function clone(address implementation) internal returns (address instance) { - assembly { - let ptr := mload(0x40) - mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) - mstore(add(ptr, 0x14), shl(0x60, implementation)) - mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) - instance := create(0, ptr, 0x37) - } - require(instance != address(0), "ERC1167: create failed"); - } - - /** - * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`. - * - * This function uses the create2 opcode and a `salt` to deterministically deploy - * the clone. Using the same `implementation` and `salt` multiple time will revert, since - * the clones cannot be deployed twice at the same address. - */ - function cloneDeterministic(address implementation, bytes32 salt) internal returns (address instance) { - assembly { - let ptr := mload(0x40) - mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) - mstore(add(ptr, 0x14), shl(0x60, implementation)) - mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000) - instance := create2(0, ptr, 0x37, salt) - } - require(instance != address(0), "ERC1167: create2 failed"); - } - - /** - * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}. - */ - function predictDeterministicAddress( - address implementation, - bytes32 salt, - address deployer - ) internal pure returns (address predicted) { - assembly { - let ptr := mload(0x40) - mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000) - mstore(add(ptr, 0x14), shl(0x60, implementation)) - mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf3ff00000000000000000000000000000000) - mstore(add(ptr, 0x38), shl(0x60, deployer)) - mstore(add(ptr, 0x4c), salt) - mstore(add(ptr, 0x6c), keccak256(ptr, 0x37)) - predicted := keccak256(add(ptr, 0x37), 0x55) - } - } - - /** - * @dev Computes the address of a clone deployed using {Clones-cloneDeterministic}. - */ - function predictDeterministicAddress(address implementation, bytes32 salt) - internal - view - returns (address predicted) - { - return predictDeterministicAddress(implementation, salt, address(this)); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol deleted file mode 100644 index 5d2a3533f5..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol +++ /dev/null @@ -1,33 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (proxy/ERC1967/ERC1967Proxy.sol) - -pragma solidity ^0.8.0; - -import "../Proxy.sol"; -import "./ERC1967Upgrade.sol"; - -/** - * @dev This contract implements an upgradeable proxy. It is upgradeable because calls are delegated to an - * implementation address that can be changed. This address is stored in storage in the location specified by - * https://eips.ethereum.org/EIPS/eip-1967[EIP1967], so that it doesn't conflict with the storage layout of the - * implementation behind the proxy. - */ -contract ERC1967Proxy is Proxy, ERC1967Upgrade { - /** - * @dev Initializes the upgradeable proxy with an initial implementation specified by `_logic`. - * - * If `_data` is nonempty, it's used as data in a delegate call to `_logic`. This will typically be an encoded - * function call, and allows initializating the storage of the proxy like a Solidity constructor. - */ - constructor(address _logic, bytes memory _data) payable { - assert(_IMPLEMENTATION_SLOT == bytes32(uint256(keccak256("eip1967.proxy.implementation")) - 1)); - _upgradeToAndCall(_logic, _data, false); - } - - /** - * @dev Returns the current implementation address. - */ - function _implementation() internal view virtual override returns (address impl) { - return ERC1967Upgrade._getImplementation(); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol deleted file mode 100644 index 04394aeeec..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/ERC1967/ERC1967Upgrade.sol +++ /dev/null @@ -1,194 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (proxy/ERC1967/ERC1967Upgrade.sol) - -pragma solidity ^0.8.2; - -import "../beacon/IBeacon.sol"; -import "../../utils/Address.sol"; -import "../../utils/StorageSlot.sol"; - -/** - * @dev This abstract contract provides getters and event emitting update functions for - * https://eips.ethereum.org/EIPS/eip-1967[EIP1967] slots. - * - * _Available since v4.1._ - * - * @custom:oz-upgrades-unsafe-allow delegatecall - */ -abstract contract ERC1967Upgrade { - // This is the keccak-256 hash of "eip1967.proxy.rollback" subtracted by 1 - bytes32 private constant _ROLLBACK_SLOT = 0x4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd9143; - - /** - * @dev Storage slot with the address of the current implementation. - * This is the keccak-256 hash of "eip1967.proxy.implementation" subtracted by 1, and is - * validated in the constructor. - */ - bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; - - /** - * @dev Emitted when the implementation is upgraded. - */ - event Upgraded(address indexed implementation); - - /** - * @dev Returns the current implementation address. - */ - function _getImplementation() internal view returns (address) { - return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; - } - - /** - * @dev Stores a new address in the EIP1967 implementation slot. - */ - function _setImplementation(address newImplementation) private { - require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract"); - StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; - } - - /** - * @dev Perform implementation upgrade - * - * Emits an {Upgraded} event. - */ - function _upgradeTo(address newImplementation) internal { - _setImplementation(newImplementation); - emit Upgraded(newImplementation); - } - - /** - * @dev Perform implementation upgrade with additional setup call. - * - * Emits an {Upgraded} event. - */ - function _upgradeToAndCall( - address newImplementation, - bytes memory data, - bool forceCall - ) internal { - _upgradeTo(newImplementation); - if (data.length > 0 || forceCall) { - Address.functionDelegateCall(newImplementation, data); - } - } - - /** - * @dev Perform implementation upgrade with security checks for UUPS proxies, and additional setup call. - * - * Emits an {Upgraded} event. - */ - function _upgradeToAndCallSecure( - address newImplementation, - bytes memory data, - bool forceCall - ) internal { - address oldImplementation = _getImplementation(); - - // Initial upgrade and setup call - _setImplementation(newImplementation); - if (data.length > 0 || forceCall) { - Address.functionDelegateCall(newImplementation, data); - } - - // Perform rollback test if not already in progress - StorageSlot.BooleanSlot storage rollbackTesting = StorageSlot.getBooleanSlot(_ROLLBACK_SLOT); - if (!rollbackTesting.value) { - // Trigger rollback using upgradeTo from the new implementation - rollbackTesting.value = true; - Address.functionDelegateCall( - newImplementation, - abi.encodeWithSignature("upgradeTo(address)", oldImplementation) - ); - rollbackTesting.value = false; - // Check rollback was effective - require(oldImplementation == _getImplementation(), "ERC1967Upgrade: upgrade breaks further upgrades"); - // Finally reset to the new implementation and log the upgrade - _upgradeTo(newImplementation); - } - } - - /** - * @dev Storage slot with the admin of the contract. - * This is the keccak-256 hash of "eip1967.proxy.admin" subtracted by 1, and is - * validated in the constructor. - */ - bytes32 internal constant _ADMIN_SLOT = 0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103; - - /** - * @dev Emitted when the admin account has changed. - */ - event AdminChanged(address previousAdmin, address newAdmin); - - /** - * @dev Returns the current admin. - */ - function _getAdmin() internal view returns (address) { - return StorageSlot.getAddressSlot(_ADMIN_SLOT).value; - } - - /** - * @dev Stores a new address in the EIP1967 admin slot. - */ - function _setAdmin(address newAdmin) private { - require(newAdmin != address(0), "ERC1967: new admin is the zero address"); - StorageSlot.getAddressSlot(_ADMIN_SLOT).value = newAdmin; - } - - /** - * @dev Changes the admin of the proxy. - * - * Emits an {AdminChanged} event. - */ - function _changeAdmin(address newAdmin) internal { - emit AdminChanged(_getAdmin(), newAdmin); - _setAdmin(newAdmin); - } - - /** - * @dev The storage slot of the UpgradeableBeacon contract which defines the implementation for this proxy. - * This is bytes32(uint256(keccak256('eip1967.proxy.beacon')) - 1)) and is validated in the constructor. - */ - bytes32 internal constant _BEACON_SLOT = 0xa3f0ad74e5423aebfd80d3ef4346578335a9a72aeaee59ff6cb3582b35133d50; - - /** - * @dev Emitted when the beacon is upgraded. - */ - event BeaconUpgraded(address indexed beacon); - - /** - * @dev Returns the current beacon. - */ - function _getBeacon() internal view returns (address) { - return StorageSlot.getAddressSlot(_BEACON_SLOT).value; - } - - /** - * @dev Stores a new beacon in the EIP1967 beacon slot. - */ - function _setBeacon(address newBeacon) private { - require(Address.isContract(newBeacon), "ERC1967: new beacon is not a contract"); - require( - Address.isContract(IBeacon(newBeacon).implementation()), - "ERC1967: beacon implementation is not a contract" - ); - StorageSlot.getAddressSlot(_BEACON_SLOT).value = newBeacon; - } - - /** - * @dev Perform beacon upgrade with additional setup call. Note: This upgrades the address of the beacon, it does - * not upgrade the implementation contained in the beacon (see {UpgradeableBeacon-_setImplementation} for that). - * - * Emits a {BeaconUpgraded} event. - */ - function _upgradeBeaconToAndCall( - address newBeacon, - bytes memory data, - bool forceCall - ) internal { - _setBeacon(newBeacon); - emit BeaconUpgraded(newBeacon); - if (data.length > 0 || forceCall) { - Address.functionDelegateCall(IBeacon(newBeacon).implementation(), data); - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol deleted file mode 100644 index cbb78efa9f..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/Proxy.sol +++ /dev/null @@ -1,86 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (proxy/Proxy.sol) - -pragma solidity ^0.8.0; - -/** - * @dev This abstract contract provides a fallback function that delegates all calls to another contract using the EVM - * instruction `delegatecall`. We refer to the second contract as the _implementation_ behind the proxy, and it has to - * be specified by overriding the virtual {_implementation} function. - * - * Additionally, delegation to the implementation can be triggered manually through the {_fallback} function, or to a - * different contract through the {_delegate} function. - * - * The success and return data of the delegated call will be returned back to the caller of the proxy. - */ -abstract contract Proxy { - /** - * @dev Delegates the current call to `implementation`. - * - * This function does not return to its internall call site, it will return directly to the external caller. - */ - function _delegate(address implementation) internal virtual { - assembly { - // Copy msg.data. We take full control of memory in this inline assembly - // block because it will not return to Solidity code. We overwrite the - // Solidity scratch pad at memory position 0. - calldatacopy(0, 0, calldatasize()) - - // Call the implementation. - // out and outsize are 0 because we don't know the size yet. - let result := delegatecall(gas(), implementation, 0, calldatasize(), 0, 0) - - // Copy the returned data. - returndatacopy(0, 0, returndatasize()) - - switch result - // delegatecall returns 0 on error. - case 0 { - revert(0, returndatasize()) - } - default { - return(0, returndatasize()) - } - } - } - - /** - * @dev This is a virtual function that should be overriden so it returns the address to which the fallback function - * and {_fallback} should delegate. - */ - function _implementation() internal view virtual returns (address); - - /** - * @dev Delegates the current call to the address returned by `_implementation()`. - * - * This function does not return to its internall call site, it will return directly to the external caller. - */ - function _fallback() internal virtual { - _beforeFallback(); - _delegate(_implementation()); - } - - /** - * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if no other - * function in the contract matches the call data. - */ - fallback() external payable virtual { - _fallback(); - } - - /** - * @dev Fallback function that delegates calls to the address returned by `_implementation()`. Will run if call data - * is empty. - */ - receive() external payable virtual { - _fallback(); - } - - /** - * @dev Hook that is called before falling back to the implementation. Can happen as part of a manual `_fallback` - * call, or as part of the Solidity `fallback` or `receive` functions. - * - * If overriden should call `super._beforeFallback()`. - */ - function _beforeFallback() internal virtual {} -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol deleted file mode 100644 index 15b6eb55e5..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol +++ /dev/null @@ -1,62 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (proxy/beacon/BeaconProxy.sol) - -pragma solidity ^0.8.0; - -import "./IBeacon.sol"; -import "../Proxy.sol"; -import "../ERC1967/ERC1967Upgrade.sol"; - -/** - * @dev This contract implements a proxy that gets the implementation address for each call from a {UpgradeableBeacon}. - * - * The beacon address is stored in storage slot `uint256(keccak256('eip1967.proxy.beacon')) - 1`, so that it doesn't - * conflict with the storage layout of the implementation behind the proxy. - * - * _Available since v3.4._ - */ -contract BeaconProxy is Proxy, ERC1967Upgrade { - /** - * @dev Initializes the proxy with `beacon`. - * - * If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. This - * will typically be an encoded function call, and allows initializating the storage of the proxy like a Solidity - * constructor. - * - * Requirements: - * - * - `beacon` must be a contract with the interface {IBeacon}. - */ - constructor(address beacon, bytes memory data) payable { - assert(_BEACON_SLOT == bytes32(uint256(keccak256("eip1967.proxy.beacon")) - 1)); - _upgradeBeaconToAndCall(beacon, data, false); - } - - /** - * @dev Returns the current beacon address. - */ - function _beacon() internal view virtual returns (address) { - return _getBeacon(); - } - - /** - * @dev Returns the current implementation address of the associated beacon. - */ - function _implementation() internal view virtual override returns (address) { - return IBeacon(_getBeacon()).implementation(); - } - - /** - * @dev Changes the proxy to use a new beacon. Deprecated: see {_upgradeBeaconToAndCall}. - * - * If `data` is nonempty, it's used as data in a delegate call to the implementation returned by the beacon. - * - * Requirements: - * - * - `beacon` must be a contract. - * - The implementation returned by `beacon` must be a contract. - */ - function _setBeacon(address beacon, bytes memory data) internal virtual { - _upgradeBeaconToAndCall(beacon, data, false); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol deleted file mode 100644 index e8b18af4ca..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol +++ /dev/null @@ -1,16 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (proxy/beacon/IBeacon.sol) - -pragma solidity ^0.8.0; - -/** - * @dev This is the interface that {BeaconProxy} expects of its beacon. - */ -interface IBeacon { - /** - * @dev Must return an address that can be used as a delegate call target. - * - * {BeaconProxy} will check that this address is a contract. - */ - function implementation() external view returns (address); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol deleted file mode 100644 index c03261509d..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol +++ /dev/null @@ -1,65 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (proxy/beacon/UpgradeableBeacon.sol) - -pragma solidity ^0.8.0; - -import "./IBeacon.sol"; -import "../../access/Ownable.sol"; -import "../../utils/Address.sol"; - -/** - * @dev This contract is used in conjunction with one or more instances of {BeaconProxy} to determine their - * implementation contract, which is where they will delegate all function calls. - * - * An owner is able to change the implementation the beacon points to, thus upgrading the proxies that use this beacon. - */ -contract UpgradeableBeacon is IBeacon, Ownable { - address private _implementation; - - /** - * @dev Emitted when the implementation returned by the beacon is changed. - */ - event Upgraded(address indexed implementation); - - /** - * @dev Sets the address of the initial implementation, and the deployer account as the owner who can upgrade the - * beacon. - */ - constructor(address implementation_) { - _setImplementation(implementation_); - } - - /** - * @dev Returns the current implementation address. - */ - function implementation() public view virtual override returns (address) { - return _implementation; - } - - /** - * @dev Upgrades the beacon to a new implementation. - * - * Emits an {Upgraded} event. - * - * Requirements: - * - * - msg.sender must be the owner of the contract. - * - `newImplementation` must be a contract. - */ - function upgradeTo(address newImplementation) public virtual onlyOwner { - _setImplementation(newImplementation); - emit Upgraded(newImplementation); - } - - /** - * @dev Sets the implementation contract address for this beacon - * - * Requirements: - * - * - `newImplementation` must be a contract. - */ - function _setImplementation(address newImplementation) private { - require(Address.isContract(newImplementation), "UpgradeableBeacon: implementation is not a contract"); - _implementation = newImplementation; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol deleted file mode 100644 index 82f49eb7dc..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol +++ /dev/null @@ -1,81 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (proxy/transparent/ProxyAdmin.sol) - -pragma solidity ^0.8.0; - -import "./TransparentUpgradeableProxy.sol"; -import "../../access/Ownable.sol"; - -/** - * @dev This is an auxiliary contract meant to be assigned as the admin of a {TransparentUpgradeableProxy}. For an - * explanation of why you would want to use this see the documentation for {TransparentUpgradeableProxy}. - */ -contract ProxyAdmin is Ownable { - /** - * @dev Returns the current implementation of `proxy`. - * - * Requirements: - * - * - This contract must be the admin of `proxy`. - */ - function getProxyImplementation(TransparentUpgradeableProxy proxy) public view virtual returns (address) { - // We need to manually run the static call since the getter cannot be flagged as view - // bytes4(keccak256("implementation()")) == 0x5c60da1b - (bool success, bytes memory returndata) = address(proxy).staticcall(hex"5c60da1b"); - require(success); - return abi.decode(returndata, (address)); - } - - /** - * @dev Returns the current admin of `proxy`. - * - * Requirements: - * - * - This contract must be the admin of `proxy`. - */ - function getProxyAdmin(TransparentUpgradeableProxy proxy) public view virtual returns (address) { - // We need to manually run the static call since the getter cannot be flagged as view - // bytes4(keccak256("admin()")) == 0xf851a440 - (bool success, bytes memory returndata) = address(proxy).staticcall(hex"f851a440"); - require(success); - return abi.decode(returndata, (address)); - } - - /** - * @dev Changes the admin of `proxy` to `newAdmin`. - * - * Requirements: - * - * - This contract must be the current admin of `proxy`. - */ - function changeProxyAdmin(TransparentUpgradeableProxy proxy, address newAdmin) public virtual onlyOwner { - proxy.changeAdmin(newAdmin); - } - - /** - * @dev Upgrades `proxy` to `implementation`. See {TransparentUpgradeableProxy-upgradeTo}. - * - * Requirements: - * - * - This contract must be the admin of `proxy`. - */ - function upgrade(TransparentUpgradeableProxy proxy, address implementation) public virtual onlyOwner { - proxy.upgradeTo(implementation); - } - - /** - * @dev Upgrades `proxy` to `implementation` and calls a function on the new implementation. See - * {TransparentUpgradeableProxy-upgradeToAndCall}. - * - * Requirements: - * - * - This contract must be the admin of `proxy`. - */ - function upgradeAndCall( - TransparentUpgradeableProxy proxy, - address implementation, - bytes memory data - ) public payable virtual onlyOwner { - proxy.upgradeToAndCall{value: msg.value}(implementation, data); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol deleted file mode 100644 index f1b101ef37..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol +++ /dev/null @@ -1,125 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (proxy/transparent/TransparentUpgradeableProxy.sol) - -pragma solidity ^0.8.0; - -import "../ERC1967/ERC1967Proxy.sol"; - -/** - * @dev This contract implements a proxy that is upgradeable by an admin. - * - * To avoid https://medium.com/nomic-labs-blog/malicious-backdoors-in-ethereum-proxies-62629adf3357[proxy selector - * clashing], which can potentially be used in an attack, this contract uses the - * https://blog.openzeppelin.com/the-transparent-proxy-pattern/[transparent proxy pattern]. This pattern implies two - * things that go hand in hand: - * - * 1. If any account other than the admin calls the proxy, the call will be forwarded to the implementation, even if - * that call matches one of the admin functions exposed by the proxy itself. - * 2. If the admin calls the proxy, it can access the admin functions, but its calls will never be forwarded to the - * implementation. If the admin tries to call a function on the implementation it will fail with an error that says - * "admin cannot fallback to proxy target". - * - * These properties mean that the admin account can only be used for admin actions like upgrading the proxy or changing - * the admin, so it's best if it's a dedicated account that is not used for anything else. This will avoid headaches due - * to sudden errors when trying to call a function from the proxy implementation. - * - * Our recommendation is for the dedicated account to be an instance of the {ProxyAdmin} contract. If set up this way, - * you should think of the `ProxyAdmin` instance as the real administrative interface of your proxy. - */ -contract TransparentUpgradeableProxy is ERC1967Proxy { - /** - * @dev Initializes an upgradeable proxy managed by `_admin`, backed by the implementation at `_logic`, and - * optionally initialized with `_data` as explained in {ERC1967Proxy-constructor}. - */ - constructor( - address _logic, - address admin_, - bytes memory _data - ) payable ERC1967Proxy(_logic, _data) { - assert(_ADMIN_SLOT == bytes32(uint256(keccak256("eip1967.proxy.admin")) - 1)); - _changeAdmin(admin_); - } - - /** - * @dev Modifier used internally that will delegate the call to the implementation unless the sender is the admin. - */ - modifier ifAdmin() { - if (msg.sender == _getAdmin()) { - _; - } else { - _fallback(); - } - } - - /** - * @dev Returns the current admin. - * - * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyAdmin}. - * - * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the - * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. - * `0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103` - */ - function admin() external ifAdmin returns (address admin_) { - admin_ = _getAdmin(); - } - - /** - * @dev Returns the current implementation. - * - * NOTE: Only the admin can call this function. See {ProxyAdmin-getProxyImplementation}. - * - * TIP: To get this value clients can read directly from the storage slot shown below (specified by EIP1967) using the - * https://eth.wiki/json-rpc/API#eth_getstorageat[`eth_getStorageAt`] RPC call. - * `0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc` - */ - function implementation() external ifAdmin returns (address implementation_) { - implementation_ = _implementation(); - } - - /** - * @dev Changes the admin of the proxy. - * - * Emits an {AdminChanged} event. - * - * NOTE: Only the admin can call this function. See {ProxyAdmin-changeProxyAdmin}. - */ - function changeAdmin(address newAdmin) external virtual ifAdmin { - _changeAdmin(newAdmin); - } - - /** - * @dev Upgrade the implementation of the proxy. - * - * NOTE: Only the admin can call this function. See {ProxyAdmin-upgrade}. - */ - function upgradeTo(address newImplementation) external ifAdmin { - _upgradeToAndCall(newImplementation, bytes(""), false); - } - - /** - * @dev Upgrade the implementation of the proxy, and then call a function from the new implementation as specified - * by `data`, which should be an encoded function call. This is useful to initialize new storage variables in the - * proxied contract. - * - * NOTE: Only the admin can call this function. See {ProxyAdmin-upgradeAndCall}. - */ - function upgradeToAndCall(address newImplementation, bytes calldata data) external payable ifAdmin { - _upgradeToAndCall(newImplementation, data, true); - } - - /** - * @dev Returns the current admin. - */ - function _admin() internal view virtual returns (address) { - return _getAdmin(); - } - - /** - * @dev Makes sure the admin cannot access the fallback function. See {Proxy-_beforeFallback}. - */ - function _beforeFallback() internal virtual override { - require(msg.sender != _getAdmin(), "TransparentUpgradeableProxy: admin cannot fallback to proxy target"); - super._beforeFallback(); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol deleted file mode 100644 index 0107bdabf5..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/Initializable.sol +++ /dev/null @@ -1,62 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (proxy/utils/Initializable.sol) - -pragma solidity ^0.8.0; - -/** - * @dev This is a base contract to aid in writing upgradeable contracts, or any kind of contract that will be deployed - * behind a proxy. Since a proxied contract can't have a constructor, it's common to move constructor logic to an - * external initializer function, usually called `initialize`. It then becomes necessary to protect this initializer - * function so it can only be called once. The {initializer} modifier provided by this contract will have this effect. - * - * TIP: To avoid leaving the proxy in an uninitialized state, the initializer function should be called as early as - * possible by providing the encoded function call as the `_data` argument to {ERC1967Proxy-constructor}. - * - * CAUTION: When used with inheritance, manual care must be taken to not invoke a parent initializer twice, or to ensure - * that all initializers are idempotent. This is not verified automatically as constructors are by Solidity. - * - * [CAUTION] - * ==== - * Avoid leaving a contract uninitialized. - * - * An uninitialized contract can be taken over by an attacker. This applies to both a proxy and its implementation - * contract, which may impact the proxy. To initialize the implementation contract, you can either invoke the - * initializer manually, or you can include a constructor to automatically mark it as initialized when it is deployed: - * - * [.hljs-theme-light.nopadding] - * ``` - * /// @custom:oz-upgrades-unsafe-allow constructor - * constructor() initializer {} - * ``` - * ==== - */ -abstract contract Initializable { - /** - * @dev Indicates that the contract has been initialized. - */ - bool private _initialized; - - /** - * @dev Indicates that the contract is in the process of being initialized. - */ - bool private _initializing; - - /** - * @dev Modifier to protect an initializer function from being invoked twice. - */ - modifier initializer() { - require(_initializing || !_initialized, "Initializable: contract is already initialized"); - - bool isTopLevelCall = !_initializing; - if (isTopLevelCall) { - _initializing = true; - _initialized = true; - } - - _; - - if (isTopLevelCall) { - _initializing = false; - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol deleted file mode 100644 index 89ceccced4..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/proxy/utils/UUPSUpgradeable.sol +++ /dev/null @@ -1,73 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (proxy/utils/UUPSUpgradeable.sol) - -pragma solidity ^0.8.0; - -import "../ERC1967/ERC1967Upgrade.sol"; - -/** - * @dev An upgradeability mechanism designed for UUPS proxies. The functions included here can perform an upgrade of an - * {ERC1967Proxy}, when this contract is set as the implementation behind such a proxy. - * - * A security mechanism ensures that an upgrade does not turn off upgradeability accidentally, although this risk is - * reinstated if the upgrade retains upgradeability but removes the security mechanism, e.g. by replacing - * `UUPSUpgradeable` with a custom implementation of upgrades. - * - * The {_authorizeUpgrade} function must be overridden to include access restriction to the upgrade mechanism. - * - * _Available since v4.1._ - */ -abstract contract UUPSUpgradeable is ERC1967Upgrade { - /// @custom:oz-upgrades-unsafe-allow state-variable-immutable state-variable-assignment - address private immutable __self = address(this); - - /** - * @dev Check that the execution is being performed through a delegatecall call and that the execution context is - * a proxy contract with an implementation (as defined in ERC1967) pointing to self. This should only be the case - * for UUPS and transparent proxies that are using the current contract as their implementation. Execution of a - * function through ERC1167 minimal proxies (clones) would not normally pass this test, but is not guaranteed to - * fail. - */ - modifier onlyProxy() { - require(address(this) != __self, "Function must be called through delegatecall"); - require(_getImplementation() == __self, "Function must be called through active proxy"); - _; - } - - /** - * @dev Upgrade the implementation of the proxy to `newImplementation`. - * - * Calls {_authorizeUpgrade}. - * - * Emits an {Upgraded} event. - */ - function upgradeTo(address newImplementation) external virtual onlyProxy { - _authorizeUpgrade(newImplementation); - _upgradeToAndCallSecure(newImplementation, new bytes(0), false); - } - - /** - * @dev Upgrade the implementation of the proxy to `newImplementation`, and subsequently execute the function call - * encoded in `data`. - * - * Calls {_authorizeUpgrade}. - * - * Emits an {Upgraded} event. - */ - function upgradeToAndCall(address newImplementation, bytes memory data) external payable virtual onlyProxy { - _authorizeUpgrade(newImplementation); - _upgradeToAndCallSecure(newImplementation, data, true); - } - - /** - * @dev Function that should revert when `msg.sender` is not authorized to upgrade the contract. Called by - * {upgradeTo} and {upgradeToAndCall}. - * - * Normally, this function will use an xref:access.adoc[access control] modifier such as {Ownable-onlyOwner}. - * - * ```solidity - * function _authorizeUpgrade(address) internal override onlyOwner {} - * ``` - */ - function _authorizeUpgrade(address newImplementation) internal virtual; -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol deleted file mode 100644 index 004db0492f..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/Pausable.sol +++ /dev/null @@ -1,91 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (security/Pausable.sol) - -pragma solidity ^0.8.0; - -import "../utils/Context.sol"; - -/** - * @dev Contract module which allows children to implement an emergency stop - * mechanism that can be triggered by an authorized account. - * - * This module is used through inheritance. It will make available the - * modifiers `whenNotPaused` and `whenPaused`, which can be applied to - * the functions of your contract. Note that they will not be pausable by - * simply including this module, only once the modifiers are put in place. - */ -abstract contract Pausable is Context { - /** - * @dev Emitted when the pause is triggered by `account`. - */ - event Paused(address account); - - /** - * @dev Emitted when the pause is lifted by `account`. - */ - event Unpaused(address account); - - bool private _paused; - - /** - * @dev Initializes the contract in unpaused state. - */ - constructor() { - _paused = false; - } - - /** - * @dev Returns true if the contract is paused, and false otherwise. - */ - function paused() public view virtual returns (bool) { - return _paused; - } - - /** - * @dev Modifier to make a function callable only when the contract is not paused. - * - * Requirements: - * - * - The contract must not be paused. - */ - modifier whenNotPaused() { - require(!paused(), "Pausable: paused"); - _; - } - - /** - * @dev Modifier to make a function callable only when the contract is paused. - * - * Requirements: - * - * - The contract must be paused. - */ - modifier whenPaused() { - require(paused(), "Pausable: not paused"); - _; - } - - /** - * @dev Triggers stopped state. - * - * Requirements: - * - * - The contract must not be paused. - */ - function _pause() internal virtual whenNotPaused { - _paused = true; - emit Paused(_msgSender()); - } - - /** - * @dev Returns to normal state. - * - * Requirements: - * - * - The contract must be paused. - */ - function _unpause() internal virtual whenPaused { - _paused = false; - emit Unpaused(_msgSender()); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol deleted file mode 100644 index 829f13ed3d..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/PullPayment.sol +++ /dev/null @@ -1,70 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (security/PullPayment.sol) - -pragma solidity ^0.8.0; - -import "../utils/escrow/Escrow.sol"; - -/** - * @dev Simple implementation of a - * https://consensys.github.io/smart-contract-best-practices/recommendations/#favor-pull-over-push-for-external-calls[pull-payment] - * strategy, where the paying contract doesn't interact directly with the - * receiver account, which must withdraw its payments itself. - * - * Pull-payments are often considered the best practice when it comes to sending - * Ether, security-wise. It prevents recipients from blocking execution, and - * eliminates reentrancy concerns. - * - * TIP: If you would like to learn more about reentrancy and alternative ways - * to protect against it, check out our blog post - * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. - * - * To use, derive from the `PullPayment` contract, and use {_asyncTransfer} - * instead of Solidity's `transfer` function. Payees can query their due - * payments with {payments}, and retrieve them with {withdrawPayments}. - */ -abstract contract PullPayment { - Escrow private immutable _escrow; - - constructor() { - _escrow = new Escrow(); - } - - /** - * @dev Withdraw accumulated payments, forwarding all gas to the recipient. - * - * Note that _any_ account can call this function, not just the `payee`. - * This means that contracts unaware of the `PullPayment` protocol can still - * receive funds this way, by having a separate account call - * {withdrawPayments}. - * - * WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. - * Make sure you trust the recipient, or are either following the - * checks-effects-interactions pattern or using {ReentrancyGuard}. - * - * @param payee Whose payments will be withdrawn. - */ - function withdrawPayments(address payable payee) public virtual { - _escrow.withdraw(payee); - } - - /** - * @dev Returns the payments owed to an address. - * @param dest The creditor's address. - */ - function payments(address dest) public view returns (uint256) { - return _escrow.depositsOf(dest); - } - - /** - * @dev Called by the payer to store the sent amount as credit to be pulled. - * Funds sent in this way are stored in an intermediate {Escrow} contract, so - * there is no danger of them being spent before withdrawal. - * - * @param dest The destination address of the funds. - * @param amount The amount to transfer. - */ - function _asyncTransfer(address dest, uint256 amount) internal virtual { - _escrow.deposit{value: amount}(dest); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol deleted file mode 100644 index 0534bc3216..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/security/ReentrancyGuard.sol +++ /dev/null @@ -1,63 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (security/ReentrancyGuard.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Contract module that helps prevent reentrant calls to a function. - * - * Inheriting from `ReentrancyGuard` will make the {nonReentrant} modifier - * available, which can be applied to functions to make sure there are no nested - * (reentrant) calls to them. - * - * Note that because there is a single `nonReentrant` guard, functions marked as - * `nonReentrant` may not call one another. This can be worked around by making - * those functions `private`, and then adding `external` `nonReentrant` entry - * points to them. - * - * TIP: If you would like to learn more about reentrancy and alternative ways - * to protect against it, check out our blog post - * https://blog.openzeppelin.com/reentrancy-after-istanbul/[Reentrancy After Istanbul]. - */ -abstract contract ReentrancyGuard { - // Booleans are more expensive than uint256 or any type that takes up a full - // word because each write operation emits an extra SLOAD to first read the - // slot's contents, replace the bits taken up by the boolean, and then write - // back. This is the compiler's defense against contract upgrades and - // pointer aliasing, and it cannot be disabled. - - // The values being non-zero value makes deployment a bit more expensive, - // but in exchange the refund on every call to nonReentrant will be lower in - // amount. Since refunds are capped to a percentage of the total - // transaction's gas, it is best to keep them low in cases like this one, to - // increase the likelihood of the full refund coming into effect. - uint256 private constant _NOT_ENTERED = 1; - uint256 private constant _ENTERED = 2; - - uint256 private _status; - - constructor() { - _status = _NOT_ENTERED; - } - - /** - * @dev Prevents a contract from calling itself, directly or indirectly. - * Calling a `nonReentrant` function from another `nonReentrant` - * function is not supported. It is possible to prevent this from happening - * by making the `nonReentrant` function external, and making it call a - * `private` function that does the actual work. - */ - modifier nonReentrant() { - // On the first call to nonReentrant, _notEntered will be true - require(_status != _ENTERED, "ReentrancyGuard: reentrant call"); - - // Any calls to nonReentrant after this point will fail - _status = _ENTERED; - - _; - - // By storing the original value once again, a refund is triggered (see - // https://eips.ethereum.org/EIPS/eip-2200) - _status = _NOT_ENTERED; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol deleted file mode 100644 index 5357a5d281..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/ERC1155.sol +++ /dev/null @@ -1,464 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC1155/ERC1155.sol) - -pragma solidity ^0.8.0; - -import "./IERC1155.sol"; -import "./IERC1155Receiver.sol"; -import "./extensions/IERC1155MetadataURI.sol"; -import "../../utils/Address.sol"; -import "../../utils/Context.sol"; -import "../../utils/introspection/ERC165.sol"; - -/** - * @dev Implementation of the basic standard multi-token. - * See https://eips.ethereum.org/EIPS/eip-1155 - * Originally based on code by Enjin: https://github.com/enjin/erc-1155 - * - * _Available since v3.1._ - */ -contract ERC1155 is Context, ERC165, IERC1155, IERC1155MetadataURI { - using Address for address; - - // Mapping from token ID to account balances - mapping(uint256 => mapping(address => uint256)) private _balances; - - // Mapping from account to operator approvals - mapping(address => mapping(address => bool)) private _operatorApprovals; - - // Used as the URI for all token types by relying on ID substitution, e.g. https://token-cdn-domain/{id}.json - string private _uri; - - /** - * @dev See {_setURI}. - */ - constructor(string memory uri_) { - _setURI(uri_); - } - - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { - return - interfaceId == type(IERC1155).interfaceId || - interfaceId == type(IERC1155MetadataURI).interfaceId || - super.supportsInterface(interfaceId); - } - - /** - * @dev See {IERC1155MetadataURI-uri}. - * - * This implementation returns the same URI for *all* token types. It relies - * on the token type ID substitution mechanism - * https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. - * - * Clients calling this function must replace the `\{id\}` substring with the - * actual token type ID. - */ - function uri(uint256) public view virtual override returns (string memory) { - return _uri; - } - - /** - * @dev See {IERC1155-balanceOf}. - * - * Requirements: - * - * - `account` cannot be the zero address. - */ - function balanceOf(address account, uint256 id) public view virtual override returns (uint256) { - require(account != address(0), "ERC1155: balance query for the zero address"); - return _balances[id][account]; - } - - /** - * @dev See {IERC1155-balanceOfBatch}. - * - * Requirements: - * - * - `accounts` and `ids` must have the same length. - */ - function balanceOfBatch(address[] memory accounts, uint256[] memory ids) - public - view - virtual - override - returns (uint256[] memory) - { - require(accounts.length == ids.length, "ERC1155: accounts and ids length mismatch"); - - uint256[] memory batchBalances = new uint256[](accounts.length); - - for (uint256 i = 0; i < accounts.length; ++i) { - batchBalances[i] = balanceOf(accounts[i], ids[i]); - } - - return batchBalances; - } - - /** - * @dev See {IERC1155-setApprovalForAll}. - */ - function setApprovalForAll(address operator, bool approved) public virtual override { - _setApprovalForAll(_msgSender(), operator, approved); - } - - /** - * @dev See {IERC1155-isApprovedForAll}. - */ - function isApprovedForAll(address account, address operator) public view virtual override returns (bool) { - return _operatorApprovals[account][operator]; - } - - /** - * @dev See {IERC1155-safeTransferFrom}. - */ - function safeTransferFrom( - address from, - address to, - uint256 id, - uint256 amount, - bytes memory data - ) public virtual override { - require( - from == _msgSender() || isApprovedForAll(from, _msgSender()), - "ERC1155: caller is not owner nor approved" - ); - _safeTransferFrom(from, to, id, amount, data); - } - - /** - * @dev See {IERC1155-safeBatchTransferFrom}. - */ - function safeBatchTransferFrom( - address from, - address to, - uint256[] memory ids, - uint256[] memory amounts, - bytes memory data - ) public virtual override { - require( - from == _msgSender() || isApprovedForAll(from, _msgSender()), - "ERC1155: transfer caller is not owner nor approved" - ); - _safeBatchTransferFrom(from, to, ids, amounts, data); - } - - /** - * @dev Transfers `amount` tokens of token type `id` from `from` to `to`. - * - * Emits a {TransferSingle} event. - * - * Requirements: - * - * - `to` cannot be the zero address. - * - `from` must have a balance of tokens of type `id` of at least `amount`. - * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the - * acceptance magic value. - */ - function _safeTransferFrom( - address from, - address to, - uint256 id, - uint256 amount, - bytes memory data - ) internal virtual { - require(to != address(0), "ERC1155: transfer to the zero address"); - - address operator = _msgSender(); - - _beforeTokenTransfer(operator, from, to, _asSingletonArray(id), _asSingletonArray(amount), data); - - uint256 fromBalance = _balances[id][from]; - require(fromBalance >= amount, "ERC1155: insufficient balance for transfer"); - unchecked { - _balances[id][from] = fromBalance - amount; - } - _balances[id][to] += amount; - - emit TransferSingle(operator, from, to, id, amount); - - _doSafeTransferAcceptanceCheck(operator, from, to, id, amount, data); - } - - /** - * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_safeTransferFrom}. - * - * Emits a {TransferBatch} event. - * - * Requirements: - * - * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the - * acceptance magic value. - */ - function _safeBatchTransferFrom( - address from, - address to, - uint256[] memory ids, - uint256[] memory amounts, - bytes memory data - ) internal virtual { - require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch"); - require(to != address(0), "ERC1155: transfer to the zero address"); - - address operator = _msgSender(); - - _beforeTokenTransfer(operator, from, to, ids, amounts, data); - - for (uint256 i = 0; i < ids.length; ++i) { - uint256 id = ids[i]; - uint256 amount = amounts[i]; - - uint256 fromBalance = _balances[id][from]; - require(fromBalance >= amount, "ERC1155: insufficient balance for transfer"); - unchecked { - _balances[id][from] = fromBalance - amount; - } - _balances[id][to] += amount; - } - - emit TransferBatch(operator, from, to, ids, amounts); - - _doSafeBatchTransferAcceptanceCheck(operator, from, to, ids, amounts, data); - } - - /** - * @dev Sets a new URI for all token types, by relying on the token type ID - * substitution mechanism - * https://eips.ethereum.org/EIPS/eip-1155#metadata[defined in the EIP]. - * - * By this mechanism, any occurrence of the `\{id\}` substring in either the - * URI or any of the amounts in the JSON file at said URI will be replaced by - * clients with the token type ID. - * - * For example, the `https://token-cdn-domain/\{id\}.json` URI would be - * interpreted by clients as - * `https://token-cdn-domain/000000000000000000000000000000000000000000000000000000000004cce0.json` - * for token type ID 0x4cce0. - * - * See {uri}. - * - * Because these URIs cannot be meaningfully represented by the {URI} event, - * this function emits no events. - */ - function _setURI(string memory newuri) internal virtual { - _uri = newuri; - } - - /** - * @dev Creates `amount` tokens of token type `id`, and assigns them to `to`. - * - * Emits a {TransferSingle} event. - * - * Requirements: - * - * - `to` cannot be the zero address. - * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the - * acceptance magic value. - */ - function _mint( - address to, - uint256 id, - uint256 amount, - bytes memory data - ) internal virtual { - require(to != address(0), "ERC1155: mint to the zero address"); - - address operator = _msgSender(); - - _beforeTokenTransfer(operator, address(0), to, _asSingletonArray(id), _asSingletonArray(amount), data); - - _balances[id][to] += amount; - emit TransferSingle(operator, address(0), to, id, amount); - - _doSafeTransferAcceptanceCheck(operator, address(0), to, id, amount, data); - } - - /** - * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_mint}. - * - * Requirements: - * - * - `ids` and `amounts` must have the same length. - * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the - * acceptance magic value. - */ - function _mintBatch( - address to, - uint256[] memory ids, - uint256[] memory amounts, - bytes memory data - ) internal virtual { - require(to != address(0), "ERC1155: mint to the zero address"); - require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch"); - - address operator = _msgSender(); - - _beforeTokenTransfer(operator, address(0), to, ids, amounts, data); - - for (uint256 i = 0; i < ids.length; i++) { - _balances[ids[i]][to] += amounts[i]; - } - - emit TransferBatch(operator, address(0), to, ids, amounts); - - _doSafeBatchTransferAcceptanceCheck(operator, address(0), to, ids, amounts, data); - } - - /** - * @dev Destroys `amount` tokens of token type `id` from `from` - * - * Requirements: - * - * - `from` cannot be the zero address. - * - `from` must have at least `amount` tokens of token type `id`. - */ - function _burn( - address from, - uint256 id, - uint256 amount - ) internal virtual { - require(from != address(0), "ERC1155: burn from the zero address"); - - address operator = _msgSender(); - - _beforeTokenTransfer(operator, from, address(0), _asSingletonArray(id), _asSingletonArray(amount), ""); - - uint256 fromBalance = _balances[id][from]; - require(fromBalance >= amount, "ERC1155: burn amount exceeds balance"); - unchecked { - _balances[id][from] = fromBalance - amount; - } - - emit TransferSingle(operator, from, address(0), id, amount); - } - - /** - * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {_burn}. - * - * Requirements: - * - * - `ids` and `amounts` must have the same length. - */ - function _burnBatch( - address from, - uint256[] memory ids, - uint256[] memory amounts - ) internal virtual { - require(from != address(0), "ERC1155: burn from the zero address"); - require(ids.length == amounts.length, "ERC1155: ids and amounts length mismatch"); - - address operator = _msgSender(); - - _beforeTokenTransfer(operator, from, address(0), ids, amounts, ""); - - for (uint256 i = 0; i < ids.length; i++) { - uint256 id = ids[i]; - uint256 amount = amounts[i]; - - uint256 fromBalance = _balances[id][from]; - require(fromBalance >= amount, "ERC1155: burn amount exceeds balance"); - unchecked { - _balances[id][from] = fromBalance - amount; - } - } - - emit TransferBatch(operator, from, address(0), ids, amounts); - } - - /** - * @dev Approve `operator` to operate on all of `owner` tokens - * - * Emits a {ApprovalForAll} event. - */ - function _setApprovalForAll( - address owner, - address operator, - bool approved - ) internal virtual { - require(owner != operator, "ERC1155: setting approval status for self"); - _operatorApprovals[owner][operator] = approved; - emit ApprovalForAll(owner, operator, approved); - } - - /** - * @dev Hook that is called before any token transfer. This includes minting - * and burning, as well as batched variants. - * - * The same hook is called on both single and batched variants. For single - * transfers, the length of the `id` and `amount` arrays will be 1. - * - * Calling conditions (for each `id` and `amount` pair): - * - * - When `from` and `to` are both non-zero, `amount` of ``from``'s tokens - * of token type `id` will be transferred to `to`. - * - When `from` is zero, `amount` tokens of token type `id` will be minted - * for `to`. - * - when `to` is zero, `amount` of ``from``'s tokens of token type `id` - * will be burned. - * - `from` and `to` are never both zero. - * - `ids` and `amounts` have the same, non-zero length. - * - * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. - */ - function _beforeTokenTransfer( - address operator, - address from, - address to, - uint256[] memory ids, - uint256[] memory amounts, - bytes memory data - ) internal virtual {} - - function _doSafeTransferAcceptanceCheck( - address operator, - address from, - address to, - uint256 id, - uint256 amount, - bytes memory data - ) private { - if (to.isContract()) { - try IERC1155Receiver(to).onERC1155Received(operator, from, id, amount, data) returns (bytes4 response) { - if (response != IERC1155Receiver.onERC1155Received.selector) { - revert("ERC1155: ERC1155Receiver rejected tokens"); - } - } catch Error(string memory reason) { - revert(reason); - } catch { - revert("ERC1155: transfer to non ERC1155Receiver implementer"); - } - } - } - - function _doSafeBatchTransferAcceptanceCheck( - address operator, - address from, - address to, - uint256[] memory ids, - uint256[] memory amounts, - bytes memory data - ) private { - if (to.isContract()) { - try IERC1155Receiver(to).onERC1155BatchReceived(operator, from, ids, amounts, data) returns ( - bytes4 response - ) { - if (response != IERC1155Receiver.onERC1155BatchReceived.selector) { - revert("ERC1155: ERC1155Receiver rejected tokens"); - } - } catch Error(string memory reason) { - revert(reason); - } catch { - revert("ERC1155: transfer to non ERC1155Receiver implementer"); - } - } - } - - function _asSingletonArray(uint256 element) private pure returns (uint256[] memory) { - uint256[] memory array = new uint256[](1); - array[0] = element; - - return array; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol deleted file mode 100644 index 6c93eddd12..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155.sol +++ /dev/null @@ -1,125 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC1155/IERC1155.sol) - -pragma solidity ^0.8.0; - -import "../../utils/introspection/IERC165.sol"; - -/** - * @dev Required interface of an ERC1155 compliant contract, as defined in the - * https://eips.ethereum.org/EIPS/eip-1155[EIP]. - * - * _Available since v3.1._ - */ -interface IERC1155 is IERC165 { - /** - * @dev Emitted when `value` tokens of token type `id` are transferred from `from` to `to` by `operator`. - */ - event TransferSingle(address indexed operator, address indexed from, address indexed to, uint256 id, uint256 value); - - /** - * @dev Equivalent to multiple {TransferSingle} events, where `operator`, `from` and `to` are the same for all - * transfers. - */ - event TransferBatch( - address indexed operator, - address indexed from, - address indexed to, - uint256[] ids, - uint256[] values - ); - - /** - * @dev Emitted when `account` grants or revokes permission to `operator` to transfer their tokens, according to - * `approved`. - */ - event ApprovalForAll(address indexed account, address indexed operator, bool approved); - - /** - * @dev Emitted when the URI for token type `id` changes to `value`, if it is a non-programmatic URI. - * - * If an {URI} event was emitted for `id`, the standard - * https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[guarantees] that `value` will equal the value - * returned by {IERC1155MetadataURI-uri}. - */ - event URI(string value, uint256 indexed id); - - /** - * @dev Returns the amount of tokens of token type `id` owned by `account`. - * - * Requirements: - * - * - `account` cannot be the zero address. - */ - function balanceOf(address account, uint256 id) external view returns (uint256); - - /** - * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {balanceOf}. - * - * Requirements: - * - * - `accounts` and `ids` must have the same length. - */ - function balanceOfBatch(address[] calldata accounts, uint256[] calldata ids) - external - view - returns (uint256[] memory); - - /** - * @dev Grants or revokes permission to `operator` to transfer the caller's tokens, according to `approved`, - * - * Emits an {ApprovalForAll} event. - * - * Requirements: - * - * - `operator` cannot be the caller. - */ - function setApprovalForAll(address operator, bool approved) external; - - /** - * @dev Returns true if `operator` is approved to transfer ``account``'s tokens. - * - * See {setApprovalForAll}. - */ - function isApprovedForAll(address account, address operator) external view returns (bool); - - /** - * @dev Transfers `amount` tokens of token type `id` from `from` to `to`. - * - * Emits a {TransferSingle} event. - * - * Requirements: - * - * - `to` cannot be the zero address. - * - If the caller is not `from`, it must be have been approved to spend ``from``'s tokens via {setApprovalForAll}. - * - `from` must have a balance of tokens of type `id` of at least `amount`. - * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155Received} and return the - * acceptance magic value. - */ - function safeTransferFrom( - address from, - address to, - uint256 id, - uint256 amount, - bytes calldata data - ) external; - - /** - * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] version of {safeTransferFrom}. - * - * Emits a {TransferBatch} event. - * - * Requirements: - * - * - `ids` and `amounts` must have the same length. - * - If `to` refers to a smart contract, it must implement {IERC1155Receiver-onERC1155BatchReceived} and return the - * acceptance magic value. - */ - function safeBatchTransferFrom( - address from, - address to, - uint256[] calldata ids, - uint256[] calldata amounts, - bytes calldata data - ) external; -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol deleted file mode 100644 index e19d64f085..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/IERC1155Receiver.sol +++ /dev/null @@ -1,53 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC1155/IERC1155Receiver.sol) - -pragma solidity ^0.8.0; - -import "../../utils/introspection/IERC165.sol"; - -/** - * @dev _Available since v3.1._ - */ -interface IERC1155Receiver is IERC165 { - /** - @dev Handles the receipt of a single ERC1155 token type. This function is - called at the end of a `safeTransferFrom` after the balance has been updated. - To accept the transfer, this must return - `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` - (i.e. 0xf23a6e61, or its own function selector). - @param operator The address which initiated the transfer (i.e. msg.sender) - @param from The address which previously owned the token - @param id The ID of the token being transferred - @param value The amount of tokens being transferred - @param data Additional data with no specified format - @return `bytes4(keccak256("onERC1155Received(address,address,uint256,uint256,bytes)"))` if transfer is allowed - */ - function onERC1155Received( - address operator, - address from, - uint256 id, - uint256 value, - bytes calldata data - ) external returns (bytes4); - - /** - @dev Handles the receipt of a multiple ERC1155 token types. This function - is called at the end of a `safeBatchTransferFrom` after the balances have - been updated. To accept the transfer(s), this must return - `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` - (i.e. 0xbc197c81, or its own function selector). - @param operator The address which initiated the batch transfer (i.e. msg.sender) - @param from The address which previously owned the token - @param ids An array containing ids of each token being transferred (order and length must match values array) - @param values An array containing amounts of each token being transferred (order and length must match ids array) - @param data Additional data with no specified format - @return `bytes4(keccak256("onERC1155BatchReceived(address,address,uint256[],uint256[],bytes)"))` if transfer is allowed - */ - function onERC1155BatchReceived( - address operator, - address from, - uint256[] calldata ids, - uint256[] calldata values, - bytes calldata data - ) external returns (bytes4); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol deleted file mode 100644 index 3608d81241..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Burnable.sol +++ /dev/null @@ -1,40 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC1155/extensions/ERC1155Burnable.sol) - -pragma solidity ^0.8.0; - -import "../ERC1155.sol"; - -/** - * @dev Extension of {ERC1155} that allows token holders to destroy both their - * own tokens and those that they have been approved to use. - * - * _Available since v3.1._ - */ -abstract contract ERC1155Burnable is ERC1155 { - function burn( - address account, - uint256 id, - uint256 value - ) public virtual { - require( - account == _msgSender() || isApprovedForAll(account, _msgSender()), - "ERC1155: caller is not owner nor approved" - ); - - _burn(account, id, value); - } - - function burnBatch( - address account, - uint256[] memory ids, - uint256[] memory values - ) public virtual { - require( - account == _msgSender() || isApprovedForAll(account, _msgSender()), - "ERC1155: caller is not owner nor approved" - ); - - _burnBatch(account, ids, values); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol deleted file mode 100644 index 189c248716..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Pausable.sol +++ /dev/null @@ -1,38 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC1155/extensions/ERC1155Pausable.sol) - -pragma solidity ^0.8.0; - -import "../ERC1155.sol"; -import "../../../security/Pausable.sol"; - -/** - * @dev ERC1155 token with pausable token transfers, minting and burning. - * - * Useful for scenarios such as preventing trades until the end of an evaluation - * period, or having an emergency switch for freezing all token transfers in the - * event of a large bug. - * - * _Available since v3.1._ - */ -abstract contract ERC1155Pausable is ERC1155, Pausable { - /** - * @dev See {ERC1155-_beforeTokenTransfer}. - * - * Requirements: - * - * - the contract must not be paused. - */ - function _beforeTokenTransfer( - address operator, - address from, - address to, - uint256[] memory ids, - uint256[] memory amounts, - bytes memory data - ) internal virtual override { - super._beforeTokenTransfer(operator, from, to, ids, amounts, data); - - require(!paused(), "ERC1155Pausable: token transfer while paused"); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol deleted file mode 100644 index 10552f26ad..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/ERC1155Supply.sol +++ /dev/null @@ -1,58 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC1155/extensions/ERC1155Supply.sol) - -pragma solidity ^0.8.0; - -import "../ERC1155.sol"; - -/** - * @dev Extension of ERC1155 that adds tracking of total supply per id. - * - * Useful for scenarios where Fungible and Non-fungible tokens have to be - * clearly identified. Note: While a totalSupply of 1 might mean the - * corresponding is an NFT, there is no guarantees that no other token with the - * same id are not going to be minted. - */ -abstract contract ERC1155Supply is ERC1155 { - mapping(uint256 => uint256) private _totalSupply; - - /** - * @dev Total amount of tokens in with a given id. - */ - function totalSupply(uint256 id) public view virtual returns (uint256) { - return _totalSupply[id]; - } - - /** - * @dev Indicates whether any token exist with a given id, or not. - */ - function exists(uint256 id) public view virtual returns (bool) { - return ERC1155Supply.totalSupply(id) > 0; - } - - /** - * @dev See {ERC1155-_beforeTokenTransfer}. - */ - function _beforeTokenTransfer( - address operator, - address from, - address to, - uint256[] memory ids, - uint256[] memory amounts, - bytes memory data - ) internal virtual override { - super._beforeTokenTransfer(operator, from, to, ids, amounts, data); - - if (from == address(0)) { - for (uint256 i = 0; i < ids.length; ++i) { - _totalSupply[ids[i]] += amounts[i]; - } - } - - if (to == address(0)) { - for (uint256 i = 0; i < ids.length; ++i) { - _totalSupply[ids[i]] -= amounts[i]; - } - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol deleted file mode 100644 index 9f3522c799..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol +++ /dev/null @@ -1,22 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC1155/extensions/IERC1155MetadataURI.sol) - -pragma solidity ^0.8.0; - -import "../IERC1155.sol"; - -/** - * @dev Interface of the optional ERC1155MetadataExtension interface, as defined - * in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[EIP]. - * - * _Available since v3.1._ - */ -interface IERC1155MetadataURI is IERC1155 { - /** - * @dev Returns the URI for token type `id`. - * - * If the `\{id\}` substring is present in the URI, it must be replaced by - * clients with the actual token type ID. - */ - function uri(uint256 id) external view returns (string memory); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol deleted file mode 100644 index 1241f2ad1e..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/presets/ERC1155PresetMinterPauser.sol +++ /dev/null @@ -1,126 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC1155/presets/ERC1155PresetMinterPauser.sol) - -pragma solidity ^0.8.0; - -import "../ERC1155.sol"; -import "../extensions/ERC1155Burnable.sol"; -import "../extensions/ERC1155Pausable.sol"; -import "../../../access/AccessControlEnumerable.sol"; -import "../../../utils/Context.sol"; - -/** - * @dev {ERC1155} token, including: - * - * - ability for holders to burn (destroy) their tokens - * - a minter role that allows for token minting (creation) - * - a pauser role that allows to stop all token transfers - * - * This contract uses {AccessControl} to lock permissioned functions using the - * different roles - head to its documentation for details. - * - * The account that deploys the contract will be granted the minter and pauser - * roles, as well as the default admin role, which will let it grant both minter - * and pauser roles to other accounts. - */ -contract ERC1155PresetMinterPauser is Context, AccessControlEnumerable, ERC1155Burnable, ERC1155Pausable { - bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); - bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); - - /** - * @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE`, and `PAUSER_ROLE` to the account that - * deploys the contract. - */ - constructor(string memory uri) ERC1155(uri) { - _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); - - _setupRole(MINTER_ROLE, _msgSender()); - _setupRole(PAUSER_ROLE, _msgSender()); - } - - /** - * @dev Creates `amount` new tokens for `to`, of token type `id`. - * - * See {ERC1155-_mint}. - * - * Requirements: - * - * - the caller must have the `MINTER_ROLE`. - */ - function mint( - address to, - uint256 id, - uint256 amount, - bytes memory data - ) public virtual { - require(hasRole(MINTER_ROLE, _msgSender()), "ERC1155PresetMinterPauser: must have minter role to mint"); - - _mint(to, id, amount, data); - } - - /** - * @dev xref:ROOT:erc1155.adoc#batch-operations[Batched] variant of {mint}. - */ - function mintBatch( - address to, - uint256[] memory ids, - uint256[] memory amounts, - bytes memory data - ) public virtual { - require(hasRole(MINTER_ROLE, _msgSender()), "ERC1155PresetMinterPauser: must have minter role to mint"); - - _mintBatch(to, ids, amounts, data); - } - - /** - * @dev Pauses all token transfers. - * - * See {ERC1155Pausable} and {Pausable-_pause}. - * - * Requirements: - * - * - the caller must have the `PAUSER_ROLE`. - */ - function pause() public virtual { - require(hasRole(PAUSER_ROLE, _msgSender()), "ERC1155PresetMinterPauser: must have pauser role to pause"); - _pause(); - } - - /** - * @dev Unpauses all token transfers. - * - * See {ERC1155Pausable} and {Pausable-_unpause}. - * - * Requirements: - * - * - the caller must have the `PAUSER_ROLE`. - */ - function unpause() public virtual { - require(hasRole(PAUSER_ROLE, _msgSender()), "ERC1155PresetMinterPauser: must have pauser role to unpause"); - _unpause(); - } - - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) - public - view - virtual - override(AccessControlEnumerable, ERC1155) - returns (bool) - { - return super.supportsInterface(interfaceId); - } - - function _beforeTokenTransfer( - address operator, - address from, - address to, - uint256[] memory ids, - uint256[] memory amounts, - bytes memory data - ) internal virtual override(ERC1155, ERC1155Pausable) { - super._beforeTokenTransfer(operator, from, to, ids, amounts, data); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol deleted file mode 100644 index c5d737a1c8..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol +++ /dev/null @@ -1,31 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC1155/utils/ERC1155Holder.sol) - -pragma solidity ^0.8.0; - -import "./ERC1155Receiver.sol"; - -/** - * @dev _Available since v3.1._ - */ -contract ERC1155Holder is ERC1155Receiver { - function onERC1155Received( - address, - address, - uint256, - uint256, - bytes memory - ) public virtual override returns (bytes4) { - return this.onERC1155Received.selector; - } - - function onERC1155BatchReceived( - address, - address, - uint256[] memory, - uint256[] memory, - bytes memory - ) public virtual override returns (bytes4) { - return this.onERC1155BatchReceived.selector; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol deleted file mode 100644 index b0d2f5dee1..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol +++ /dev/null @@ -1,19 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC1155/utils/ERC1155Receiver.sol) - -pragma solidity ^0.8.0; - -import "../IERC1155Receiver.sol"; -import "../../../utils/introspection/ERC165.sol"; - -/** - * @dev _Available since v3.1._ - */ -abstract contract ERC1155Receiver is ERC165, IERC1155Receiver { - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { - return interfaceId == type(IERC1155Receiver).interfaceId || super.supportsInterface(interfaceId); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol deleted file mode 100644 index a8c60e5956..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol +++ /dev/null @@ -1,356 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/ERC20.sol) - -pragma solidity ^0.8.0; - -import "./IERC20.sol"; -import "./extensions/IERC20Metadata.sol"; -import "../../utils/Context.sol"; - -/** - * @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.zeppelin.solutions/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 is Context, IERC20, IERC20Metadata { - 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 override returns (string memory) { - return _name; - } - - /** - * @dev Returns the symbol of the token, usually a shorter version of the - * name. - */ - function symbol() public view virtual override 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 override returns (uint8) { - return 18; - } - - /** - * @dev See {IERC20-totalSupply}. - */ - function totalSupply() public view virtual override returns (uint256) { - return _totalSupply; - } - - /** - * @dev See {IERC20-balanceOf}. - */ - function balanceOf(address account) public view virtual override returns (uint256) { - return _balances[account]; - } - - /** - * @dev See {IERC20-transfer}. - * - * Requirements: - * - * - `recipient` cannot be the zero address. - * - the caller must have a balance of at least `amount`. - */ - function transfer(address recipient, uint256 amount) public virtual override returns (bool) { - _transfer(_msgSender(), recipient, amount); - return true; - } - - /** - * @dev See {IERC20-allowance}. - */ - function allowance(address owner, address spender) public view virtual override returns (uint256) { - return _allowances[owner][spender]; - } - - /** - * @dev See {IERC20-approve}. - * - * Requirements: - * - * - `spender` cannot be the zero address. - */ - function approve(address spender, uint256 amount) public virtual override returns (bool) { - _approve(_msgSender(), 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}. - * - * Requirements: - * - * - `sender` and `recipient` cannot be the zero address. - * - `sender` must have a balance of at least `amount`. - * - the caller must have allowance for ``sender``'s tokens of at least - * `amount`. - */ - function transferFrom( - address sender, - address recipient, - uint256 amount - ) public virtual override returns (bool) { - _transfer(sender, recipient, amount); - - uint256 currentAllowance = _allowances[sender][_msgSender()]; - require(currentAllowance >= amount, "ERC20: transfer amount exceeds allowance"); - unchecked { - _approve(sender, _msgSender(), currentAllowance - 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) { - _approve(_msgSender(), spender, _allowances[_msgSender()][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) { - uint256 currentAllowance = _allowances[_msgSender()][spender]; - require(currentAllowance >= subtractedValue, "ERC20: decreased allowance below zero"); - unchecked { - _approve(_msgSender(), spender, currentAllowance - subtractedValue); - } - - return true; - } - - /** - * @dev Moves `amount` of tokens from `sender` to `recipient`. - * - * 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: - * - * - `sender` cannot be the zero address. - * - `recipient` cannot be the zero address. - * - `sender` must have a balance of at least `amount`. - */ - function _transfer( - address sender, - address recipient, - uint256 amount - ) internal virtual { - require(sender != address(0), "ERC20: transfer from the zero address"); - require(recipient != address(0), "ERC20: transfer to the zero address"); - - _beforeTokenTransfer(sender, recipient, amount); - - uint256 senderBalance = _balances[sender]; - require(senderBalance >= amount, "ERC20: transfer amount exceeds balance"); - unchecked { - _balances[sender] = senderBalance - amount; - } - _balances[recipient] += amount; - - emit Transfer(sender, recipient, amount); - - _afterTokenTransfer(sender, recipient, 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; - _balances[account] += amount; - emit Transfer(address(0), 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; - } - _totalSupply -= amount; - - emit Transfer(account, address(0), 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; - emit Approval(owner, spender, 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/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol deleted file mode 100644 index ba210565b1..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol +++ /dev/null @@ -1,82 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Interface of the ERC20 standard as defined in the EIP. - */ -interface IERC20 { - /** - * @dev Returns the amount of tokens in existence. - */ - function totalSupply() external view returns (uint256); - - /** - * @dev Returns the amount of tokens owned by `account`. - */ - function balanceOf(address account) external view returns (uint256); - - /** - * @dev Moves `amount` tokens from the caller's account to `recipient`. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * Emits a {Transfer} event. - */ - function transfer(address recipient, uint256 amount) external returns (bool); - - /** - * @dev Returns the remaining number of tokens that `spender` will be - * allowed to spend on behalf of `owner` through {transferFrom}. This is - * zero by default. - * - * This value changes when {approve} or {transferFrom} are called. - */ - function allowance(address owner, address spender) external view returns (uint256); - - /** - * @dev Sets `amount` as the allowance of `spender` over the caller's tokens. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * IMPORTANT: Beware that changing an allowance with this method brings the risk - * that someone may use both the old and the new allowance by unfortunate - * transaction ordering. One possible solution to mitigate this race - * condition is to first reduce the spender's allowance to 0 and set the - * desired value afterwards: - * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729 - * - * Emits an {Approval} event. - */ - function approve(address spender, uint256 amount) external returns (bool); - - /** - * @dev Moves `amount` tokens from `sender` to `recipient` using the - * allowance mechanism. `amount` is then deducted from the caller's - * allowance. - * - * Returns a boolean value indicating whether the operation succeeded. - * - * Emits a {Transfer} event. - */ - function transferFrom( - address sender, - address recipient, - uint256 amount - ) external returns (bool); - - /** - * @dev Emitted when `value` tokens are moved from one account (`from`) to - * another (`to`). - * - * Note that `value` may be zero. - */ - event Transfer(address indexed from, address indexed to, uint256 value); - - /** - * @dev Emitted when the allowance of a `spender` for an `owner` is set by - * a call to {approve}. `value` is the new allowance. - */ - event Approval(address indexed owner, address indexed spender, uint256 value); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol deleted file mode 100644 index e5e00f97c7..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol +++ /dev/null @@ -1,43 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Burnable.sol) - -pragma solidity ^0.8.0; - -import "../ERC20.sol"; -import "../../../utils/Context.sol"; - -/** - * @dev Extension of {ERC20} that allows token holders to destroy both their own - * tokens and those that they have an allowance for, in a way that can be - * recognized off-chain (via event analysis). - */ -abstract contract ERC20Burnable is Context, ERC20 { - /** - * @dev Destroys `amount` tokens from the caller. - * - * See {ERC20-_burn}. - */ - function burn(uint256 amount) public virtual { - _burn(_msgSender(), amount); - } - - /** - * @dev Destroys `amount` tokens from `account`, deducting from the caller's - * allowance. - * - * See {ERC20-_burn} and {ERC20-allowance}. - * - * Requirements: - * - * - the caller must have allowance for ``accounts``'s tokens of at least - * `amount`. - */ - function burnFrom(address account, uint256 amount) public virtual { - uint256 currentAllowance = allowance(account, _msgSender()); - require(currentAllowance >= amount, "ERC20: burn amount exceeds allowance"); - unchecked { - _approve(account, _msgSender(), currentAllowance - amount); - } - _burn(account, amount); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol deleted file mode 100644 index 88c12cd43a..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Capped.sol +++ /dev/null @@ -1,37 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Capped.sol) - -pragma solidity ^0.8.0; - -import "../ERC20.sol"; - -/** - * @dev Extension of {ERC20} that adds a cap to the supply of tokens. - */ -abstract contract ERC20Capped is ERC20 { - uint256 private immutable _cap; - - /** - * @dev Sets the value of the `cap`. This value is immutable, it can only be - * set once during construction. - */ - constructor(uint256 cap_) { - require(cap_ > 0, "ERC20Capped: cap is 0"); - _cap = cap_; - } - - /** - * @dev Returns the cap on the token's total supply. - */ - function cap() public view virtual returns (uint256) { - return _cap; - } - - /** - * @dev See {ERC20-_mint}. - */ - function _mint(address account, uint256 amount) internal virtual override { - require(ERC20.totalSupply() + amount <= cap(), "ERC20Capped: cap exceeded"); - super._mint(account, amount); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol deleted file mode 100644 index c16ae0387b..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20FlashMint.sol +++ /dev/null @@ -1,77 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20FlashMint.sol) - -pragma solidity ^0.8.0; - -import "../../../interfaces/IERC3156.sol"; -import "../ERC20.sol"; - -/** - * @dev Implementation of the ERC3156 Flash loans extension, as defined in - * https://eips.ethereum.org/EIPS/eip-3156[ERC-3156]. - * - * Adds the {flashLoan} method, which provides flash loan support at the token - * level. By default there is no fee, but this can be changed by overriding {flashFee}. - * - * _Available since v4.1._ - */ -abstract contract ERC20FlashMint is ERC20, IERC3156FlashLender { - bytes32 private constant _RETURN_VALUE = keccak256("ERC3156FlashBorrower.onFlashLoan"); - - /** - * @dev Returns the maximum amount of tokens available for loan. - * @param token The address of the token that is requested. - * @return The amont of token that can be loaned. - */ - function maxFlashLoan(address token) public view override returns (uint256) { - return token == address(this) ? type(uint256).max - ERC20.totalSupply() : 0; - } - - /** - * @dev Returns the fee applied when doing flash loans. By default this - * implementation has 0 fees. This function can be overloaded to make - * the flash loan mechanism deflationary. - * @param token The token to be flash loaned. - * @param amount The amount of tokens to be loaned. - * @return The fees applied to the corresponding flash loan. - */ - function flashFee(address token, uint256 amount) public view virtual override returns (uint256) { - require(token == address(this), "ERC20FlashMint: wrong token"); - // silence warning about unused variable without the addition of bytecode. - amount; - return 0; - } - - /** - * @dev Performs a flash loan. New tokens are minted and sent to the - * `receiver`, who is required to implement the {IERC3156FlashBorrower} - * interface. By the end of the flash loan, the receiver is expected to own - * amount + fee tokens and have them approved back to the token contract itself so - * they can be burned. - * @param receiver The receiver of the flash loan. Should implement the - * {IERC3156FlashBorrower.onFlashLoan} interface. - * @param token The token to be flash loaned. Only `address(this)` is - * supported. - * @param amount The amount of tokens to be loaned. - * @param data An arbitrary datafield that is passed to the receiver. - * @return `true` is the flash loan was successful. - */ - function flashLoan( - IERC3156FlashBorrower receiver, - address token, - uint256 amount, - bytes calldata data - ) public virtual override returns (bool) { - uint256 fee = flashFee(token, amount); - _mint(address(receiver), amount); - require( - receiver.onFlashLoan(msg.sender, token, amount, fee, data) == _RETURN_VALUE, - "ERC20FlashMint: invalid return value" - ); - uint256 currentAllowance = allowance(address(receiver), address(this)); - require(currentAllowance >= amount + fee, "ERC20FlashMint: allowance does not allow refund"); - _approve(address(receiver), address(this), currentAllowance - amount - fee); - _burn(address(receiver), amount + fee); - return true; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol deleted file mode 100644 index 6bbedade4c..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Pausable.sol +++ /dev/null @@ -1,33 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Pausable.sol) - -pragma solidity ^0.8.0; - -import "../ERC20.sol"; -import "../../../security/Pausable.sol"; - -/** - * @dev ERC20 token with pausable token transfers, minting and burning. - * - * Useful for scenarios such as preventing trades until the end of an evaluation - * period, or having an emergency switch for freezing all token transfers in the - * event of a large bug. - */ -abstract contract ERC20Pausable is ERC20, Pausable { - /** - * @dev See {ERC20-_beforeTokenTransfer}. - * - * Requirements: - * - * - the contract must not be paused. - */ - function _beforeTokenTransfer( - address from, - address to, - uint256 amount - ) internal virtual override { - super._beforeTokenTransfer(from, to, amount); - - require(!paused(), "ERC20Pausable: token transfer while paused"); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol deleted file mode 100644 index fde8637030..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Snapshot.sol +++ /dev/null @@ -1,195 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Snapshot.sol) - -pragma solidity ^0.8.0; - -import "../ERC20.sol"; -import "../../../utils/Arrays.sol"; -import "../../../utils/Counters.sol"; - -/** - * @dev This contract extends an ERC20 token with a snapshot mechanism. When a snapshot is created, the balances and - * total supply at the time are recorded for later access. - * - * This can be used to safely create mechanisms based on token balances such as trustless dividends or weighted voting. - * In naive implementations it's possible to perform a "double spend" attack by reusing the same balance from different - * accounts. By using snapshots to calculate dividends or voting power, those attacks no longer apply. It can also be - * used to create an efficient ERC20 forking mechanism. - * - * Snapshots are created by the internal {_snapshot} function, which will emit the {Snapshot} event and return a - * snapshot id. To get the total supply at the time of a snapshot, call the function {totalSupplyAt} with the snapshot - * id. To get the balance of an account at the time of a snapshot, call the {balanceOfAt} function with the snapshot id - * and the account address. - * - * NOTE: Snapshot policy can be customized by overriding the {_getCurrentSnapshotId} method. For example, having it - * return `block.number` will trigger the creation of snapshot at the begining of each new block. When overridding this - * function, be careful about the monotonicity of its result. Non-monotonic snapshot ids will break the contract. - * - * Implementing snapshots for every block using this method will incur significant gas costs. For a gas-efficient - * alternative consider {ERC20Votes}. - * - * ==== Gas Costs - * - * Snapshots are efficient. Snapshot creation is _O(1)_. Retrieval of balances or total supply from a snapshot is _O(log - * n)_ in the number of snapshots that have been created, although _n_ for a specific account will generally be much - * smaller since identical balances in subsequent snapshots are stored as a single entry. - * - * There is a constant overhead for normal ERC20 transfers due to the additional snapshot bookkeeping. This overhead is - * only significant for the first transfer that immediately follows a snapshot for a particular account. Subsequent - * transfers will have normal cost until the next snapshot, and so on. - */ - -abstract contract ERC20Snapshot is ERC20 { - // Inspired by Jordi Baylina's MiniMeToken to record historical balances: - // https://github.com/Giveth/minimd/blob/ea04d950eea153a04c51fa510b068b9dded390cb/contracts/MiniMeToken.sol - - using Arrays for uint256[]; - using Counters for Counters.Counter; - - // Snapshotted values have arrays of ids and the value corresponding to that id. These could be an array of a - // Snapshot struct, but that would impede usage of functions that work on an array. - struct Snapshots { - uint256[] ids; - uint256[] values; - } - - mapping(address => Snapshots) private _accountBalanceSnapshots; - Snapshots private _totalSupplySnapshots; - - // Snapshot ids increase monotonically, with the first value being 1. An id of 0 is invalid. - Counters.Counter private _currentSnapshotId; - - /** - * @dev Emitted by {_snapshot} when a snapshot identified by `id` is created. - */ - event Snapshot(uint256 id); - - /** - * @dev Creates a new snapshot and returns its snapshot id. - * - * Emits a {Snapshot} event that contains the same id. - * - * {_snapshot} is `internal` and you have to decide how to expose it externally. Its usage may be restricted to a - * set of accounts, for example using {AccessControl}, or it may be open to the public. - * - * [WARNING] - * ==== - * While an open way of calling {_snapshot} is required for certain trust minimization mechanisms such as forking, - * you must consider that it can potentially be used by attackers in two ways. - * - * First, it can be used to increase the cost of retrieval of values from snapshots, although it will grow - * logarithmically thus rendering this attack ineffective in the long term. Second, it can be used to target - * specific accounts and increase the cost of ERC20 transfers for them, in the ways specified in the Gas Costs - * section above. - * - * We haven't measured the actual numbers; if this is something you're interested in please reach out to us. - * ==== - */ - function _snapshot() internal virtual returns (uint256) { - _currentSnapshotId.increment(); - - uint256 currentId = _getCurrentSnapshotId(); - emit Snapshot(currentId); - return currentId; - } - - /** - * @dev Get the current snapshotId - */ - function _getCurrentSnapshotId() internal view virtual returns (uint256) { - return _currentSnapshotId.current(); - } - - /** - * @dev Retrieves the balance of `account` at the time `snapshotId` was created. - */ - function balanceOfAt(address account, uint256 snapshotId) public view virtual returns (uint256) { - (bool snapshotted, uint256 value) = _valueAt(snapshotId, _accountBalanceSnapshots[account]); - - return snapshotted ? value : balanceOf(account); - } - - /** - * @dev Retrieves the total supply at the time `snapshotId` was created. - */ - function totalSupplyAt(uint256 snapshotId) public view virtual returns (uint256) { - (bool snapshotted, uint256 value) = _valueAt(snapshotId, _totalSupplySnapshots); - - return snapshotted ? value : totalSupply(); - } - - // Update balance and/or total supply snapshots before the values are modified. This is implemented - // in the _beforeTokenTransfer hook, which is executed for _mint, _burn, and _transfer operations. - function _beforeTokenTransfer( - address from, - address to, - uint256 amount - ) internal virtual override { - super._beforeTokenTransfer(from, to, amount); - - if (from == address(0)) { - // mint - _updateAccountSnapshot(to); - _updateTotalSupplySnapshot(); - } else if (to == address(0)) { - // burn - _updateAccountSnapshot(from); - _updateTotalSupplySnapshot(); - } else { - // transfer - _updateAccountSnapshot(from); - _updateAccountSnapshot(to); - } - } - - function _valueAt(uint256 snapshotId, Snapshots storage snapshots) private view returns (bool, uint256) { - require(snapshotId > 0, "ERC20Snapshot: id is 0"); - require(snapshotId <= _getCurrentSnapshotId(), "ERC20Snapshot: nonexistent id"); - - // When a valid snapshot is queried, there are three possibilities: - // a) The queried value was not modified after the snapshot was taken. Therefore, a snapshot entry was never - // created for this id, and all stored snapshot ids are smaller than the requested one. The value that corresponds - // to this id is the current one. - // b) The queried value was modified after the snapshot was taken. Therefore, there will be an entry with the - // requested id, and its value is the one to return. - // c) More snapshots were created after the requested one, and the queried value was later modified. There will be - // no entry for the requested id: the value that corresponds to it is that of the smallest snapshot id that is - // larger than the requested one. - // - // In summary, we need to find an element in an array, returning the index of the smallest value that is larger if - // it is not found, unless said value doesn't exist (e.g. when all values are smaller). Arrays.findUpperBound does - // exactly this. - - uint256 index = snapshots.ids.findUpperBound(snapshotId); - - if (index == snapshots.ids.length) { - return (false, 0); - } else { - return (true, snapshots.values[index]); - } - } - - function _updateAccountSnapshot(address account) private { - _updateSnapshot(_accountBalanceSnapshots[account], balanceOf(account)); - } - - function _updateTotalSupplySnapshot() private { - _updateSnapshot(_totalSupplySnapshots, totalSupply()); - } - - function _updateSnapshot(Snapshots storage snapshots, uint256 currentValue) private { - uint256 currentId = _getCurrentSnapshotId(); - if (_lastSnapshotId(snapshots.ids) < currentId) { - snapshots.ids.push(currentId); - snapshots.values.push(currentValue); - } - } - - function _lastSnapshotId(uint256[] storage ids) private view returns (uint256) { - if (ids.length == 0) { - return 0; - } else { - return ids[ids.length - 1]; - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol deleted file mode 100644 index f4fd21d3e5..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Votes.sol +++ /dev/null @@ -1,260 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Votes.sol) - -pragma solidity ^0.8.0; - -import "./draft-ERC20Permit.sol"; -import "../../../utils/math/Math.sol"; -import "../../../utils/math/SafeCast.sol"; -import "../../../utils/cryptography/ECDSA.sol"; - -/** - * @dev Extension of ERC20 to support Compound-like voting and delegation. This version is more generic than Compound's, - * and supports token supply up to 2^224^ - 1, while COMP is limited to 2^96^ - 1. - * - * NOTE: If exact COMP compatibility is required, use the {ERC20VotesComp} variant of this module. - * - * This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either - * by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting - * power can be queried through the public accessors {getVotes} and {getPastVotes}. - * - * By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it - * requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked. - * Enabling self-delegation can easily be done by overriding the {delegates} function. Keep in mind however that this - * will significantly increase the base gas cost of transfers. - * - * _Available since v4.2._ - */ -abstract contract ERC20Votes is ERC20Permit { - struct Checkpoint { - uint32 fromBlock; - uint224 votes; - } - - bytes32 private constant _DELEGATION_TYPEHASH = - keccak256("Delegation(address delegatee,uint256 nonce,uint256 expiry)"); - - mapping(address => address) private _delegates; - mapping(address => Checkpoint[]) private _checkpoints; - Checkpoint[] private _totalSupplyCheckpoints; - - /** - * @dev Emitted when an account changes their delegate. - */ - event DelegateChanged(address indexed delegator, address indexed fromDelegate, address indexed toDelegate); - - /** - * @dev Emitted when a token transfer or delegate change results in changes to an account's voting power. - */ - event DelegateVotesChanged(address indexed delegate, uint256 previousBalance, uint256 newBalance); - - /** - * @dev Get the `pos`-th checkpoint for `account`. - */ - function checkpoints(address account, uint32 pos) public view virtual returns (Checkpoint memory) { - return _checkpoints[account][pos]; - } - - /** - * @dev Get number of checkpoints for `account`. - */ - function numCheckpoints(address account) public view virtual returns (uint32) { - return SafeCast.toUint32(_checkpoints[account].length); - } - - /** - * @dev Get the address `account` is currently delegating to. - */ - function delegates(address account) public view virtual returns (address) { - return _delegates[account]; - } - - /** - * @dev Gets the current votes balance for `account` - */ - function getVotes(address account) public view returns (uint256) { - uint256 pos = _checkpoints[account].length; - return pos == 0 ? 0 : _checkpoints[account][pos - 1].votes; - } - - /** - * @dev Retrieve the number of votes for `account` at the end of `blockNumber`. - * - * Requirements: - * - * - `blockNumber` must have been already mined - */ - function getPastVotes(address account, uint256 blockNumber) public view returns (uint256) { - require(blockNumber < block.number, "ERC20Votes: block not yet mined"); - return _checkpointsLookup(_checkpoints[account], blockNumber); - } - - /** - * @dev Retrieve the `totalSupply` at the end of `blockNumber`. Note, this value is the sum of all balances. - * It is but NOT the sum of all the delegated votes! - * - * Requirements: - * - * - `blockNumber` must have been already mined - */ - function getPastTotalSupply(uint256 blockNumber) public view returns (uint256) { - require(blockNumber < block.number, "ERC20Votes: block not yet mined"); - return _checkpointsLookup(_totalSupplyCheckpoints, blockNumber); - } - - /** - * @dev Lookup a value in a list of (sorted) checkpoints. - */ - function _checkpointsLookup(Checkpoint[] storage ckpts, uint256 blockNumber) private view returns (uint256) { - // We run a binary search to look for the earliest checkpoint taken after `blockNumber`. - // - // During the loop, the index of the wanted checkpoint remains in the range [low-1, high). - // With each iteration, either `low` or `high` is moved towards the middle of the range to maintain the invariant. - // - If the middle checkpoint is after `blockNumber`, we look in [low, mid) - // - If the middle checkpoint is before or equal to `blockNumber`, we look in [mid+1, high) - // Once we reach a single value (when low == high), we've found the right checkpoint at the index high-1, if not - // out of bounds (in which case we're looking too far in the past and the result is 0). - // Note that if the latest checkpoint available is exactly for `blockNumber`, we end up with an index that is - // past the end of the array, so we technically don't find a checkpoint after `blockNumber`, but it works out - // the same. - uint256 high = ckpts.length; - uint256 low = 0; - while (low < high) { - uint256 mid = Math.average(low, high); - if (ckpts[mid].fromBlock > blockNumber) { - high = mid; - } else { - low = mid + 1; - } - } - - return high == 0 ? 0 : ckpts[high - 1].votes; - } - - /** - * @dev Delegate votes from the sender to `delegatee`. - */ - function delegate(address delegatee) public virtual { - _delegate(_msgSender(), delegatee); - } - - /** - * @dev Delegates votes from signer to `delegatee` - */ - function delegateBySig( - address delegatee, - uint256 nonce, - uint256 expiry, - uint8 v, - bytes32 r, - bytes32 s - ) public virtual { - require(block.timestamp <= expiry, "ERC20Votes: signature expired"); - address signer = ECDSA.recover( - _hashTypedDataV4(keccak256(abi.encode(_DELEGATION_TYPEHASH, delegatee, nonce, expiry))), - v, - r, - s - ); - require(nonce == _useNonce(signer), "ERC20Votes: invalid nonce"); - _delegate(signer, delegatee); - } - - /** - * @dev Maximum token supply. Defaults to `type(uint224).max` (2^224^ - 1). - */ - function _maxSupply() internal view virtual returns (uint224) { - return type(uint224).max; - } - - /** - * @dev Snapshots the totalSupply after it has been increased. - */ - function _mint(address account, uint256 amount) internal virtual override { - super._mint(account, amount); - require(totalSupply() <= _maxSupply(), "ERC20Votes: total supply risks overflowing votes"); - - _writeCheckpoint(_totalSupplyCheckpoints, _add, amount); - } - - /** - * @dev Snapshots the totalSupply after it has been decreased. - */ - function _burn(address account, uint256 amount) internal virtual override { - super._burn(account, amount); - - _writeCheckpoint(_totalSupplyCheckpoints, _subtract, amount); - } - - /** - * @dev Move voting power when tokens are transferred. - * - * Emits a {DelegateVotesChanged} event. - */ - function _afterTokenTransfer( - address from, - address to, - uint256 amount - ) internal virtual override { - super._afterTokenTransfer(from, to, amount); - - _moveVotingPower(delegates(from), delegates(to), amount); - } - - /** - * @dev Change delegation for `delegator` to `delegatee`. - * - * Emits events {DelegateChanged} and {DelegateVotesChanged}. - */ - function _delegate(address delegator, address delegatee) internal virtual { - address currentDelegate = delegates(delegator); - uint256 delegatorBalance = balanceOf(delegator); - _delegates[delegator] = delegatee; - - emit DelegateChanged(delegator, currentDelegate, delegatee); - - _moveVotingPower(currentDelegate, delegatee, delegatorBalance); - } - - function _moveVotingPower( - address src, - address dst, - uint256 amount - ) private { - if (src != dst && amount > 0) { - if (src != address(0)) { - (uint256 oldWeight, uint256 newWeight) = _writeCheckpoint(_checkpoints[src], _subtract, amount); - emit DelegateVotesChanged(src, oldWeight, newWeight); - } - - if (dst != address(0)) { - (uint256 oldWeight, uint256 newWeight) = _writeCheckpoint(_checkpoints[dst], _add, amount); - emit DelegateVotesChanged(dst, oldWeight, newWeight); - } - } - } - - function _writeCheckpoint( - Checkpoint[] storage ckpts, - function(uint256, uint256) view returns (uint256) op, - uint256 delta - ) private returns (uint256 oldWeight, uint256 newWeight) { - uint256 pos = ckpts.length; - oldWeight = pos == 0 ? 0 : ckpts[pos - 1].votes; - newWeight = op(oldWeight, delta); - - if (pos > 0 && ckpts[pos - 1].fromBlock == block.number) { - ckpts[pos - 1].votes = SafeCast.toUint224(newWeight); - } else { - ckpts.push(Checkpoint({fromBlock: SafeCast.toUint32(block.number), votes: SafeCast.toUint224(newWeight)})); - } - } - - function _add(uint256 a, uint256 b) private pure returns (uint256) { - return a + b; - } - - function _subtract(uint256 a, uint256 b) private pure returns (uint256) { - return a - b; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol deleted file mode 100644 index 1939c3f577..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20VotesComp.sol +++ /dev/null @@ -1,48 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20VotesComp.sol) - -pragma solidity ^0.8.0; - -import "./ERC20Votes.sol"; - -/** - * @dev Extension of ERC20 to support Compound's voting and delegation. This version exactly matches Compound's - * interface, with the drawback of only supporting supply up to (2^96^ - 1). - * - * NOTE: You should use this contract if you need exact compatibility with COMP (for example in order to use your token - * with Governor Alpha or Bravo) and if you are sure the supply cap of 2^96^ is enough for you. Otherwise, use the - * {ERC20Votes} variant of this module. - * - * This extension keeps a history (checkpoints) of each account's vote power. Vote power can be delegated either - * by calling the {delegate} function directly, or by providing a signature to be used with {delegateBySig}. Voting - * power can be queried through the public accessors {getCurrentVotes} and {getPriorVotes}. - * - * By default, token balance does not account for voting power. This makes transfers cheaper. The downside is that it - * requires users to delegate to themselves in order to activate checkpoints and have their voting power tracked. - * Enabling self-delegation can easily be done by overriding the {delegates} function. Keep in mind however that this - * will significantly increase the base gas cost of transfers. - * - * _Available since v4.2._ - */ -abstract contract ERC20VotesComp is ERC20Votes { - /** - * @dev Comp version of the {getVotes} accessor, with `uint96` return type. - */ - function getCurrentVotes(address account) external view returns (uint96) { - return SafeCast.toUint96(getVotes(account)); - } - - /** - * @dev Comp version of the {getPastVotes} accessor, with `uint96` return type. - */ - function getPriorVotes(address account, uint256 blockNumber) external view returns (uint96) { - return SafeCast.toUint96(getPastVotes(account, blockNumber)); - } - - /** - * @dev Maximum token supply. Reduced to `type(uint96).max` (2^96^ - 1) to fit COMP interface. - */ - function _maxSupply() internal view virtual override returns (uint224) { - return type(uint96).max; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol deleted file mode 100644 index 6bc313d6e8..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/ERC20Wrapper.sol +++ /dev/null @@ -1,52 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/ERC20Wrapper.sol) - -pragma solidity ^0.8.0; - -import "../ERC20.sol"; -import "../utils/SafeERC20.sol"; - -/** - * @dev Extension of the ERC20 token contract to support token wrapping. - * - * Users can deposit and withdraw "underlying tokens" and receive a matching number of "wrapped tokens". This is useful - * in conjunction with other modules. For example, combining this wrapping mechanism with {ERC20Votes} will allow the - * wrapping of an existing "basic" ERC20 into a governance token. - * - * _Available since v4.2._ - */ -abstract contract ERC20Wrapper is ERC20 { - IERC20 public immutable underlying; - - constructor(IERC20 underlyingToken) { - underlying = underlyingToken; - } - - /** - * @dev Allow a user to deposit underlying tokens and mint the corresponding number of wrapped tokens. - */ - function depositFor(address account, uint256 amount) public virtual returns (bool) { - SafeERC20.safeTransferFrom(underlying, _msgSender(), address(this), amount); - _mint(account, amount); - return true; - } - - /** - * @dev Allow a user to burn a number of wrapped tokens and withdraw the corresponding number of underlying tokens. - */ - function withdrawTo(address account, uint256 amount) public virtual returns (bool) { - _burn(_msgSender(), amount); - SafeERC20.safeTransfer(underlying, account, amount); - return true; - } - - /** - * @dev Mint wrapped token to cover any underlyingTokens that would have been transfered by mistake. Internal - * function that can be exposed with access control if desired. - */ - function _recover(address account) internal virtual returns (uint256) { - uint256 value = underlying.balanceOf(address(this)) - totalSupply(); - _mint(account, value); - return value; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol deleted file mode 100644 index 93fe3670f4..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol +++ /dev/null @@ -1,28 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol) - -pragma solidity ^0.8.0; - -import "../IERC20.sol"; - -/** - * @dev Interface for the optional metadata functions from the ERC20 standard. - * - * _Available since v4.1._ - */ -interface IERC20Metadata is IERC20 { - /** - * @dev Returns the name of the token. - */ - function name() external view returns (string memory); - - /** - * @dev Returns the symbol of the token. - */ - function symbol() external view returns (string memory); - - /** - * @dev Returns the decimals places of the token. - */ - function decimals() external view returns (uint8); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol deleted file mode 100644 index 1b33f1642f..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-ERC20Permit.sol +++ /dev/null @@ -1,87 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/draft-ERC20Permit.sol) - -pragma solidity ^0.8.0; - -import "./draft-IERC20Permit.sol"; -import "../ERC20.sol"; -import "../../../utils/cryptography/draft-EIP712.sol"; -import "../../../utils/cryptography/ECDSA.sol"; -import "../../../utils/Counters.sol"; - -/** - * @dev Implementation of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in - * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. - * - * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by - * presenting a message signed by the account. By not relying on `{IERC20-approve}`, the token holder account doesn't - * need to send a transaction, and thus is not required to hold Ether at all. - * - * _Available since v3.4._ - */ -abstract contract ERC20Permit is ERC20, IERC20Permit, EIP712 { - using Counters for Counters.Counter; - - mapping(address => Counters.Counter) private _nonces; - - // solhint-disable-next-line var-name-mixedcase - bytes32 private immutable _PERMIT_TYPEHASH = - keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)"); - - /** - * @dev Initializes the {EIP712} domain separator using the `name` parameter, and setting `version` to `"1"`. - * - * It's a good idea to use the same `name` that is defined as the ERC20 token name. - */ - constructor(string memory name) EIP712(name, "1") {} - - /** - * @dev See {IERC20Permit-permit}. - */ - function permit( - address owner, - address spender, - uint256 value, - uint256 deadline, - uint8 v, - bytes32 r, - bytes32 s - ) public virtual override { - require(block.timestamp <= deadline, "ERC20Permit: expired deadline"); - - bytes32 structHash = keccak256(abi.encode(_PERMIT_TYPEHASH, owner, spender, value, _useNonce(owner), deadline)); - - bytes32 hash = _hashTypedDataV4(structHash); - - address signer = ECDSA.recover(hash, v, r, s); - require(signer == owner, "ERC20Permit: invalid signature"); - - _approve(owner, spender, value); - } - - /** - * @dev See {IERC20Permit-nonces}. - */ - function nonces(address owner) public view virtual override returns (uint256) { - return _nonces[owner].current(); - } - - /** - * @dev See {IERC20Permit-DOMAIN_SEPARATOR}. - */ - // solhint-disable-next-line func-name-mixedcase - function DOMAIN_SEPARATOR() external view override returns (bytes32) { - return _domainSeparatorV4(); - } - - /** - * @dev "Consume a nonce": return the current value and increment. - * - * _Available since v4.1._ - */ - function _useNonce(address owner) internal virtual returns (uint256 current) { - Counters.Counter storage nonce = _nonces[owner]; - current = nonce.current(); - nonce.increment(); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol deleted file mode 100644 index 6869944cca..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/extensions/draft-IERC20Permit.sol +++ /dev/null @@ -1,60 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/draft-IERC20Permit.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Interface of the ERC20 Permit extension allowing approvals to be made via signatures, as defined in - * https://eips.ethereum.org/EIPS/eip-2612[EIP-2612]. - * - * Adds the {permit} method, which can be used to change an account's ERC20 allowance (see {IERC20-allowance}) by - * presenting a message signed by the account. By not relying on {IERC20-approve}, the token holder account doesn't - * need to send a transaction, and thus is not required to hold Ether at all. - */ -interface IERC20Permit { - /** - * @dev Sets `value` as the allowance of `spender` over ``owner``'s tokens, - * given ``owner``'s signed approval. - * - * IMPORTANT: The same issues {IERC20-approve} has related to transaction - * ordering also apply here. - * - * Emits an {Approval} event. - * - * Requirements: - * - * - `spender` cannot be the zero address. - * - `deadline` must be a timestamp in the future. - * - `v`, `r` and `s` must be a valid `secp256k1` signature from `owner` - * over the EIP712-formatted function arguments. - * - the signature must use ``owner``'s current nonce (see {nonces}). - * - * For more information on the signature format, see the - * https://eips.ethereum.org/EIPS/eip-2612#specification[relevant EIP - * section]. - */ - function permit( - address owner, - address spender, - uint256 value, - uint256 deadline, - uint8 v, - bytes32 r, - bytes32 s - ) external; - - /** - * @dev Returns the current nonce for `owner`. This value must be - * included whenever a signature is generated for {permit}. - * - * Every successful call to {permit} increases ``owner``'s nonce by one. This - * prevents a signature from being used multiple times. - */ - function nonces(address owner) external view returns (uint256); - - /** - * @dev Returns the domain separator used in the encoding of the signature for {permit}, as defined by {EIP712}. - */ - // solhint-disable-next-line func-name-mixedcase - function DOMAIN_SEPARATOR() external view returns (bytes32); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol deleted file mode 100644 index 7a9703d637..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetFixedSupply.sol +++ /dev/null @@ -1,33 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/presets/ERC20PresetFixedSupply.sol) -pragma solidity ^0.8.0; - -import "../extensions/ERC20Burnable.sol"; - -/** - * @dev {ERC20} token, including: - * - * - Preminted initial supply - * - Ability for holders to burn (destroy) their tokens - * - No access control mechanism (for minting/pausing) and hence no governance - * - * This contract uses {ERC20Burnable} to include burn capabilities - head to - * its documentation for details. - * - * _Available since v3.4._ - */ -contract ERC20PresetFixedSupply is ERC20Burnable { - /** - * @dev Mints `initialSupply` amount of token and transfers them to `owner`. - * - * See {ERC20-constructor}. - */ - constructor( - string memory name, - string memory symbol, - uint256 initialSupply, - address owner - ) ERC20(name, symbol) { - _mint(owner, initialSupply); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol deleted file mode 100644 index 2258b23e99..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/presets/ERC20PresetMinterPauser.sol +++ /dev/null @@ -1,92 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/presets/ERC20PresetMinterPauser.sol) - -pragma solidity ^0.8.0; - -import "../ERC20.sol"; -import "../extensions/ERC20Burnable.sol"; -import "../extensions/ERC20Pausable.sol"; -import "../../../access/AccessControlEnumerable.sol"; -import "../../../utils/Context.sol"; - -/** - * @dev {ERC20} token, including: - * - * - ability for holders to burn (destroy) their tokens - * - a minter role that allows for token minting (creation) - * - a pauser role that allows to stop all token transfers - * - * This contract uses {AccessControl} to lock permissioned functions using the - * different roles - head to its documentation for details. - * - * The account that deploys the contract will be granted the minter and pauser - * roles, as well as the default admin role, which will let it grant both minter - * and pauser roles to other accounts. - */ -contract ERC20PresetMinterPauser is Context, AccessControlEnumerable, ERC20Burnable, ERC20Pausable { - bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); - bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); - - /** - * @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE` and `PAUSER_ROLE` to the - * account that deploys the contract. - * - * See {ERC20-constructor}. - */ - constructor(string memory name, string memory symbol) ERC20(name, symbol) { - _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); - - _setupRole(MINTER_ROLE, _msgSender()); - _setupRole(PAUSER_ROLE, _msgSender()); - } - - /** - * @dev Creates `amount` new tokens for `to`. - * - * See {ERC20-_mint}. - * - * Requirements: - * - * - the caller must have the `MINTER_ROLE`. - */ - function mint(address to, uint256 amount) public virtual { - require(hasRole(MINTER_ROLE, _msgSender()), "ERC20PresetMinterPauser: must have minter role to mint"); - _mint(to, amount); - } - - /** - * @dev Pauses all token transfers. - * - * See {ERC20Pausable} and {Pausable-_pause}. - * - * Requirements: - * - * - the caller must have the `PAUSER_ROLE`. - */ - function pause() public virtual { - require(hasRole(PAUSER_ROLE, _msgSender()), "ERC20PresetMinterPauser: must have pauser role to pause"); - _pause(); - } - - /** - * @dev Unpauses all token transfers. - * - * See {ERC20Pausable} and {Pausable-_unpause}. - * - * Requirements: - * - * - the caller must have the `PAUSER_ROLE`. - */ - function unpause() public virtual { - require(hasRole(PAUSER_ROLE, _msgSender()), "ERC20PresetMinterPauser: must have pauser role to unpause"); - _unpause(); - } - - function _beforeTokenTransfer( - address from, - address to, - uint256 amount - ) internal virtual override(ERC20, ERC20Pausable) { - super._beforeTokenTransfer(from, to, amount); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol deleted file mode 100644 index e24d8965ff..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol +++ /dev/null @@ -1,99 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/utils/SafeERC20.sol) - -pragma solidity ^0.8.0; - -import "../IERC20.sol"; -import "../../../utils/Address.sol"; - -/** - * @title SafeERC20 - * @dev Wrappers around ERC20 operations that throw on failure (when the token - * contract returns false). Tokens that return no value (and instead revert or - * throw on failure) are also supported, non-reverting calls are assumed to be - * successful. - * To use this library you can add a `using SafeERC20 for IERC20;` statement to your contract, - * which allows you to call the safe operations as `token.safeTransfer(...)`, etc. - */ -library SafeERC20 { - using Address for address; - - function safeTransfer( - IERC20 token, - address to, - uint256 value - ) internal { - _callOptionalReturn(token, abi.encodeWithSelector(token.transfer.selector, to, value)); - } - - function safeTransferFrom( - IERC20 token, - address from, - address to, - uint256 value - ) internal { - _callOptionalReturn(token, abi.encodeWithSelector(token.transferFrom.selector, from, to, value)); - } - - /** - * @dev Deprecated. This function has issues similar to the ones found in - * {IERC20-approve}, and its usage is discouraged. - * - * Whenever possible, use {safeIncreaseAllowance} and - * {safeDecreaseAllowance} instead. - */ - function safeApprove( - IERC20 token, - address spender, - uint256 value - ) internal { - // safeApprove should only be called when setting an initial allowance, - // or when resetting it to zero. To increase and decrease it, use - // 'safeIncreaseAllowance' and 'safeDecreaseAllowance' - require( - (value == 0) || (token.allowance(address(this), spender) == 0), - "SafeERC20: approve from non-zero to non-zero allowance" - ); - _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, value)); - } - - function safeIncreaseAllowance( - IERC20 token, - address spender, - uint256 value - ) internal { - uint256 newAllowance = token.allowance(address(this), spender) + value; - _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); - } - - function safeDecreaseAllowance( - IERC20 token, - address spender, - uint256 value - ) internal { - unchecked { - uint256 oldAllowance = token.allowance(address(this), spender); - require(oldAllowance >= value, "SafeERC20: decreased allowance below zero"); - uint256 newAllowance = oldAllowance - value; - _callOptionalReturn(token, abi.encodeWithSelector(token.approve.selector, spender, newAllowance)); - } - } - - /** - * @dev Imitates a Solidity high-level call (i.e. a regular function call to a contract), relaxing the requirement - * on the return value: the return value is optional (but if data is returned, it must not be false). - * @param token The token targeted by the call. - * @param data The call data (encoded using abi.encode or one of its variants). - */ - function _callOptionalReturn(IERC20 token, bytes memory data) private { - // We need to perform a low level call here, to bypass Solidity's return data size checking mechanism, since - // we're implementing it ourselves. We use {Address.functionCall} to perform this call, which verifies that - // the target address contains contract code and also asserts for success in the low-level call. - - bytes memory returndata = address(token).functionCall(data, "SafeERC20: low-level call failed"); - if (returndata.length > 0) { - // Return data is optional - require(abi.decode(returndata, (bool)), "SafeERC20: ERC20 operation did not succeed"); - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol deleted file mode 100644 index ddfe55e03b..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC20/utils/TokenTimelock.sol +++ /dev/null @@ -1,70 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC20/utils/TokenTimelock.sol) - -pragma solidity ^0.8.0; - -import "./SafeERC20.sol"; - -/** - * @dev A token holder contract that will allow a beneficiary to extract the - * tokens after a given release time. - * - * Useful for simple vesting schedules like "advisors get all of their tokens - * after 1 year". - */ -contract TokenTimelock { - using SafeERC20 for IERC20; - - // ERC20 basic token contract being held - IERC20 private immutable _token; - - // beneficiary of tokens after they are released - address private immutable _beneficiary; - - // timestamp when token release is enabled - uint256 private immutable _releaseTime; - - constructor( - IERC20 token_, - address beneficiary_, - uint256 releaseTime_ - ) { - require(releaseTime_ > block.timestamp, "TokenTimelock: release time is before current time"); - _token = token_; - _beneficiary = beneficiary_; - _releaseTime = releaseTime_; - } - - /** - * @return the token being held. - */ - function token() public view virtual returns (IERC20) { - return _token; - } - - /** - * @return the beneficiary of the tokens. - */ - function beneficiary() public view virtual returns (address) { - return _beneficiary; - } - - /** - * @return the time when the tokens are released. - */ - function releaseTime() public view virtual returns (uint256) { - return _releaseTime; - } - - /** - * @notice Transfers tokens held by timelock to beneficiary. - */ - function release() public virtual { - require(block.timestamp >= releaseTime(), "TokenTimelock: current time is before release time"); - - uint256 amount = token().balanceOf(address(this)); - require(amount > 0, "TokenTimelock: no tokens to release"); - - token().safeTransfer(beneficiary(), amount); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol deleted file mode 100644 index 3c960417dc..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/ERC721.sol +++ /dev/null @@ -1,424 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC721/ERC721.sol) - -pragma solidity ^0.8.0; - -import "./IERC721.sol"; -import "./IERC721Receiver.sol"; -import "./extensions/IERC721Metadata.sol"; -import "../../utils/Address.sol"; -import "../../utils/Context.sol"; -import "../../utils/Strings.sol"; -import "../../utils/introspection/ERC165.sol"; - -/** - * @dev Implementation of https://eips.ethereum.org/EIPS/eip-721[ERC721] Non-Fungible Token Standard, including - * the Metadata extension, but not including the Enumerable extension, which is available separately as - * {ERC721Enumerable}. - */ -contract ERC721 is Context, ERC165, IERC721, IERC721Metadata { - using Address for address; - using Strings for uint256; - - // Token name - string private _name; - - // Token symbol - string private _symbol; - - // Mapping from token ID to owner address - mapping(uint256 => address) private _owners; - - // Mapping owner address to token count - mapping(address => uint256) private _balances; - - // Mapping from token ID to approved address - mapping(uint256 => address) private _tokenApprovals; - - // Mapping from owner to operator approvals - mapping(address => mapping(address => bool)) private _operatorApprovals; - - /** - * @dev Initializes the contract by setting a `name` and a `symbol` to the token collection. - */ - constructor(string memory name_, string memory symbol_) { - _name = name_; - _symbol = symbol_; - } - - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) { - return - interfaceId == type(IERC721).interfaceId || - interfaceId == type(IERC721Metadata).interfaceId || - super.supportsInterface(interfaceId); - } - - /** - * @dev See {IERC721-balanceOf}. - */ - function balanceOf(address owner) public view virtual override returns (uint256) { - require(owner != address(0), "ERC721: balance query for the zero address"); - return _balances[owner]; - } - - /** - * @dev See {IERC721-ownerOf}. - */ - function ownerOf(uint256 tokenId) public view virtual override returns (address) { - address owner = _owners[tokenId]; - require(owner != address(0), "ERC721: owner query for nonexistent token"); - return owner; - } - - /** - * @dev See {IERC721Metadata-name}. - */ - function name() public view virtual override returns (string memory) { - return _name; - } - - /** - * @dev See {IERC721Metadata-symbol}. - */ - function symbol() public view virtual override returns (string memory) { - return _symbol; - } - - /** - * @dev See {IERC721Metadata-tokenURI}. - */ - function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { - require(_exists(tokenId), "ERC721Metadata: URI query for nonexistent token"); - - string memory baseURI = _baseURI(); - return bytes(baseURI).length > 0 ? string(abi.encodePacked(baseURI, tokenId.toString())) : ""; - } - - /** - * @dev Base URI for computing {tokenURI}. If set, the resulting URI for each - * token will be the concatenation of the `baseURI` and the `tokenId`. Empty - * by default, can be overriden in child contracts. - */ - function _baseURI() internal view virtual returns (string memory) { - return ""; - } - - /** - * @dev See {IERC721-approve}. - */ - function approve(address to, uint256 tokenId) public virtual override { - address owner = ERC721.ownerOf(tokenId); - require(to != owner, "ERC721: approval to current owner"); - - require( - _msgSender() == owner || isApprovedForAll(owner, _msgSender()), - "ERC721: approve caller is not owner nor approved for all" - ); - - _approve(to, tokenId); - } - - /** - * @dev See {IERC721-getApproved}. - */ - function getApproved(uint256 tokenId) public view virtual override returns (address) { - require(_exists(tokenId), "ERC721: approved query for nonexistent token"); - - return _tokenApprovals[tokenId]; - } - - /** - * @dev See {IERC721-setApprovalForAll}. - */ - function setApprovalForAll(address operator, bool approved) public virtual override { - _setApprovalForAll(_msgSender(), operator, approved); - } - - /** - * @dev See {IERC721-isApprovedForAll}. - */ - function isApprovedForAll(address owner, address operator) public view virtual override returns (bool) { - return _operatorApprovals[owner][operator]; - } - - /** - * @dev See {IERC721-transferFrom}. - */ - function transferFrom( - address from, - address to, - uint256 tokenId - ) public virtual override { - //solhint-disable-next-line max-line-length - require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); - - _transfer(from, to, tokenId); - } - - /** - * @dev See {IERC721-safeTransferFrom}. - */ - function safeTransferFrom( - address from, - address to, - uint256 tokenId - ) public virtual override { - safeTransferFrom(from, to, tokenId, ""); - } - - /** - * @dev See {IERC721-safeTransferFrom}. - */ - function safeTransferFrom( - address from, - address to, - uint256 tokenId, - bytes memory _data - ) public virtual override { - require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721: transfer caller is not owner nor approved"); - _safeTransfer(from, to, tokenId, _data); - } - - /** - * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients - * are aware of the ERC721 protocol to prevent tokens from being forever locked. - * - * `_data` is additional data, it has no specified format and it is sent in call to `to`. - * - * This internal function is equivalent to {safeTransferFrom}, and can be used to e.g. - * implement alternative mechanisms to perform token transfer, such as signature-based. - * - * Requirements: - * - * - `from` cannot be the zero address. - * - `to` cannot be the zero address. - * - `tokenId` token must exist and be owned by `from`. - * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. - * - * Emits a {Transfer} event. - */ - function _safeTransfer( - address from, - address to, - uint256 tokenId, - bytes memory _data - ) internal virtual { - _transfer(from, to, tokenId); - require(_checkOnERC721Received(from, to, tokenId, _data), "ERC721: transfer to non ERC721Receiver implementer"); - } - - /** - * @dev Returns whether `tokenId` exists. - * - * Tokens can be managed by their owner or approved accounts via {approve} or {setApprovalForAll}. - * - * Tokens start existing when they are minted (`_mint`), - * and stop existing when they are burned (`_burn`). - */ - function _exists(uint256 tokenId) internal view virtual returns (bool) { - return _owners[tokenId] != address(0); - } - - /** - * @dev Returns whether `spender` is allowed to manage `tokenId`. - * - * Requirements: - * - * - `tokenId` must exist. - */ - function _isApprovedOrOwner(address spender, uint256 tokenId) internal view virtual returns (bool) { - require(_exists(tokenId), "ERC721: operator query for nonexistent token"); - address owner = ERC721.ownerOf(tokenId); - return (spender == owner || getApproved(tokenId) == spender || isApprovedForAll(owner, spender)); - } - - /** - * @dev Safely mints `tokenId` and transfers it to `to`. - * - * Requirements: - * - * - `tokenId` must not exist. - * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. - * - * Emits a {Transfer} event. - */ - function _safeMint(address to, uint256 tokenId) internal virtual { - _safeMint(to, tokenId, ""); - } - - /** - * @dev Same as {xref-ERC721-_safeMint-address-uint256-}[`_safeMint`], with an additional `data` parameter which is - * forwarded in {IERC721Receiver-onERC721Received} to contract recipients. - */ - function _safeMint( - address to, - uint256 tokenId, - bytes memory _data - ) internal virtual { - _mint(to, tokenId); - require( - _checkOnERC721Received(address(0), to, tokenId, _data), - "ERC721: transfer to non ERC721Receiver implementer" - ); - } - - /** - * @dev Mints `tokenId` and transfers it to `to`. - * - * WARNING: Usage of this method is discouraged, use {_safeMint} whenever possible - * - * Requirements: - * - * - `tokenId` must not exist. - * - `to` cannot be the zero address. - * - * Emits a {Transfer} event. - */ - function _mint(address to, uint256 tokenId) internal virtual { - require(to != address(0), "ERC721: mint to the zero address"); - require(!_exists(tokenId), "ERC721: token already minted"); - - _beforeTokenTransfer(address(0), to, tokenId); - - _balances[to] += 1; - _owners[tokenId] = to; - - emit Transfer(address(0), to, tokenId); - } - - /** - * @dev Destroys `tokenId`. - * The approval is cleared when the token is burned. - * - * Requirements: - * - * - `tokenId` must exist. - * - * Emits a {Transfer} event. - */ - function _burn(uint256 tokenId) internal virtual { - address owner = ERC721.ownerOf(tokenId); - - _beforeTokenTransfer(owner, address(0), tokenId); - - // Clear approvals - _approve(address(0), tokenId); - - _balances[owner] -= 1; - delete _owners[tokenId]; - - emit Transfer(owner, address(0), tokenId); - } - - /** - * @dev Transfers `tokenId` from `from` to `to`. - * As opposed to {transferFrom}, this imposes no restrictions on msg.sender. - * - * Requirements: - * - * - `to` cannot be the zero address. - * - `tokenId` token must be owned by `from`. - * - * Emits a {Transfer} event. - */ - function _transfer( - address from, - address to, - uint256 tokenId - ) internal virtual { - require(ERC721.ownerOf(tokenId) == from, "ERC721: transfer of token that is not own"); - require(to != address(0), "ERC721: transfer to the zero address"); - - _beforeTokenTransfer(from, to, tokenId); - - // Clear approvals from the previous owner - _approve(address(0), tokenId); - - _balances[from] -= 1; - _balances[to] += 1; - _owners[tokenId] = to; - - emit Transfer(from, to, tokenId); - } - - /** - * @dev Approve `to` to operate on `tokenId` - * - * Emits a {Approval} event. - */ - function _approve(address to, uint256 tokenId) internal virtual { - _tokenApprovals[tokenId] = to; - emit Approval(ERC721.ownerOf(tokenId), to, tokenId); - } - - /** - * @dev Approve `operator` to operate on all of `owner` tokens - * - * Emits a {ApprovalForAll} event. - */ - function _setApprovalForAll( - address owner, - address operator, - bool approved - ) internal virtual { - require(owner != operator, "ERC721: approve to caller"); - _operatorApprovals[owner][operator] = approved; - emit ApprovalForAll(owner, operator, approved); - } - - /** - * @dev Internal function to invoke {IERC721Receiver-onERC721Received} on a target address. - * The call is not executed if the target address is not a contract. - * - * @param from address representing the previous owner of the given token ID - * @param to target address that will receive the tokens - * @param tokenId uint256 ID of the token to be transferred - * @param _data bytes optional data to send along with the call - * @return bool whether the call correctly returned the expected magic value - */ - function _checkOnERC721Received( - address from, - address to, - uint256 tokenId, - bytes memory _data - ) private returns (bool) { - if (to.isContract()) { - try IERC721Receiver(to).onERC721Received(_msgSender(), from, tokenId, _data) returns (bytes4 retval) { - return retval == IERC721Receiver.onERC721Received.selector; - } catch (bytes memory reason) { - if (reason.length == 0) { - revert("ERC721: transfer to non ERC721Receiver implementer"); - } else { - assembly { - revert(add(32, reason), mload(reason)) - } - } - } - } else { - return true; - } - } - - /** - * @dev Hook that is called before any token transfer. This includes minting - * and burning. - * - * Calling conditions: - * - * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be - * transferred to `to`. - * - When `from` is zero, `tokenId` will be minted for `to`. - * - When `to` is zero, ``from``'s `tokenId` 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 tokenId - ) internal virtual {} -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol deleted file mode 100644 index 7d6c99c4f9..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721.sol +++ /dev/null @@ -1,143 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC721/IERC721.sol) - -pragma solidity ^0.8.0; - -import "../../utils/introspection/IERC165.sol"; - -/** - * @dev Required interface of an ERC721 compliant contract. - */ -interface IERC721 is IERC165 { - /** - * @dev Emitted when `tokenId` token is transferred from `from` to `to`. - */ - event Transfer(address indexed from, address indexed to, uint256 indexed tokenId); - - /** - * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token. - */ - event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId); - - /** - * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets. - */ - event ApprovalForAll(address indexed owner, address indexed operator, bool approved); - - /** - * @dev Returns the number of tokens in ``owner``'s account. - */ - function balanceOf(address owner) external view returns (uint256 balance); - - /** - * @dev Returns the owner of the `tokenId` token. - * - * Requirements: - * - * - `tokenId` must exist. - */ - function ownerOf(uint256 tokenId) external view returns (address owner); - - /** - * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients - * are aware of the ERC721 protocol to prevent tokens from being forever locked. - * - * Requirements: - * - * - `from` cannot be the zero address. - * - `to` cannot be the zero address. - * - `tokenId` token must exist and be owned by `from`. - * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. - * - * Emits a {Transfer} event. - */ - function safeTransferFrom( - address from, - address to, - uint256 tokenId - ) external; - - /** - * @dev Transfers `tokenId` token from `from` to `to`. - * - * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. - * - * Requirements: - * - * - `from` cannot be the zero address. - * - `to` cannot be the zero address. - * - `tokenId` token must be owned by `from`. - * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - * - * Emits a {Transfer} event. - */ - function transferFrom( - address from, - address to, - uint256 tokenId - ) external; - - /** - * @dev Gives permission to `to` to transfer `tokenId` token to another account. - * The approval is cleared when the token is transferred. - * - * Only a single account can be approved at a time, so approving the zero address clears previous approvals. - * - * Requirements: - * - * - The caller must own the token or be an approved operator. - * - `tokenId` must exist. - * - * Emits an {Approval} event. - */ - function approve(address to, uint256 tokenId) external; - - /** - * @dev Returns the account approved for `tokenId` token. - * - * Requirements: - * - * - `tokenId` must exist. - */ - function getApproved(uint256 tokenId) external view returns (address operator); - - /** - * @dev Approve or remove `operator` as an operator for the caller. - * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. - * - * Requirements: - * - * - The `operator` cannot be the caller. - * - * Emits an {ApprovalForAll} event. - */ - function setApprovalForAll(address operator, bool _approved) external; - - /** - * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`. - * - * See {setApprovalForAll} - */ - function isApprovedForAll(address owner, address operator) external view returns (bool); - - /** - * @dev Safely transfers `tokenId` token from `from` to `to`. - * - * Requirements: - * - * - `from` cannot be the zero address. - * - `to` cannot be the zero address. - * - `tokenId` token must exist and be owned by `from`. - * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. - * - * Emits a {Transfer} event. - */ - function safeTransferFrom( - address from, - address to, - uint256 tokenId, - bytes calldata data - ) external; -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol deleted file mode 100644 index 5e2868042a..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC721/IERC721Receiver.sol) - -pragma solidity ^0.8.0; - -/** - * @title ERC721 token receiver interface - * @dev Interface for any contract that wants to support safeTransfers - * from ERC721 asset contracts. - */ -interface IERC721Receiver { - /** - * @dev Whenever an {IERC721} `tokenId` token is transferred to this contract via {IERC721-safeTransferFrom} - * by `operator` from `from`, this function is called. - * - * It must return its Solidity selector to confirm the token transfer. - * If any other value is returned or the interface is not implemented by the recipient, the transfer will be reverted. - * - * The selector can be obtained in Solidity with `IERC721.onERC721Received.selector`. - */ - function onERC721Received( - address operator, - address from, - uint256 tokenId, - bytes calldata data - ) external returns (bytes4); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol deleted file mode 100644 index 922fa959e6..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol +++ /dev/null @@ -1,26 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/ERC721Burnable.sol) - -pragma solidity ^0.8.0; - -import "../ERC721.sol"; -import "../../../utils/Context.sol"; - -/** - * @title ERC721 Burnable Token - * @dev ERC721 Token that can be irreversibly burned (destroyed). - */ -abstract contract ERC721Burnable is Context, ERC721 { - /** - * @dev Burns `tokenId`. See {ERC721-_burn}. - * - * Requirements: - * - * - The caller must own `tokenId` or be an approved operator. - */ - function burn(uint256 tokenId) public virtual { - //solhint-disable-next-line max-line-length - require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721Burnable: caller is not owner nor approved"); - _burn(tokenId); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol deleted file mode 100644 index a2ad6d5ac6..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Enumerable.sol +++ /dev/null @@ -1,163 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/ERC721Enumerable.sol) - -pragma solidity ^0.8.0; - -import "../ERC721.sol"; -import "./IERC721Enumerable.sol"; - -/** - * @dev This implements an optional extension of {ERC721} defined in the EIP that adds - * enumerability of all the token ids in the contract as well as all token ids owned by each - * account. - */ -abstract contract ERC721Enumerable is ERC721, IERC721Enumerable { - // Mapping from owner to list of owned token IDs - mapping(address => mapping(uint256 => uint256)) private _ownedTokens; - - // Mapping from token ID to index of the owner tokens list - mapping(uint256 => uint256) private _ownedTokensIndex; - - // Array with all token ids, used for enumeration - uint256[] private _allTokens; - - // Mapping from token id to position in the allTokens array - mapping(uint256 => uint256) private _allTokensIndex; - - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) public view virtual override(IERC165, ERC721) returns (bool) { - return interfaceId == type(IERC721Enumerable).interfaceId || super.supportsInterface(interfaceId); - } - - /** - * @dev See {IERC721Enumerable-tokenOfOwnerByIndex}. - */ - function tokenOfOwnerByIndex(address owner, uint256 index) public view virtual override returns (uint256) { - require(index < ERC721.balanceOf(owner), "ERC721Enumerable: owner index out of bounds"); - return _ownedTokens[owner][index]; - } - - /** - * @dev See {IERC721Enumerable-totalSupply}. - */ - function totalSupply() public view virtual override returns (uint256) { - return _allTokens.length; - } - - /** - * @dev See {IERC721Enumerable-tokenByIndex}. - */ - function tokenByIndex(uint256 index) public view virtual override returns (uint256) { - require(index < ERC721Enumerable.totalSupply(), "ERC721Enumerable: global index out of bounds"); - return _allTokens[index]; - } - - /** - * @dev Hook that is called before any token transfer. This includes minting - * and burning. - * - * Calling conditions: - * - * - When `from` and `to` are both non-zero, ``from``'s `tokenId` will be - * transferred to `to`. - * - When `from` is zero, `tokenId` will be minted for `to`. - * - When `to` is zero, ``from``'s `tokenId` will be burned. - * - `from` cannot be the zero address. - * - `to` cannot be the zero address. - * - * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]. - */ - function _beforeTokenTransfer( - address from, - address to, - uint256 tokenId - ) internal virtual override { - super._beforeTokenTransfer(from, to, tokenId); - - if (from == address(0)) { - _addTokenToAllTokensEnumeration(tokenId); - } else if (from != to) { - _removeTokenFromOwnerEnumeration(from, tokenId); - } - if (to == address(0)) { - _removeTokenFromAllTokensEnumeration(tokenId); - } else if (to != from) { - _addTokenToOwnerEnumeration(to, tokenId); - } - } - - /** - * @dev Private function to add a token to this extension's ownership-tracking data structures. - * @param to address representing the new owner of the given token ID - * @param tokenId uint256 ID of the token to be added to the tokens list of the given address - */ - function _addTokenToOwnerEnumeration(address to, uint256 tokenId) private { - uint256 length = ERC721.balanceOf(to); - _ownedTokens[to][length] = tokenId; - _ownedTokensIndex[tokenId] = length; - } - - /** - * @dev Private function to add a token to this extension's token tracking data structures. - * @param tokenId uint256 ID of the token to be added to the tokens list - */ - function _addTokenToAllTokensEnumeration(uint256 tokenId) private { - _allTokensIndex[tokenId] = _allTokens.length; - _allTokens.push(tokenId); - } - - /** - * @dev Private function to remove a token from this extension's ownership-tracking data structures. Note that - * while the token is not assigned a new owner, the `_ownedTokensIndex` mapping is _not_ updated: this allows for - * gas optimizations e.g. when performing a transfer operation (avoiding double writes). - * This has O(1) time complexity, but alters the order of the _ownedTokens array. - * @param from address representing the previous owner of the given token ID - * @param tokenId uint256 ID of the token to be removed from the tokens list of the given address - */ - function _removeTokenFromOwnerEnumeration(address from, uint256 tokenId) private { - // To prevent a gap in from's tokens array, we store the last token in the index of the token to delete, and - // then delete the last slot (swap and pop). - - uint256 lastTokenIndex = ERC721.balanceOf(from) - 1; - uint256 tokenIndex = _ownedTokensIndex[tokenId]; - - // When the token to delete is the last token, the swap operation is unnecessary - if (tokenIndex != lastTokenIndex) { - uint256 lastTokenId = _ownedTokens[from][lastTokenIndex]; - - _ownedTokens[from][tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token - _ownedTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index - } - - // This also deletes the contents at the last position of the array - delete _ownedTokensIndex[tokenId]; - delete _ownedTokens[from][lastTokenIndex]; - } - - /** - * @dev Private function to remove a token from this extension's token tracking data structures. - * This has O(1) time complexity, but alters the order of the _allTokens array. - * @param tokenId uint256 ID of the token to be removed from the tokens list - */ - function _removeTokenFromAllTokensEnumeration(uint256 tokenId) private { - // To prevent a gap in the tokens array, we store the last token in the index of the token to delete, and - // then delete the last slot (swap and pop). - - uint256 lastTokenIndex = _allTokens.length - 1; - uint256 tokenIndex = _allTokensIndex[tokenId]; - - // When the token to delete is the last token, the swap operation is unnecessary. However, since this occurs so - // rarely (when the last minted token is burnt) that we still do the swap here to avoid the gas cost of adding - // an 'if' statement (like in _removeTokenFromOwnerEnumeration) - uint256 lastTokenId = _allTokens[lastTokenIndex]; - - _allTokens[tokenIndex] = lastTokenId; // Move the last token to the slot of the to-delete token - _allTokensIndex[lastTokenId] = tokenIndex; // Update the moved token's index - - // This also deletes the contents at the last position of the array - delete _allTokensIndex[tokenId]; - _allTokens.pop(); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol deleted file mode 100644 index b8d5b68d9f..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Pausable.sol +++ /dev/null @@ -1,33 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/ERC721Pausable.sol) - -pragma solidity ^0.8.0; - -import "../ERC721.sol"; -import "../../../security/Pausable.sol"; - -/** - * @dev ERC721 token with pausable token transfers, minting and burning. - * - * Useful for scenarios such as preventing trades until the end of an evaluation - * period, or having an emergency switch for freezing all token transfers in the - * event of a large bug. - */ -abstract contract ERC721Pausable is ERC721, Pausable { - /** - * @dev See {ERC721-_beforeTokenTransfer}. - * - * Requirements: - * - * - the contract must not be paused. - */ - function _beforeTokenTransfer( - address from, - address to, - uint256 tokenId - ) internal virtual override { - super._beforeTokenTransfer(from, to, tokenId); - - require(!paused(), "ERC721Pausable: token transfer while paused"); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol deleted file mode 100644 index e4ef29dbe8..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol +++ /dev/null @@ -1,67 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/ERC721URIStorage.sol) - -pragma solidity ^0.8.0; - -import "../ERC721.sol"; - -/** - * @dev ERC721 token with storage based token URI management. - */ -abstract contract ERC721URIStorage is ERC721 { - using Strings for uint256; - - // Optional mapping for token URIs - mapping(uint256 => string) private _tokenURIs; - - /** - * @dev See {IERC721Metadata-tokenURI}. - */ - function tokenURI(uint256 tokenId) public view virtual override returns (string memory) { - require(_exists(tokenId), "ERC721URIStorage: URI query for nonexistent token"); - - string memory _tokenURI = _tokenURIs[tokenId]; - string memory base = _baseURI(); - - // If there is no base URI, return the token URI. - if (bytes(base).length == 0) { - return _tokenURI; - } - // If both are set, concatenate the baseURI and tokenURI (via abi.encodePacked). - if (bytes(_tokenURI).length > 0) { - return string(abi.encodePacked(base, _tokenURI)); - } - - return super.tokenURI(tokenId); - } - - /** - * @dev Sets `_tokenURI` as the tokenURI of `tokenId`. - * - * Requirements: - * - * - `tokenId` must exist. - */ - function _setTokenURI(uint256 tokenId, string memory _tokenURI) internal virtual { - require(_exists(tokenId), "ERC721URIStorage: URI set of nonexistent token"); - _tokenURIs[tokenId] = _tokenURI; - } - - /** - * @dev Destroys `tokenId`. - * The approval is cleared when the token is burned. - * - * Requirements: - * - * - `tokenId` must exist. - * - * Emits a {Transfer} event. - */ - function _burn(uint256 tokenId) internal virtual override { - super._burn(tokenId); - - if (bytes(_tokenURIs[tokenId]).length != 0) { - delete _tokenURIs[tokenId]; - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol deleted file mode 100644 index fc5dfba32f..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol +++ /dev/null @@ -1,29 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/IERC721Enumerable.sol) - -pragma solidity ^0.8.0; - -import "../IERC721.sol"; - -/** - * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension - * @dev See https://eips.ethereum.org/EIPS/eip-721 - */ -interface IERC721Enumerable is IERC721 { - /** - * @dev Returns the total amount of tokens stored by the contract. - */ - function totalSupply() external view returns (uint256); - - /** - * @dev Returns a token ID owned by `owner` at a given `index` of its token list. - * Use along with {balanceOf} to enumerate all of ``owner``'s tokens. - */ - function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256 tokenId); - - /** - * @dev Returns a token ID at a given `index` of all the tokens stored by the contract. - * Use along with {totalSupply} to enumerate all tokens. - */ - function tokenByIndex(uint256 index) external view returns (uint256); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol deleted file mode 100644 index 0a135ce58e..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol +++ /dev/null @@ -1,27 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/IERC721Metadata.sol) - -pragma solidity ^0.8.0; - -import "../IERC721.sol"; - -/** - * @title ERC-721 Non-Fungible Token Standard, optional metadata extension - * @dev See https://eips.ethereum.org/EIPS/eip-721 - */ -interface IERC721Metadata is IERC721 { - /** - * @dev Returns the token collection name. - */ - function name() external view returns (string memory); - - /** - * @dev Returns the token collection symbol. - */ - function symbol() external view returns (string memory); - - /** - * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token. - */ - function tokenURI(uint256 tokenId) external view returns (string memory); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol deleted file mode 100644 index da19b92205..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol +++ /dev/null @@ -1,137 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC721/presets/ERC721PresetMinterPauserAutoId.sol) - -pragma solidity ^0.8.0; - -import "../ERC721.sol"; -import "../extensions/ERC721Enumerable.sol"; -import "../extensions/ERC721Burnable.sol"; -import "../extensions/ERC721Pausable.sol"; -import "../../../access/AccessControlEnumerable.sol"; -import "../../../utils/Context.sol"; -import "../../../utils/Counters.sol"; - -/** - * @dev {ERC721} token, including: - * - * - ability for holders to burn (destroy) their tokens - * - a minter role that allows for token minting (creation) - * - a pauser role that allows to stop all token transfers - * - token ID and URI autogeneration - * - * This contract uses {AccessControl} to lock permissioned functions using the - * different roles - head to its documentation for details. - * - * The account that deploys the contract will be granted the minter and pauser - * roles, as well as the default admin role, which will let it grant both minter - * and pauser roles to other accounts. - */ -contract ERC721PresetMinterPauserAutoId is - Context, - AccessControlEnumerable, - ERC721Enumerable, - ERC721Burnable, - ERC721Pausable -{ - using Counters for Counters.Counter; - - bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE"); - bytes32 public constant PAUSER_ROLE = keccak256("PAUSER_ROLE"); - - Counters.Counter private _tokenIdTracker; - - string private _baseTokenURI; - - /** - * @dev Grants `DEFAULT_ADMIN_ROLE`, `MINTER_ROLE` and `PAUSER_ROLE` to the - * account that deploys the contract. - * - * Token URIs will be autogenerated based on `baseURI` and their token IDs. - * See {ERC721-tokenURI}. - */ - constructor( - string memory name, - string memory symbol, - string memory baseTokenURI - ) ERC721(name, symbol) { - _baseTokenURI = baseTokenURI; - - _setupRole(DEFAULT_ADMIN_ROLE, _msgSender()); - - _setupRole(MINTER_ROLE, _msgSender()); - _setupRole(PAUSER_ROLE, _msgSender()); - } - - function _baseURI() internal view virtual override returns (string memory) { - return _baseTokenURI; - } - - /** - * @dev Creates a new token for `to`. Its token ID will be automatically - * assigned (and available on the emitted {IERC721-Transfer} event), and the token - * URI autogenerated based on the base URI passed at construction. - * - * See {ERC721-_mint}. - * - * Requirements: - * - * - the caller must have the `MINTER_ROLE`. - */ - function mint(address to) public virtual { - require(hasRole(MINTER_ROLE, _msgSender()), "ERC721PresetMinterPauserAutoId: must have minter role to mint"); - - // We cannot just use balanceOf to create the new tokenId because tokens - // can be burned (destroyed), so we need a separate counter. - _mint(to, _tokenIdTracker.current()); - _tokenIdTracker.increment(); - } - - /** - * @dev Pauses all token transfers. - * - * See {ERC721Pausable} and {Pausable-_pause}. - * - * Requirements: - * - * - the caller must have the `PAUSER_ROLE`. - */ - function pause() public virtual { - require(hasRole(PAUSER_ROLE, _msgSender()), "ERC721PresetMinterPauserAutoId: must have pauser role to pause"); - _pause(); - } - - /** - * @dev Unpauses all token transfers. - * - * See {ERC721Pausable} and {Pausable-_unpause}. - * - * Requirements: - * - * - the caller must have the `PAUSER_ROLE`. - */ - function unpause() public virtual { - require(hasRole(PAUSER_ROLE, _msgSender()), "ERC721PresetMinterPauserAutoId: must have pauser role to unpause"); - _unpause(); - } - - function _beforeTokenTransfer( - address from, - address to, - uint256 tokenId - ) internal virtual override(ERC721, ERC721Enumerable, ERC721Pausable) { - super._beforeTokenTransfer(from, to, tokenId); - } - - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) - public - view - virtual - override(AccessControlEnumerable, ERC721, ERC721Enumerable) - returns (bool) - { - return super.supportsInterface(interfaceId); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol deleted file mode 100644 index 562ff2e18f..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol +++ /dev/null @@ -1,28 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC721/utils/ERC721Holder.sol) - -pragma solidity ^0.8.0; - -import "../IERC721Receiver.sol"; - -/** - * @dev Implementation of the {IERC721Receiver} interface. - * - * Accepts all token transfers. - * Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}. - */ -contract ERC721Holder is IERC721Receiver { - /** - * @dev See {IERC721Receiver-onERC721Received}. - * - * Always returns `IERC721Receiver.onERC721Received.selector`. - */ - function onERC721Received( - address, - address, - uint256, - bytes memory - ) public virtual override returns (bytes4) { - return this.onERC721Received.selector; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol deleted file mode 100644 index 8c53a3a5ff..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/ERC777.sol +++ /dev/null @@ -1,539 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC777/ERC777.sol) - -pragma solidity ^0.8.0; - -import "./IERC777.sol"; -import "./IERC777Recipient.sol"; -import "./IERC777Sender.sol"; -import "../ERC20/IERC20.sol"; -import "../../utils/Address.sol"; -import "../../utils/Context.sol"; -import "../../utils/introspection/IERC1820Registry.sol"; - -/** - * @dev Implementation of the {IERC777} 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}. - * - * Support for ERC20 is included in this contract, as specified by the EIP: both - * the ERC777 and ERC20 interfaces can be safely used when interacting with it. - * Both {IERC777-Sent} and {IERC20-Transfer} events are emitted on token - * movements. - * - * Additionally, the {IERC777-granularity} value is hard-coded to `1`, meaning that there - * are no special restrictions in the amount of tokens that created, moved, or - * destroyed. This makes integration with ERC20 applications seamless. - */ -contract ERC777 is Context, IERC777, IERC20 { - using Address for address; - - IERC1820Registry internal constant _ERC1820_REGISTRY = IERC1820Registry(0x1820a4B7618BdE71Dce8cdc73aAB6C95905faD24); - - mapping(address => uint256) private _balances; - - uint256 private _totalSupply; - - string private _name; - string private _symbol; - - bytes32 private constant _TOKENS_SENDER_INTERFACE_HASH = keccak256("ERC777TokensSender"); - bytes32 private constant _TOKENS_RECIPIENT_INTERFACE_HASH = keccak256("ERC777TokensRecipient"); - - // This isn't ever read from - it's only used to respond to the defaultOperators query. - address[] private _defaultOperatorsArray; - - // Immutable, but accounts may revoke them (tracked in __revokedDefaultOperators). - mapping(address => bool) private _defaultOperators; - - // For each account, a mapping of its operators and revoked default operators. - mapping(address => mapping(address => bool)) private _operators; - mapping(address => mapping(address => bool)) private _revokedDefaultOperators; - - // ERC20-allowances - mapping(address => mapping(address => uint256)) private _allowances; - - /** - * @dev `defaultOperators` may be an empty array. - */ - constructor( - string memory name_, - string memory symbol_, - address[] memory defaultOperators_ - ) { - _name = name_; - _symbol = symbol_; - - _defaultOperatorsArray = defaultOperators_; - for (uint256 i = 0; i < defaultOperators_.length; i++) { - _defaultOperators[defaultOperators_[i]] = true; - } - - // register interfaces - _ERC1820_REGISTRY.setInterfaceImplementer(address(this), keccak256("ERC777Token"), address(this)); - _ERC1820_REGISTRY.setInterfaceImplementer(address(this), keccak256("ERC20Token"), address(this)); - } - - /** - * @dev See {IERC777-name}. - */ - function name() public view virtual override returns (string memory) { - return _name; - } - - /** - * @dev See {IERC777-symbol}. - */ - function symbol() public view virtual override returns (string memory) { - return _symbol; - } - - /** - * @dev See {ERC20-decimals}. - * - * Always returns 18, as per the - * [ERC777 EIP](https://eips.ethereum.org/EIPS/eip-777#backward-compatibility). - */ - function decimals() public pure virtual returns (uint8) { - return 18; - } - - /** - * @dev See {IERC777-granularity}. - * - * This implementation always returns `1`. - */ - function granularity() public view virtual override returns (uint256) { - return 1; - } - - /** - * @dev See {IERC777-totalSupply}. - */ - function totalSupply() public view virtual override(IERC20, IERC777) returns (uint256) { - return _totalSupply; - } - - /** - * @dev Returns the amount of tokens owned by an account (`tokenHolder`). - */ - function balanceOf(address tokenHolder) public view virtual override(IERC20, IERC777) returns (uint256) { - return _balances[tokenHolder]; - } - - /** - * @dev See {IERC777-send}. - * - * Also emits a {IERC20-Transfer} event for ERC20 compatibility. - */ - function send( - address recipient, - uint256 amount, - bytes memory data - ) public virtual override { - _send(_msgSender(), recipient, amount, data, "", true); - } - - /** - * @dev See {IERC20-transfer}. - * - * Unlike `send`, `recipient` is _not_ required to implement the {IERC777Recipient} - * interface if it is a contract. - * - * Also emits a {Sent} event. - */ - function transfer(address recipient, uint256 amount) public virtual override returns (bool) { - require(recipient != address(0), "ERC777: transfer to the zero address"); - - address from = _msgSender(); - - _callTokensToSend(from, from, recipient, amount, "", ""); - - _move(from, from, recipient, amount, "", ""); - - _callTokensReceived(from, from, recipient, amount, "", "", false); - - return true; - } - - /** - * @dev See {IERC777-burn}. - * - * Also emits a {IERC20-Transfer} event for ERC20 compatibility. - */ - function burn(uint256 amount, bytes memory data) public virtual override { - _burn(_msgSender(), amount, data, ""); - } - - /** - * @dev See {IERC777-isOperatorFor}. - */ - function isOperatorFor(address operator, address tokenHolder) public view virtual override returns (bool) { - return - operator == tokenHolder || - (_defaultOperators[operator] && !_revokedDefaultOperators[tokenHolder][operator]) || - _operators[tokenHolder][operator]; - } - - /** - * @dev See {IERC777-authorizeOperator}. - */ - function authorizeOperator(address operator) public virtual override { - require(_msgSender() != operator, "ERC777: authorizing self as operator"); - - if (_defaultOperators[operator]) { - delete _revokedDefaultOperators[_msgSender()][operator]; - } else { - _operators[_msgSender()][operator] = true; - } - - emit AuthorizedOperator(operator, _msgSender()); - } - - /** - * @dev See {IERC777-revokeOperator}. - */ - function revokeOperator(address operator) public virtual override { - require(operator != _msgSender(), "ERC777: revoking self as operator"); - - if (_defaultOperators[operator]) { - _revokedDefaultOperators[_msgSender()][operator] = true; - } else { - delete _operators[_msgSender()][operator]; - } - - emit RevokedOperator(operator, _msgSender()); - } - - /** - * @dev See {IERC777-defaultOperators}. - */ - function defaultOperators() public view virtual override returns (address[] memory) { - return _defaultOperatorsArray; - } - - /** - * @dev See {IERC777-operatorSend}. - * - * Emits {Sent} and {IERC20-Transfer} events. - */ - function operatorSend( - address sender, - address recipient, - uint256 amount, - bytes memory data, - bytes memory operatorData - ) public virtual override { - require(isOperatorFor(_msgSender(), sender), "ERC777: caller is not an operator for holder"); - _send(sender, recipient, amount, data, operatorData, true); - } - - /** - * @dev See {IERC777-operatorBurn}. - * - * Emits {Burned} and {IERC20-Transfer} events. - */ - function operatorBurn( - address account, - uint256 amount, - bytes memory data, - bytes memory operatorData - ) public virtual override { - require(isOperatorFor(_msgSender(), account), "ERC777: caller is not an operator for holder"); - _burn(account, amount, data, operatorData); - } - - /** - * @dev See {IERC20-allowance}. - * - * Note that operator and allowance concepts are orthogonal: operators may - * not have allowance, and accounts with allowance may not be operators - * themselves. - */ - function allowance(address holder, address spender) public view virtual override returns (uint256) { - return _allowances[holder][spender]; - } - - /** - * @dev See {IERC20-approve}. - * - * Note that accounts cannot have allowance issued by their operators. - */ - function approve(address spender, uint256 value) public virtual override returns (bool) { - address holder = _msgSender(); - _approve(holder, spender, value); - return true; - } - - /** - * @dev See {IERC20-transferFrom}. - * - * Note that operator and allowance concepts are orthogonal: operators cannot - * call `transferFrom` (unless they have allowance), and accounts with - * allowance cannot call `operatorSend` (unless they are operators). - * - * Emits {Sent}, {IERC20-Transfer} and {IERC20-Approval} events. - */ - function transferFrom( - address holder, - address recipient, - uint256 amount - ) public virtual override returns (bool) { - require(recipient != address(0), "ERC777: transfer to the zero address"); - require(holder != address(0), "ERC777: transfer from the zero address"); - - address spender = _msgSender(); - - _callTokensToSend(spender, holder, recipient, amount, "", ""); - - _move(spender, holder, recipient, amount, "", ""); - - uint256 currentAllowance = _allowances[holder][spender]; - require(currentAllowance >= amount, "ERC777: transfer amount exceeds allowance"); - _approve(holder, spender, currentAllowance - amount); - - _callTokensReceived(spender, holder, recipient, amount, "", "", false); - - return true; - } - - /** - * @dev Creates `amount` tokens and assigns them to `account`, increasing - * the total supply. - * - * If a send hook is registered for `account`, the corresponding function - * will be called with `operator`, `data` and `operatorData`. - * - * See {IERC777Sender} and {IERC777Recipient}. - * - * Emits {Minted} and {IERC20-Transfer} events. - * - * Requirements - * - * - `account` cannot be the zero address. - * - if `account` is a contract, it must implement the {IERC777Recipient} - * interface. - */ - function _mint( - address account, - uint256 amount, - bytes memory userData, - bytes memory operatorData - ) internal virtual { - _mint(account, amount, userData, operatorData, true); - } - - /** - * @dev Creates `amount` tokens and assigns them to `account`, increasing - * the total supply. - * - * If `requireReceptionAck` is set to true, and if a send hook is - * registered for `account`, the corresponding function will be called with - * `operator`, `data` and `operatorData`. - * - * See {IERC777Sender} and {IERC777Recipient}. - * - * Emits {Minted} and {IERC20-Transfer} events. - * - * Requirements - * - * - `account` cannot be the zero address. - * - if `account` is a contract, it must implement the {IERC777Recipient} - * interface. - */ - function _mint( - address account, - uint256 amount, - bytes memory userData, - bytes memory operatorData, - bool requireReceptionAck - ) internal virtual { - require(account != address(0), "ERC777: mint to the zero address"); - - address operator = _msgSender(); - - _beforeTokenTransfer(operator, address(0), account, amount); - - // Update state variables - _totalSupply += amount; - _balances[account] += amount; - - _callTokensReceived(operator, address(0), account, amount, userData, operatorData, requireReceptionAck); - - emit Minted(operator, account, amount, userData, operatorData); - emit Transfer(address(0), account, amount); - } - - /** - * @dev Send tokens - * @param from address token holder address - * @param to address recipient address - * @param amount uint256 amount of tokens to transfer - * @param userData bytes extra information provided by the token holder (if any) - * @param operatorData bytes extra information provided by the operator (if any) - * @param requireReceptionAck if true, contract recipients are required to implement ERC777TokensRecipient - */ - function _send( - address from, - address to, - uint256 amount, - bytes memory userData, - bytes memory operatorData, - bool requireReceptionAck - ) internal virtual { - require(from != address(0), "ERC777: send from the zero address"); - require(to != address(0), "ERC777: send to the zero address"); - - address operator = _msgSender(); - - _callTokensToSend(operator, from, to, amount, userData, operatorData); - - _move(operator, from, to, amount, userData, operatorData); - - _callTokensReceived(operator, from, to, amount, userData, operatorData, requireReceptionAck); - } - - /** - * @dev Burn tokens - * @param from address token holder address - * @param amount uint256 amount of tokens to burn - * @param data bytes extra information provided by the token holder - * @param operatorData bytes extra information provided by the operator (if any) - */ - function _burn( - address from, - uint256 amount, - bytes memory data, - bytes memory operatorData - ) internal virtual { - require(from != address(0), "ERC777: burn from the zero address"); - - address operator = _msgSender(); - - _callTokensToSend(operator, from, address(0), amount, data, operatorData); - - _beforeTokenTransfer(operator, from, address(0), amount); - - // Update state variables - uint256 fromBalance = _balances[from]; - require(fromBalance >= amount, "ERC777: burn amount exceeds balance"); - unchecked { - _balances[from] = fromBalance - amount; - } - _totalSupply -= amount; - - emit Burned(operator, from, amount, data, operatorData); - emit Transfer(from, address(0), amount); - } - - function _move( - address operator, - address from, - address to, - uint256 amount, - bytes memory userData, - bytes memory operatorData - ) private { - _beforeTokenTransfer(operator, from, to, amount); - - uint256 fromBalance = _balances[from]; - require(fromBalance >= amount, "ERC777: transfer amount exceeds balance"); - unchecked { - _balances[from] = fromBalance - amount; - } - _balances[to] += amount; - - emit Sent(operator, from, to, amount, userData, operatorData); - emit Transfer(from, to, amount); - } - - /** - * @dev See {ERC20-_approve}. - * - * Note that accounts cannot have allowance issued by their operators. - */ - function _approve( - address holder, - address spender, - uint256 value - ) internal { - require(holder != address(0), "ERC777: approve from the zero address"); - require(spender != address(0), "ERC777: approve to the zero address"); - - _allowances[holder][spender] = value; - emit Approval(holder, spender, value); - } - - /** - * @dev Call from.tokensToSend() if the interface is registered - * @param operator address operator requesting the transfer - * @param from address token holder address - * @param to address recipient address - * @param amount uint256 amount of tokens to transfer - * @param userData bytes extra information provided by the token holder (if any) - * @param operatorData bytes extra information provided by the operator (if any) - */ - function _callTokensToSend( - address operator, - address from, - address to, - uint256 amount, - bytes memory userData, - bytes memory operatorData - ) private { - address implementer = _ERC1820_REGISTRY.getInterfaceImplementer(from, _TOKENS_SENDER_INTERFACE_HASH); - if (implementer != address(0)) { - IERC777Sender(implementer).tokensToSend(operator, from, to, amount, userData, operatorData); - } - } - - /** - * @dev Call to.tokensReceived() if the interface is registered. Reverts if the recipient is a contract but - * tokensReceived() was not registered for the recipient - * @param operator address operator requesting the transfer - * @param from address token holder address - * @param to address recipient address - * @param amount uint256 amount of tokens to transfer - * @param userData bytes extra information provided by the token holder (if any) - * @param operatorData bytes extra information provided by the operator (if any) - * @param requireReceptionAck if true, contract recipients are required to implement ERC777TokensRecipient - */ - function _callTokensReceived( - address operator, - address from, - address to, - uint256 amount, - bytes memory userData, - bytes memory operatorData, - bool requireReceptionAck - ) private { - address implementer = _ERC1820_REGISTRY.getInterfaceImplementer(to, _TOKENS_RECIPIENT_INTERFACE_HASH); - if (implementer != address(0)) { - IERC777Recipient(implementer).tokensReceived(operator, from, to, amount, userData, operatorData); - } else if (requireReceptionAck) { - require(!to.isContract(), "ERC777: token recipient contract has no implementer for ERC777TokensRecipient"); - } - } - - /** - * @dev Hook that is called before any token transfer. This includes - * calls to {send}, {transfer}, {operatorSend}, minting and burning. - * - * Calling conditions: - * - * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens - * will be to 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 operator, - address from, - address to, - uint256 amount - ) internal virtual {} -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol deleted file mode 100644 index 89bfb5dae4..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777.sol +++ /dev/null @@ -1,193 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC777/IERC777.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Interface of the ERC777Token standard as defined in the EIP. - * - * This contract uses the - * https://eips.ethereum.org/EIPS/eip-1820[ERC1820 registry standard] to let - * token holders and recipients react to token movements by using setting implementers - * for the associated interfaces in said registry. See {IERC1820Registry} and - * {ERC1820Implementer}. - */ -interface IERC777 { - /** - * @dev Returns the name of the token. - */ - function name() external view returns (string memory); - - /** - * @dev Returns the symbol of the token, usually a shorter version of the - * name. - */ - function symbol() external view returns (string memory); - - /** - * @dev Returns the smallest part of the token that is not divisible. This - * means all token operations (creation, movement and destruction) must have - * amounts that are a multiple of this number. - * - * For most token contracts, this value will equal 1. - */ - function granularity() external view returns (uint256); - - /** - * @dev Returns the amount of tokens in existence. - */ - function totalSupply() external view returns (uint256); - - /** - * @dev Returns the amount of tokens owned by an account (`owner`). - */ - function balanceOf(address owner) external view returns (uint256); - - /** - * @dev Moves `amount` tokens from the caller's account to `recipient`. - * - * If send or receive hooks are registered for the caller and `recipient`, - * the corresponding functions will be called with `data` and empty - * `operatorData`. See {IERC777Sender} and {IERC777Recipient}. - * - * Emits a {Sent} event. - * - * Requirements - * - * - the caller must have at least `amount` tokens. - * - `recipient` cannot be the zero address. - * - if `recipient` is a contract, it must implement the {IERC777Recipient} - * interface. - */ - function send( - address recipient, - uint256 amount, - bytes calldata data - ) external; - - /** - * @dev Destroys `amount` tokens from the caller's account, reducing the - * total supply. - * - * If a send hook is registered for the caller, the corresponding function - * will be called with `data` and empty `operatorData`. See {IERC777Sender}. - * - * Emits a {Burned} event. - * - * Requirements - * - * - the caller must have at least `amount` tokens. - */ - function burn(uint256 amount, bytes calldata data) external; - - /** - * @dev Returns true if an account is an operator of `tokenHolder`. - * Operators can send and burn tokens on behalf of their owners. All - * accounts are their own operator. - * - * See {operatorSend} and {operatorBurn}. - */ - function isOperatorFor(address operator, address tokenHolder) external view returns (bool); - - /** - * @dev Make an account an operator of the caller. - * - * See {isOperatorFor}. - * - * Emits an {AuthorizedOperator} event. - * - * Requirements - * - * - `operator` cannot be calling address. - */ - function authorizeOperator(address operator) external; - - /** - * @dev Revoke an account's operator status for the caller. - * - * See {isOperatorFor} and {defaultOperators}. - * - * Emits a {RevokedOperator} event. - * - * Requirements - * - * - `operator` cannot be calling address. - */ - function revokeOperator(address operator) external; - - /** - * @dev Returns the list of default operators. These accounts are operators - * for all token holders, even if {authorizeOperator} was never called on - * them. - * - * This list is immutable, but individual holders may revoke these via - * {revokeOperator}, in which case {isOperatorFor} will return false. - */ - function defaultOperators() external view returns (address[] memory); - - /** - * @dev Moves `amount` tokens from `sender` to `recipient`. The caller must - * be an operator of `sender`. - * - * If send or receive hooks are registered for `sender` and `recipient`, - * the corresponding functions will be called with `data` and - * `operatorData`. See {IERC777Sender} and {IERC777Recipient}. - * - * Emits a {Sent} event. - * - * Requirements - * - * - `sender` cannot be the zero address. - * - `sender` must have at least `amount` tokens. - * - the caller must be an operator for `sender`. - * - `recipient` cannot be the zero address. - * - if `recipient` is a contract, it must implement the {IERC777Recipient} - * interface. - */ - function operatorSend( - address sender, - address recipient, - uint256 amount, - bytes calldata data, - bytes calldata operatorData - ) external; - - /** - * @dev Destroys `amount` tokens from `account`, reducing the total supply. - * The caller must be an operator of `account`. - * - * If a send hook is registered for `account`, the corresponding function - * will be called with `data` and `operatorData`. See {IERC777Sender}. - * - * Emits a {Burned} event. - * - * Requirements - * - * - `account` cannot be the zero address. - * - `account` must have at least `amount` tokens. - * - the caller must be an operator for `account`. - */ - function operatorBurn( - address account, - uint256 amount, - bytes calldata data, - bytes calldata operatorData - ) external; - - event Sent( - address indexed operator, - address indexed from, - address indexed to, - uint256 amount, - bytes data, - bytes operatorData - ); - - event Minted(address indexed operator, address indexed to, uint256 amount, bytes data, bytes operatorData); - - event Burned(address indexed operator, address indexed from, uint256 amount, bytes data, bytes operatorData); - - event AuthorizedOperator(address indexed operator, address indexed tokenHolder); - - event RevokedOperator(address indexed operator, address indexed tokenHolder); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol deleted file mode 100644 index 4ea1a6984d..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Recipient.sol +++ /dev/null @@ -1,35 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC777/IERC777Recipient.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Interface of the ERC777TokensRecipient standard as defined in the EIP. - * - * Accounts can be notified of {IERC777} tokens being sent to them by having a - * contract implement this interface (contract holders can be their own - * implementer) and registering it on the - * https://eips.ethereum.org/EIPS/eip-1820[ERC1820 global registry]. - * - * See {IERC1820Registry} and {ERC1820Implementer}. - */ -interface IERC777Recipient { - /** - * @dev Called by an {IERC777} token contract whenever tokens are being - * moved or created into a registered account (`to`). The type of operation - * is conveyed by `from` being the zero address or not. - * - * This call occurs _after_ the token contract's state is updated, so - * {IERC777-balanceOf}, etc., can be used to query the post-operation state. - * - * This function may revert to prevent the operation from being executed. - */ - function tokensReceived( - address operator, - address from, - address to, - uint256 amount, - bytes calldata userData, - bytes calldata operatorData - ) external; -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol deleted file mode 100644 index 34805bba1c..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/IERC777Sender.sol +++ /dev/null @@ -1,35 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC777/IERC777Sender.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Interface of the ERC777TokensSender standard as defined in the EIP. - * - * {IERC777} Token holders can be notified of operations performed on their - * tokens by having a contract implement this interface (contract holders can be - * their own implementer) and registering it on the - * https://eips.ethereum.org/EIPS/eip-1820[ERC1820 global registry]. - * - * See {IERC1820Registry} and {ERC1820Implementer}. - */ -interface IERC777Sender { - /** - * @dev Called by an {IERC777} token contract whenever a registered holder's - * (`from`) tokens are about to be moved or destroyed. The type of operation - * is conveyed by `to` being the zero address or not. - * - * This call occurs _before_ the token contract's state is updated, so - * {IERC777-balanceOf}, etc., can be used to query the pre-operation state. - * - * This function may revert to prevent the operation from being executed. - */ - function tokensToSend( - address operator, - address from, - address to, - uint256 amount, - bytes calldata userData, - bytes calldata operatorData - ) external; -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol deleted file mode 100644 index 4441fad483..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol +++ /dev/null @@ -1,30 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (token/ERC777/presets/ERC777PresetFixedSupply.sol) -pragma solidity ^0.8.0; - -import "../ERC777.sol"; - -/** - * @dev {ERC777} token, including: - * - * - Preminted initial supply - * - No access control mechanism (for minting/pausing) and hence no governance - * - * _Available since v3.4._ - */ -contract ERC777PresetFixedSupply is ERC777 { - /** - * @dev Mints `initialSupply` amount of token and transfers them to `owner`. - * - * See {ERC777-constructor}. - */ - constructor( - string memory name, - string memory symbol, - address[] memory defaultOperators, - uint256 initialSupply, - address owner - ) ERC777(name, symbol, defaultOperators) { - _mint(owner, initialSupply, "", ""); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol deleted file mode 100644 index 7fae36f1f3..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Address.sol +++ /dev/null @@ -1,217 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/Address.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Collection of functions related to the address type - */ -library Address { - /** - * @dev Returns true if `account` is a contract. - * - * [IMPORTANT] - * ==== - * It is unsafe to assume that an address for which this function returns - * false is an externally-owned account (EOA) and not a contract. - * - * Among others, `isContract` will return false for the following - * types of addresses: - * - * - an externally-owned account - * - a contract in construction - * - an address where a contract will be created - * - an address where a contract lived, but was destroyed - * ==== - */ - function isContract(address account) internal view returns (bool) { - // This method relies on extcodesize, which returns 0 for contracts in - // construction, since the code is only stored at the end of the - // constructor execution. - - uint256 size; - assembly { - size := extcodesize(account) - } - return size > 0; - } - - /** - * @dev Replacement for Solidity's `transfer`: sends `amount` wei to - * `recipient`, forwarding all available gas and reverting on errors. - * - * https://eips.ethereum.org/EIPS/eip-1884[EIP1884] increases the gas cost - * of certain opcodes, possibly making contracts go over the 2300 gas limit - * imposed by `transfer`, making them unable to receive funds via - * `transfer`. {sendValue} removes this limitation. - * - * https://diligence.consensys.net/posts/2019/09/stop-using-soliditys-transfer-now/[Learn more]. - * - * IMPORTANT: because control is transferred to `recipient`, care must be - * taken to not create reentrancy vulnerabilities. Consider using - * {ReentrancyGuard} or the - * https://solidity.readthedocs.io/en/v0.5.11/security-considerations.html#use-the-checks-effects-interactions-pattern[checks-effects-interactions pattern]. - */ - function sendValue(address payable recipient, uint256 amount) internal { - require(address(this).balance >= amount, "Address: insufficient balance"); - - (bool success, ) = recipient.call{value: amount}(""); - require(success, "Address: unable to send value, recipient may have reverted"); - } - - /** - * @dev Performs a Solidity function call using a low level `call`. A - * plain `call` is an unsafe replacement for a function call: use this - * function instead. - * - * If `target` reverts with a revert reason, it is bubbled up by this - * function (like regular Solidity function calls). - * - * Returns the raw returned data. To convert to the expected return value, - * use https://solidity.readthedocs.io/en/latest/units-and-global-variables.html?highlight=abi.decode#abi-encoding-and-decoding-functions[`abi.decode`]. - * - * Requirements: - * - * - `target` must be a contract. - * - calling `target` with `data` must not revert. - * - * _Available since v3.1._ - */ - function functionCall(address target, bytes memory data) internal returns (bytes memory) { - return functionCall(target, data, "Address: low-level call failed"); - } - - /** - * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], but with - * `errorMessage` as a fallback revert reason when `target` reverts. - * - * _Available since v3.1._ - */ - function functionCall( - address target, - bytes memory data, - string memory errorMessage - ) internal returns (bytes memory) { - return functionCallWithValue(target, data, 0, errorMessage); - } - - /** - * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], - * but also transferring `value` wei to `target`. - * - * Requirements: - * - * - the calling contract must have an ETH balance of at least `value`. - * - the called Solidity function must be `payable`. - * - * _Available since v3.1._ - */ - function functionCallWithValue( - address target, - bytes memory data, - uint256 value - ) internal returns (bytes memory) { - return functionCallWithValue(target, data, value, "Address: low-level call with value failed"); - } - - /** - * @dev Same as {xref-Address-functionCallWithValue-address-bytes-uint256-}[`functionCallWithValue`], but - * with `errorMessage` as a fallback revert reason when `target` reverts. - * - * _Available since v3.1._ - */ - function functionCallWithValue( - address target, - bytes memory data, - uint256 value, - string memory errorMessage - ) internal returns (bytes memory) { - require(address(this).balance >= value, "Address: insufficient balance for call"); - require(isContract(target), "Address: call to non-contract"); - - (bool success, bytes memory returndata) = target.call{value: value}(data); - return verifyCallResult(success, returndata, errorMessage); - } - - /** - * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], - * but performing a static call. - * - * _Available since v3.3._ - */ - function functionStaticCall(address target, bytes memory data) internal view returns (bytes memory) { - return functionStaticCall(target, data, "Address: low-level static call failed"); - } - - /** - * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], - * but performing a static call. - * - * _Available since v3.3._ - */ - function functionStaticCall( - address target, - bytes memory data, - string memory errorMessage - ) internal view returns (bytes memory) { - require(isContract(target), "Address: static call to non-contract"); - - (bool success, bytes memory returndata) = target.staticcall(data); - return verifyCallResult(success, returndata, errorMessage); - } - - /** - * @dev Same as {xref-Address-functionCall-address-bytes-}[`functionCall`], - * but performing a delegate call. - * - * _Available since v3.4._ - */ - function functionDelegateCall(address target, bytes memory data) internal returns (bytes memory) { - return functionDelegateCall(target, data, "Address: low-level delegate call failed"); - } - - /** - * @dev Same as {xref-Address-functionCall-address-bytes-string-}[`functionCall`], - * but performing a delegate call. - * - * _Available since v3.4._ - */ - function functionDelegateCall( - address target, - bytes memory data, - string memory errorMessage - ) internal returns (bytes memory) { - require(isContract(target), "Address: delegate call to non-contract"); - - (bool success, bytes memory returndata) = target.delegatecall(data); - return verifyCallResult(success, returndata, errorMessage); - } - - /** - * @dev Tool to verifies that a low level call was successful, and revert if it wasn't, either by bubbling the - * revert reason using the provided one. - * - * _Available since v4.3._ - */ - function verifyCallResult( - bool success, - bytes memory returndata, - string memory errorMessage - ) internal pure returns (bytes memory) { - if (success) { - return returndata; - } else { - // Look for revert reason and bubble it up if present - if (returndata.length > 0) { - // The easiest way to bubble the revert reason is using memory via assembly - - assembly { - let returndata_size := mload(returndata) - revert(add(32, returndata), returndata_size) - } - } else { - revert(errorMessage); - } - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol deleted file mode 100644 index 5f06e30499..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Arrays.sol +++ /dev/null @@ -1,48 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/Arrays.sol) - -pragma solidity ^0.8.0; - -import "./math/Math.sol"; - -/** - * @dev Collection of functions related to array types. - */ -library Arrays { - /** - * @dev Searches a sorted `array` and returns the first index that contains - * a value greater or equal to `element`. If no such index exists (i.e. all - * values in the array are strictly less than `element`), the array length is - * returned. Time complexity O(log n). - * - * `array` is expected to be sorted in ascending order, and to contain no - * repeated elements. - */ - function findUpperBound(uint256[] storage array, uint256 element) internal view returns (uint256) { - if (array.length == 0) { - return 0; - } - - uint256 low = 0; - uint256 high = array.length; - - while (low < high) { - uint256 mid = Math.average(low, high); - - // Note that mid will always be strictly less than high (i.e. it will be a valid array index) - // because Math.average rounds down (it does integer division with truncation). - if (array[mid] > element) { - high = mid; - } else { - low = mid + 1; - } - } - - // At this point `low` is the exclusive upper bound. We will return the inclusive upper bound. - if (low > 0 && array[low - 1] == element) { - return low - 1; - } else { - return low; - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol deleted file mode 100644 index 8a402a141c..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Context.sol +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/Context.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Provides information about the current execution context, including the - * sender of the transaction and its data. While these are generally available - * via msg.sender and msg.data, they should not be accessed in such a direct - * manner, since when dealing with meta-transactions the account sending and - * paying for execution may not be the actual sender (as far as an application - * is concerned). - * - * This contract is only required for intermediate, library-like contracts. - */ -abstract contract Context { - function _msgSender() internal view virtual returns (address) { - return msg.sender; - } - - function _msgData() internal view virtual returns (bytes calldata) { - return msg.data; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol deleted file mode 100644 index b2538929ea..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Counters.sol +++ /dev/null @@ -1,43 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/Counters.sol) - -pragma solidity ^0.8.0; - -/** - * @title Counters - * @author Matt Condon (@shrugs) - * @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number - * of elements in a mapping, issuing ERC721 ids, or counting request ids. - * - * Include with `using Counters for Counters.Counter;` - */ -library Counters { - struct Counter { - // This variable should never be directly accessed by users of the library: interactions must be restricted to - // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add - // this feature: see https://github.com/ethereum/solidity/issues/4637 - uint256 _value; // default: 0 - } - - function current(Counter storage counter) internal view returns (uint256) { - return counter._value; - } - - function increment(Counter storage counter) internal { - unchecked { - counter._value += 1; - } - } - - function decrement(Counter storage counter) internal { - uint256 value = counter._value; - require(value > 0, "Counter: decrement overflow"); - unchecked { - counter._value = value - 1; - } - } - - function reset(Counter storage counter) internal { - counter._value = 0; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol deleted file mode 100644 index b65b63737e..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Create2.sol +++ /dev/null @@ -1,65 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/Create2.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Helper to make usage of the `CREATE2` EVM opcode easier and safer. - * `CREATE2` can be used to compute in advance the address where a smart - * contract will be deployed, which allows for interesting new mechanisms known - * as 'counterfactual interactions'. - * - * See the https://eips.ethereum.org/EIPS/eip-1014#motivation[EIP] for more - * information. - */ -library Create2 { - /** - * @dev Deploys a contract using `CREATE2`. The address where the contract - * will be deployed can be known in advance via {computeAddress}. - * - * The bytecode for a contract can be obtained from Solidity with - * `type(contractName).creationCode`. - * - * Requirements: - * - * - `bytecode` must not be empty. - * - `salt` must have not been used for `bytecode` already. - * - the factory must have a balance of at least `amount`. - * - if `amount` is non-zero, `bytecode` must have a `payable` constructor. - */ - function deploy( - uint256 amount, - bytes32 salt, - bytes memory bytecode - ) internal returns (address) { - address addr; - require(address(this).balance >= amount, "Create2: insufficient balance"); - require(bytecode.length != 0, "Create2: bytecode length is zero"); - assembly { - addr := create2(amount, add(bytecode, 0x20), mload(bytecode), salt) - } - require(addr != address(0), "Create2: Failed on deploy"); - return addr; - } - - /** - * @dev Returns the address where a contract will be stored if deployed via {deploy}. Any change in the - * `bytecodeHash` or `salt` will result in a new destination address. - */ - function computeAddress(bytes32 salt, bytes32 bytecodeHash) internal view returns (address) { - return computeAddress(salt, bytecodeHash, address(this)); - } - - /** - * @dev Returns the address where a contract will be stored if deployed via {deploy} from a contract located at - * `deployer`. If `deployer` is this contract's address, returns the same value as {computeAddress}. - */ - function computeAddress( - bytes32 salt, - bytes32 bytecodeHash, - address deployer - ) internal pure returns (address) { - bytes32 _data = keccak256(abi.encodePacked(bytes1(0xff), deployer, salt, bytecodeHash)); - return address(uint160(uint256(_data))); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol deleted file mode 100644 index 2911348abe..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Multicall.sol +++ /dev/null @@ -1,24 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/Multicall.sol) - -pragma solidity ^0.8.0; - -import "./Address.sol"; - -/** - * @dev Provides a function to batch together multiple calls in a single external call. - * - * _Available since v4.1._ - */ -abstract contract Multicall { - /** - * @dev Receives and executes a batch of function calls on this contract. - */ - function multicall(bytes[] calldata data) external returns (bytes[] memory results) { - results = new bytes[](data.length); - for (uint256 i = 0; i < data.length; i++) { - results[i] = Address.functionDelegateCall(address(this), data[i]); - } - return results; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol deleted file mode 100644 index b33a91efb4..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/StorageSlot.sol +++ /dev/null @@ -1,84 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/StorageSlot.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Library for reading and writing primitive types to specific storage slots. - * - * Storage slots are often used to avoid storage conflict when dealing with upgradeable contracts. - * This library helps with reading and writing to such slots without the need for inline assembly. - * - * The functions in this library return Slot structs that contain a `value` member that can be used to read or write. - * - * Example usage to set ERC1967 implementation slot: - * ``` - * contract ERC1967 { - * bytes32 internal constant _IMPLEMENTATION_SLOT = 0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc; - * - * function _getImplementation() internal view returns (address) { - * return StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value; - * } - * - * function _setImplementation(address newImplementation) internal { - * require(Address.isContract(newImplementation), "ERC1967: new implementation is not a contract"); - * StorageSlot.getAddressSlot(_IMPLEMENTATION_SLOT).value = newImplementation; - * } - * } - * ``` - * - * _Available since v4.1 for `address`, `bool`, `bytes32`, and `uint256`._ - */ -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) { - assembly { - r.slot := slot - } - } - - /** - * @dev Returns an `BooleanSlot` with member `value` located at `slot`. - */ - function getBooleanSlot(bytes32 slot) internal pure returns (BooleanSlot storage r) { - assembly { - r.slot := slot - } - } - - /** - * @dev Returns an `Bytes32Slot` with member `value` located at `slot`. - */ - function getBytes32Slot(bytes32 slot) internal pure returns (Bytes32Slot storage r) { - assembly { - r.slot := slot - } - } - - /** - * @dev Returns an `Uint256Slot` with member `value` located at `slot`. - */ - function getUint256Slot(bytes32 slot) internal pure returns (Uint256Slot storage r) { - assembly { - r.slot := slot - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol deleted file mode 100644 index 0cf6e8b279..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Strings.sol +++ /dev/null @@ -1,67 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/Strings.sol) - -pragma solidity ^0.8.0; - -/** - * @dev String operations. - */ -library Strings { - bytes16 private constant _HEX_SYMBOLS = "0123456789abcdef"; - - /** - * @dev Converts a `uint256` to its ASCII `string` decimal representation. - */ - function toString(uint256 value) internal pure returns (string memory) { - // Inspired by OraclizeAPI's implementation - MIT licence - // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol - - if (value == 0) { - return "0"; - } - uint256 temp = value; - uint256 digits; - while (temp != 0) { - digits++; - temp /= 10; - } - bytes memory buffer = new bytes(digits); - while (value != 0) { - digits -= 1; - buffer[digits] = bytes1(uint8(48 + uint256(value % 10))); - value /= 10; - } - return string(buffer); - } - - /** - * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation. - */ - function toHexString(uint256 value) internal pure returns (string memory) { - if (value == 0) { - return "0x00"; - } - uint256 temp = value; - uint256 length = 0; - while (temp != 0) { - length++; - temp >>= 8; - } - return toHexString(value, length); - } - - /** - * @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length. - */ - function toHexString(uint256 value, uint256 length) internal pure returns (string memory) { - bytes memory buffer = new bytes(2 * length + 2); - buffer[0] = "0"; - buffer[1] = "x"; - for (uint256 i = 2 * length + 1; i > 1; --i) { - buffer[i] = _HEX_SYMBOLS[value & 0xf]; - value >>= 4; - } - require(value == 0, "Strings: hex length insufficient"); - return string(buffer); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol deleted file mode 100644 index 666abe58ed..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/Timers.sol +++ /dev/null @@ -1,73 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/Timers.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Tooling for timepoints, timers and delays - */ -library Timers { - struct Timestamp { - uint64 _deadline; - } - - function getDeadline(Timestamp memory timer) internal pure returns (uint64) { - return timer._deadline; - } - - function setDeadline(Timestamp storage timer, uint64 timestamp) internal { - timer._deadline = timestamp; - } - - function reset(Timestamp storage timer) internal { - timer._deadline = 0; - } - - function isUnset(Timestamp memory timer) internal pure returns (bool) { - return timer._deadline == 0; - } - - function isStarted(Timestamp memory timer) internal pure returns (bool) { - return timer._deadline > 0; - } - - function isPending(Timestamp memory timer) internal view returns (bool) { - return timer._deadline > block.timestamp; - } - - function isExpired(Timestamp memory timer) internal view returns (bool) { - return isStarted(timer) && timer._deadline <= block.timestamp; - } - - struct BlockNumber { - uint64 _deadline; - } - - function getDeadline(BlockNumber memory timer) internal pure returns (uint64) { - return timer._deadline; - } - - function setDeadline(BlockNumber storage timer, uint64 timestamp) internal { - timer._deadline = timestamp; - } - - function reset(BlockNumber storage timer) internal { - timer._deadline = 0; - } - - function isUnset(BlockNumber memory timer) internal pure returns (bool) { - return timer._deadline == 0; - } - - function isStarted(BlockNumber memory timer) internal pure returns (bool) { - return timer._deadline > 0; - } - - function isPending(BlockNumber memory timer) internal view returns (bool) { - return timer._deadline > block.number; - } - - function isExpired(BlockNumber memory timer) internal view returns (bool) { - return isStarted(timer) && timer._deadline <= block.number; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol deleted file mode 100644 index 7334d24480..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol +++ /dev/null @@ -1,234 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/cryptography/ECDSA.sol) - -pragma solidity ^0.8.0; - -import "../Strings.sol"; - -/** - * @dev Elliptic Curve Digital Signature Algorithm (ECDSA) operations. - * - * These functions can be used to verify that a message was signed by the holder - * of the private keys of a given address. - */ -library ECDSA { - enum RecoverError { - NoError, - InvalidSignature, - InvalidSignatureLength, - InvalidSignatureS, - InvalidSignatureV - } - - function _throwError(RecoverError error) private pure { - if (error == RecoverError.NoError) { - return; // no error: do nothing - } else if (error == RecoverError.InvalidSignature) { - revert("ECDSA: invalid signature"); - } else if (error == RecoverError.InvalidSignatureLength) { - revert("ECDSA: invalid signature length"); - } else if (error == RecoverError.InvalidSignatureS) { - revert("ECDSA: invalid signature 's' value"); - } else if (error == RecoverError.InvalidSignatureV) { - revert("ECDSA: invalid signature 'v' value"); - } - } - - /** - * @dev Returns the address that signed a hashed message (`hash`) with - * `signature` or error string. This address can then be used for verification purposes. - * - * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures: - * this function rejects them by requiring the `s` value to be in the lower - * half order, and the `v` value to be either 27 or 28. - * - * IMPORTANT: `hash` _must_ be the result of a hash operation for the - * verification to be secure: it is possible to craft signatures that - * recover to arbitrary addresses for non-hashed data. A safe way to ensure - * this is by receiving a hash of the original message (which may otherwise - * be too long), and then calling {toEthSignedMessageHash} on it. - * - * Documentation for signature generation: - * - with https://web3js.readthedocs.io/en/v1.3.4/web3-eth-accounts.html#sign[Web3.js] - * - with https://docs.ethers.io/v5/api/signer/#Signer-signMessage[ethers] - * - * _Available since v4.3._ - */ - function tryRecover(bytes32 hash, bytes memory signature) internal pure returns (address, RecoverError) { - // Check the signature length - // - case 65: r,s,v signature (standard) - // - case 64: r,vs signature (cf https://eips.ethereum.org/EIPS/eip-2098) _Available since v4.1._ - if (signature.length == 65) { - bytes32 r; - bytes32 s; - uint8 v; - // ecrecover takes the signature parameters, and the only way to get them - // currently is to use assembly. - assembly { - r := mload(add(signature, 0x20)) - s := mload(add(signature, 0x40)) - v := byte(0, mload(add(signature, 0x60))) - } - return tryRecover(hash, v, r, s); - } else if (signature.length == 64) { - bytes32 r; - bytes32 vs; - // ecrecover takes the signature parameters, and the only way to get them - // currently is to use assembly. - assembly { - r := mload(add(signature, 0x20)) - vs := mload(add(signature, 0x40)) - } - return tryRecover(hash, r, vs); - } else { - return (address(0), RecoverError.InvalidSignatureLength); - } - } - - /** - * @dev Returns the address that signed a hashed message (`hash`) with - * `signature`. This address can then be used for verification purposes. - * - * The `ecrecover` EVM opcode allows for malleable (non-unique) signatures: - * this function rejects them by requiring the `s` value to be in the lower - * half order, and the `v` value to be either 27 or 28. - * - * IMPORTANT: `hash` _must_ be the result of a hash operation for the - * verification to be secure: it is possible to craft signatures that - * recover to arbitrary addresses for non-hashed data. A safe way to ensure - * this is by receiving a hash of the original message (which may otherwise - * be too long), and then calling {toEthSignedMessageHash} on it. - */ - function recover(bytes32 hash, bytes memory signature) internal pure returns (address) { - (address recovered, RecoverError error) = tryRecover(hash, signature); - _throwError(error); - return recovered; - } - - /** - * @dev Overload of {ECDSA-tryRecover} that receives the `r` and `vs` short-signature fields separately. - * - * See https://eips.ethereum.org/EIPS/eip-2098[EIP-2098 short signatures] - * - * _Available since v4.3._ - */ - function tryRecover( - bytes32 hash, - bytes32 r, - bytes32 vs - ) internal pure returns (address, RecoverError) { - bytes32 s; - uint8 v; - assembly { - s := and(vs, 0x7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff) - v := add(shr(255, vs), 27) - } - return tryRecover(hash, v, r, s); - } - - /** - * @dev Overload of {ECDSA-recover} that receives the `r and `vs` short-signature fields separately. - * - * _Available since v4.2._ - */ - function recover( - bytes32 hash, - bytes32 r, - bytes32 vs - ) internal pure returns (address) { - (address recovered, RecoverError error) = tryRecover(hash, r, vs); - _throwError(error); - return recovered; - } - - /** - * @dev Overload of {ECDSA-tryRecover} that receives the `v`, - * `r` and `s` signature fields separately. - * - * _Available since v4.3._ - */ - function tryRecover( - bytes32 hash, - uint8 v, - bytes32 r, - bytes32 s - ) internal pure returns (address, RecoverError) { - // EIP-2 still allows signature malleability for ecrecover(). Remove this possibility and make the signature - // unique. Appendix F in the Ethereum Yellow paper (https://ethereum.github.io/yellowpaper/paper.pdf), defines - // the valid range for s in (301): 0 < s < secp256k1n ÷ 2 + 1, and for v in (302): v ∈ {27, 28}. Most - // signatures from current libraries generate a unique signature with an s-value in the lower half order. - // - // If your library generates malleable signatures, such as s-values in the upper range, calculate a new s-value - // with 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEBAAEDCE6AF48A03BBFD25E8CD0364141 - s1 and flip v from 27 to 28 or - // vice versa. If your library also generates signatures with 0/1 for v instead 27/28, add 27 to v to accept - // these malleable signatures as well. - if (uint256(s) > 0x7FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF5D576E7357A4501DDFE92F46681B20A0) { - return (address(0), RecoverError.InvalidSignatureS); - } - if (v != 27 && v != 28) { - return (address(0), RecoverError.InvalidSignatureV); - } - - // If the signature is valid (and not malleable), return the signer address - address signer = ecrecover(hash, v, r, s); - if (signer == address(0)) { - return (address(0), RecoverError.InvalidSignature); - } - - return (signer, RecoverError.NoError); - } - - /** - * @dev Overload of {ECDSA-recover} that receives the `v`, - * `r` and `s` signature fields separately. - */ - function recover( - bytes32 hash, - uint8 v, - bytes32 r, - bytes32 s - ) internal pure returns (address) { - (address recovered, RecoverError error) = tryRecover(hash, v, r, s); - _throwError(error); - return recovered; - } - - /** - * @dev Returns an Ethereum Signed Message, created from a `hash`. This - * produces hash corresponding to the one signed with the - * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] - * JSON-RPC method as part of EIP-191. - * - * See {recover}. - */ - function toEthSignedMessageHash(bytes32 hash) internal pure returns (bytes32) { - // 32 is the length in bytes of hash, - // enforced by the type signature above - return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n32", hash)); - } - - /** - * @dev Returns an Ethereum Signed Message, created from `s`. This - * produces hash corresponding to the one signed with the - * https://eth.wiki/json-rpc/API#eth_sign[`eth_sign`] - * JSON-RPC method as part of EIP-191. - * - * See {recover}. - */ - function toEthSignedMessageHash(bytes memory s) internal pure returns (bytes32) { - return keccak256(abi.encodePacked("\x19Ethereum Signed Message:\n", Strings.toString(s.length), s)); - } - - /** - * @dev Returns an Ethereum Signed Typed Data, created from a - * `domainSeparator` and a `structHash`. This produces hash corresponding - * to the one signed with the - * https://eips.ethereum.org/EIPS/eip-712[`eth_signTypedData`] - * JSON-RPC method as part of EIP-712. - * - * See {recover}. - */ - function toTypedDataHash(bytes32 domainSeparator, bytes32 structHash) internal pure returns (bytes32) { - return keccak256(abi.encodePacked("\x19\x01", domainSeparator, structHash)); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol deleted file mode 100644 index 4092d66b96..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/MerkleProof.sol +++ /dev/null @@ -1,52 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/cryptography/MerkleProof.sol) - -pragma solidity ^0.8.0; - -/** - * @dev These functions deal with verification of Merkle Trees proofs. - * - * The proofs can be generated using the JavaScript library - * https://github.com/miguelmota/merkletreejs[merkletreejs]. - * Note: the hashing algorithm should be keccak256 and pair sorting should be enabled. - * - * See `test/utils/cryptography/MerkleProof.test.js` for some examples. - */ -library MerkleProof { - /** - * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree - * defined by `root`. For this, a `proof` must be provided, containing - * sibling hashes on the branch from the leaf to the root of the tree. Each - * pair of leaves and each pair of pre-images are assumed to be sorted. - */ - function verify( - bytes32[] memory proof, - bytes32 root, - bytes32 leaf - ) internal pure returns (bool) { - return processProof(proof, leaf) == root; - } - - /** - * @dev Returns the rebuilt hash obtained by traversing a Merklee tree up - * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt - * hash matches the root of the tree. When processing the proof, the pairs - * of leafs & pre-images are assumed to be sorted. - * - * _Available since v4.4._ - */ - function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) { - bytes32 computedHash = leaf; - for (uint256 i = 0; i < proof.length; i++) { - bytes32 proofElement = proof[i]; - if (computedHash <= proofElement) { - // Hash(current computed hash + current element of the proof) - computedHash = keccak256(abi.encodePacked(computedHash, proofElement)); - } else { - // Hash(current element of the proof + current computed hash) - computedHash = keccak256(abi.encodePacked(proofElement, computedHash)); - } - } - return computedHash; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol deleted file mode 100644 index 5d9ff35500..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol +++ /dev/null @@ -1,36 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/cryptography/SignatureChecker.sol) - -pragma solidity ^0.8.0; - -import "./ECDSA.sol"; -import "../Address.sol"; -import "../../interfaces/IERC1271.sol"; - -/** - * @dev Signature verification helper: Provide a single mechanism to verify both private-key (EOA) ECDSA signature and - * ERC1271 contract signatures. Using this instead of ECDSA.recover in your contract will make them compatible with - * smart contract wallets such as Argent and Gnosis. - * - * Note: unlike ECDSA signatures, contract signature's are revocable, and the outcome of this function can thus change - * through time. It could return true at block N and false at block N+1 (or the opposite). - * - * _Available since v4.1._ - */ -library SignatureChecker { - function isValidSignatureNow( - address signer, - bytes32 hash, - bytes memory signature - ) internal view returns (bool) { - (address recovered, ECDSA.RecoverError error) = ECDSA.tryRecover(hash, signature); - if (error == ECDSA.RecoverError.NoError && recovered == signer) { - return true; - } - - (bool success, bytes memory result) = signer.staticcall( - abi.encodeWithSelector(IERC1271.isValidSignature.selector, hash, signature) - ); - return (success && result.length == 32 && abi.decode(result, (bytes4)) == IERC1271.isValidSignature.selector); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol deleted file mode 100644 index 68c96378b4..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/cryptography/draft-EIP712.sol +++ /dev/null @@ -1,104 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/cryptography/draft-EIP712.sol) - -pragma solidity ^0.8.0; - -import "./ECDSA.sol"; - -/** - * @dev https://eips.ethereum.org/EIPS/eip-712[EIP 712] is a standard for hashing and signing of typed structured data. - * - * The encoding specified in the EIP is very generic, and such a generic implementation in Solidity is not feasible, - * thus this contract does not implement the encoding itself. Protocols need to implement the type-specific encoding - * they need in their contracts using a combination of `abi.encode` and `keccak256`. - * - * This contract implements the EIP 712 domain separator ({_domainSeparatorV4}) that is used as part of the encoding - * scheme, and the final step of the encoding to obtain the message digest that is then signed via ECDSA - * ({_hashTypedDataV4}). - * - * The implementation of the domain separator was designed to be as efficient as possible while still properly updating - * the chain id to protect against replay attacks on an eventual fork of the chain. - * - * NOTE: This contract implements the version of the encoding known as "v4", as implemented by the JSON RPC method - * https://docs.metamask.io/guide/signing-data.html[`eth_signTypedDataV4` in MetaMask]. - * - * _Available since v3.4._ - */ -abstract contract EIP712 { - /* solhint-disable var-name-mixedcase */ - // Cache the domain separator as an immutable value, but also store the chain id that it corresponds to, in order to - // invalidate the cached domain separator if the chain id changes. - bytes32 private immutable _CACHED_DOMAIN_SEPARATOR; - uint256 private immutable _CACHED_CHAIN_ID; - address private immutable _CACHED_THIS; - - bytes32 private immutable _HASHED_NAME; - bytes32 private immutable _HASHED_VERSION; - bytes32 private immutable _TYPE_HASH; - - /* solhint-enable var-name-mixedcase */ - - /** - * @dev Initializes the domain separator and parameter caches. - * - * The meaning of `name` and `version` is specified in - * https://eips.ethereum.org/EIPS/eip-712#definition-of-domainseparator[EIP 712]: - * - * - `name`: the user readable name of the signing domain, i.e. the name of the DApp or the protocol. - * - `version`: the current major version of the signing domain. - * - * NOTE: These parameters cannot be changed except through a xref:learn::upgrading-smart-contracts.adoc[smart - * contract upgrade]. - */ - constructor(string memory name, string memory version) { - bytes32 hashedName = keccak256(bytes(name)); - bytes32 hashedVersion = keccak256(bytes(version)); - bytes32 typeHash = keccak256( - "EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)" - ); - _HASHED_NAME = hashedName; - _HASHED_VERSION = hashedVersion; - _CACHED_CHAIN_ID = block.chainid; - _CACHED_DOMAIN_SEPARATOR = _buildDomainSeparator(typeHash, hashedName, hashedVersion); - _CACHED_THIS = address(this); - _TYPE_HASH = typeHash; - } - - /** - * @dev Returns the domain separator for the current chain. - */ - function _domainSeparatorV4() internal view returns (bytes32) { - if (address(this) == _CACHED_THIS && block.chainid == _CACHED_CHAIN_ID) { - return _CACHED_DOMAIN_SEPARATOR; - } else { - return _buildDomainSeparator(_TYPE_HASH, _HASHED_NAME, _HASHED_VERSION); - } - } - - function _buildDomainSeparator( - bytes32 typeHash, - bytes32 nameHash, - bytes32 versionHash - ) private view returns (bytes32) { - return keccak256(abi.encode(typeHash, nameHash, versionHash, block.chainid, address(this))); - } - - /** - * @dev Given an already https://eips.ethereum.org/EIPS/eip-712#definition-of-hashstruct[hashed struct], this - * function returns the hash of the fully encoded EIP712 message for this domain. - * - * This hash can be used together with {ECDSA-recover} to obtain the signer of a message. For example: - * - * ```solidity - * bytes32 digest = _hashTypedDataV4(keccak256(abi.encode( - * keccak256("Mail(address to,string contents)"), - * mailTo, - * keccak256(bytes(mailContents)) - * ))); - * address signer = ECDSA.recover(digest, signature); - * ``` - */ - function _hashTypedDataV4(bytes32 structHash) internal view virtual returns (bytes32) { - return ECDSA.toTypedDataHash(_domainSeparatorV4(), structHash); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol deleted file mode 100644 index a9bc3b165b..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol +++ /dev/null @@ -1,25 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/escrow/ConditionalEscrow.sol) - -pragma solidity ^0.8.0; - -import "./Escrow.sol"; - -/** - * @title ConditionalEscrow - * @dev Base abstract escrow to only allow withdrawal if a condition is met. - * @dev Intended usage: See {Escrow}. Same usage guidelines apply here. - */ -abstract contract ConditionalEscrow is Escrow { - /** - * @dev Returns whether an address is allowed to withdraw their funds. To be - * implemented by derived contracts. - * @param payee The destination address of the funds. - */ - function withdrawalAllowed(address payee) public view virtual returns (bool); - - function withdraw(address payable payee) public virtual override { - require(withdrawalAllowed(payee), "ConditionalEscrow: payee is not allowed to withdraw"); - super.withdraw(payee); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol deleted file mode 100644 index e42a4fe671..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/Escrow.sol +++ /dev/null @@ -1,63 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/escrow/Escrow.sol) - -pragma solidity ^0.8.0; - -import "../../access/Ownable.sol"; -import "../Address.sol"; - -/** - * @title Escrow - * @dev Base escrow contract, holds funds designated for a payee until they - * withdraw them. - * - * Intended usage: This contract (and derived escrow contracts) should be a - * standalone contract, that only interacts with the contract that instantiated - * it. That way, it is guaranteed that all Ether will be handled according to - * the `Escrow` rules, and there is no need to check for payable functions or - * transfers in the inheritance tree. The contract that uses the escrow as its - * payment method should be its owner, and provide public methods redirecting - * to the escrow's deposit and withdraw. - */ -contract Escrow is Ownable { - using Address for address payable; - - event Deposited(address indexed payee, uint256 weiAmount); - event Withdrawn(address indexed payee, uint256 weiAmount); - - mapping(address => uint256) private _deposits; - - function depositsOf(address payee) public view returns (uint256) { - return _deposits[payee]; - } - - /** - * @dev Stores the sent amount as credit to be withdrawn. - * @param payee The destination address of the funds. - */ - function deposit(address payee) public payable virtual onlyOwner { - uint256 amount = msg.value; - _deposits[payee] += amount; - emit Deposited(payee, amount); - } - - /** - * @dev Withdraw accumulated balance for a payee, forwarding all gas to the - * recipient. - * - * WARNING: Forwarding all gas opens the door to reentrancy vulnerabilities. - * Make sure you trust the recipient, or are either following the - * checks-effects-interactions pattern or using {ReentrancyGuard}. - * - * @param payee The address whose funds will be withdrawn and transferred to. - */ - function withdraw(address payable payee) public virtual onlyOwner { - uint256 payment = _deposits[payee]; - - _deposits[payee] = 0; - - payee.sendValue(payment); - - emit Withdrawn(payee, payment); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol deleted file mode 100644 index 8d182a297f..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/escrow/RefundEscrow.sol +++ /dev/null @@ -1,100 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/escrow/RefundEscrow.sol) - -pragma solidity ^0.8.0; - -import "./ConditionalEscrow.sol"; - -/** - * @title RefundEscrow - * @dev Escrow that holds funds for a beneficiary, deposited from multiple - * parties. - * @dev Intended usage: See {Escrow}. Same usage guidelines apply here. - * @dev The owner account (that is, the contract that instantiates this - * contract) may deposit, close the deposit period, and allow for either - * withdrawal by the beneficiary, or refunds to the depositors. All interactions - * with `RefundEscrow` will be made through the owner contract. - */ -contract RefundEscrow is ConditionalEscrow { - using Address for address payable; - - enum State { - Active, - Refunding, - Closed - } - - event RefundsClosed(); - event RefundsEnabled(); - - State private _state; - address payable private immutable _beneficiary; - - /** - * @dev Constructor. - * @param beneficiary_ The beneficiary of the deposits. - */ - constructor(address payable beneficiary_) { - require(beneficiary_ != address(0), "RefundEscrow: beneficiary is the zero address"); - _beneficiary = beneficiary_; - _state = State.Active; - } - - /** - * @return The current state of the escrow. - */ - function state() public view virtual returns (State) { - return _state; - } - - /** - * @return The beneficiary of the escrow. - */ - function beneficiary() public view virtual returns (address payable) { - return _beneficiary; - } - - /** - * @dev Stores funds that may later be refunded. - * @param refundee The address funds will be sent to if a refund occurs. - */ - function deposit(address refundee) public payable virtual override { - require(state() == State.Active, "RefundEscrow: can only deposit while active"); - super.deposit(refundee); - } - - /** - * @dev Allows for the beneficiary to withdraw their funds, rejecting - * further deposits. - */ - function close() public virtual onlyOwner { - require(state() == State.Active, "RefundEscrow: can only close while active"); - _state = State.Closed; - emit RefundsClosed(); - } - - /** - * @dev Allows for refunds to take place, rejecting further deposits. - */ - function enableRefunds() public virtual onlyOwner { - require(state() == State.Active, "RefundEscrow: can only enable refunds while active"); - _state = State.Refunding; - emit RefundsEnabled(); - } - - /** - * @dev Withdraws the beneficiary's funds. - */ - function beneficiaryWithdraw() public virtual { - require(state() == State.Closed, "RefundEscrow: beneficiary can only withdraw while closed"); - beneficiary().sendValue(address(this).balance); - } - - /** - * @dev Returns whether refundees can withdraw their deposits (be refunded). The overridden function receives a - * 'payee' argument, but we ignore it here since the condition is global, not per-payee. - */ - function withdrawalAllowed(address) public view override returns (bool) { - return state() == State.Refunding; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol deleted file mode 100644 index 542d0b07d6..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165.sol +++ /dev/null @@ -1,29 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/introspection/ERC165.sol) - -pragma solidity ^0.8.0; - -import "./IERC165.sol"; - -/** - * @dev Implementation of the {IERC165} interface. - * - * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check - * for the additional interface id that will be supported. For example: - * - * ```solidity - * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { - * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); - * } - * ``` - * - * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation. - */ -abstract contract ERC165 is IERC165 { - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { - return interfaceId == type(IERC165).interfaceId; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol deleted file mode 100644 index b24aeba528..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Checker.sol +++ /dev/null @@ -1,113 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/introspection/ERC165Checker.sol) - -pragma solidity ^0.8.0; - -import "./IERC165.sol"; - -/** - * @dev Library used to query support of an interface declared via {IERC165}. - * - * Note that these functions return the actual result of the query: they do not - * `revert` if an interface is not supported. It is up to the caller to decide - * what to do in these cases. - */ -library ERC165Checker { - // As per the EIP-165 spec, no interface should ever match 0xffffffff - bytes4 private constant _INTERFACE_ID_INVALID = 0xffffffff; - - /** - * @dev Returns true if `account` supports the {IERC165} interface, - */ - function supportsERC165(address account) internal view returns (bool) { - // Any contract that implements ERC165 must explicitly indicate support of - // InterfaceId_ERC165 and explicitly indicate non-support of InterfaceId_Invalid - return - _supportsERC165Interface(account, type(IERC165).interfaceId) && - !_supportsERC165Interface(account, _INTERFACE_ID_INVALID); - } - - /** - * @dev Returns true if `account` supports the interface defined by - * `interfaceId`. Support for {IERC165} itself is queried automatically. - * - * See {IERC165-supportsInterface}. - */ - function supportsInterface(address account, bytes4 interfaceId) internal view returns (bool) { - // query support of both ERC165 as per the spec and support of _interfaceId - return supportsERC165(account) && _supportsERC165Interface(account, interfaceId); - } - - /** - * @dev Returns a boolean array where each value corresponds to the - * interfaces passed in and whether they're supported or not. This allows - * you to batch check interfaces for a contract where your expectation - * is that some interfaces may not be supported. - * - * See {IERC165-supportsInterface}. - * - * _Available since v3.4._ - */ - function getSupportedInterfaces(address account, bytes4[] memory interfaceIds) - internal - view - returns (bool[] memory) - { - // an array of booleans corresponding to interfaceIds and whether they're supported or not - bool[] memory interfaceIdsSupported = new bool[](interfaceIds.length); - - // query support of ERC165 itself - if (supportsERC165(account)) { - // query support of each interface in interfaceIds - for (uint256 i = 0; i < interfaceIds.length; i++) { - interfaceIdsSupported[i] = _supportsERC165Interface(account, interfaceIds[i]); - } - } - - return interfaceIdsSupported; - } - - /** - * @dev Returns true if `account` supports all the interfaces defined in - * `interfaceIds`. Support for {IERC165} itself is queried automatically. - * - * Batch-querying can lead to gas savings by skipping repeated checks for - * {IERC165} support. - * - * See {IERC165-supportsInterface}. - */ - function supportsAllInterfaces(address account, bytes4[] memory interfaceIds) internal view returns (bool) { - // query support of ERC165 itself - if (!supportsERC165(account)) { - return false; - } - - // query support of each interface in _interfaceIds - for (uint256 i = 0; i < interfaceIds.length; i++) { - if (!_supportsERC165Interface(account, interfaceIds[i])) { - return false; - } - } - - // all interfaces supported - return true; - } - - /** - * @notice Query if a contract implements an interface, does not check ERC165 support - * @param account The address of the contract to query for support of an interface - * @param interfaceId The interface identifier, as specified in ERC-165 - * @return true if the contract at account indicates support of the interface with - * identifier interfaceId, false otherwise - * @dev Assumes that account contains a contract that supports ERC165, otherwise - * the behavior of this method is undefined. This precondition can be checked - * with {supportsERC165}. - * Interface identification is specified in ERC-165. - */ - function _supportsERC165Interface(address account, bytes4 interfaceId) private view returns (bool) { - bytes memory encodedParams = abi.encodeWithSelector(IERC165.supportsInterface.selector, interfaceId); - (bool success, bytes memory result) = account.staticcall{gas: 30000}(encodedParams); - if (result.length < 32) return false; - return success && abi.decode(result, (bool)); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol deleted file mode 100644 index 5b7c8d3d04..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC165Storage.sol +++ /dev/null @@ -1,42 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/introspection/ERC165Storage.sol) - -pragma solidity ^0.8.0; - -import "./ERC165.sol"; - -/** - * @dev Storage based implementation of the {IERC165} interface. - * - * Contracts may inherit from this and call {_registerInterface} to declare - * their support of an interface. - */ -abstract contract ERC165Storage is ERC165 { - /** - * @dev Mapping of interface ids to whether or not it's supported. - */ - mapping(bytes4 => bool) private _supportedInterfaces; - - /** - * @dev See {IERC165-supportsInterface}. - */ - function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { - return super.supportsInterface(interfaceId) || _supportedInterfaces[interfaceId]; - } - - /** - * @dev Registers the contract as an implementer of the interface defined by - * `interfaceId`. Support of the actual ERC165 interface is automatic and - * registering its interface id is not required. - * - * See {IERC165-supportsInterface}. - * - * Requirements: - * - * - `interfaceId` cannot be the ERC165 invalid interface (`0xffffffff`). - */ - function _registerInterface(bytes4 interfaceId) internal virtual { - require(interfaceId != 0xffffffff, "ERC165: invalid interface id"); - _supportedInterfaces[interfaceId] = true; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol deleted file mode 100644 index 50a4f1fc4d..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/ERC1820Implementer.sol +++ /dev/null @@ -1,44 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/introspection/ERC1820Implementer.sol) - -pragma solidity ^0.8.0; - -import "./IERC1820Implementer.sol"; - -/** - * @dev Implementation of the {IERC1820Implementer} interface. - * - * Contracts may inherit from this and call {_registerInterfaceForAddress} to - * declare their willingness to be implementers. - * {IERC1820Registry-setInterfaceImplementer} should then be called for the - * registration to be complete. - */ -contract ERC1820Implementer is IERC1820Implementer { - bytes32 private constant _ERC1820_ACCEPT_MAGIC = keccak256("ERC1820_ACCEPT_MAGIC"); - - mapping(bytes32 => mapping(address => bool)) private _supportedInterfaces; - - /** - * @dev See {IERC1820Implementer-canImplementInterfaceForAddress}. - */ - function canImplementInterfaceForAddress(bytes32 interfaceHash, address account) - public - view - virtual - override - returns (bytes32) - { - return _supportedInterfaces[interfaceHash][account] ? _ERC1820_ACCEPT_MAGIC : bytes32(0x00); - } - - /** - * @dev Declares the contract as willing to be an implementer of - * `interfaceHash` for `account`. - * - * See {IERC1820Registry-setInterfaceImplementer} and - * {IERC1820Registry-interfaceHash}. - */ - function _registerInterfaceForAddress(bytes32 interfaceHash, address account) internal virtual { - _supportedInterfaces[interfaceHash][account] = true; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol deleted file mode 100644 index 40cf6d29df..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol +++ /dev/null @@ -1,25 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/introspection/IERC165.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Interface of the ERC165 standard, as defined in the - * https://eips.ethereum.org/EIPS/eip-165[EIP]. - * - * Implementers can declare support of contract interfaces, which can then be - * queried by others ({ERC165Checker}). - * - * For an implementation, see {ERC165}. - */ -interface IERC165 { - /** - * @dev Returns true if this contract implements the interface defined by - * `interfaceId`. See the corresponding - * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section] - * to learn more about how these ids are created. - * - * This function call must use less than 30 000 gas. - */ - function supportsInterface(bytes4 interfaceId) external view returns (bool); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol deleted file mode 100644 index 1e474ddb68..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol +++ /dev/null @@ -1,20 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/introspection/IERC1820Implementer.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Interface for an ERC1820 implementer, as defined in the - * https://eips.ethereum.org/EIPS/eip-1820#interface-implementation-erc1820implementerinterface[EIP]. - * Used by contracts that will be registered as implementers in the - * {IERC1820Registry}. - */ -interface IERC1820Implementer { - /** - * @dev Returns a special value (`ERC1820_ACCEPT_MAGIC`) if this contract - * implements `interfaceHash` for `account`. - * - * See {IERC1820Registry-setInterfaceImplementer}. - */ - function canImplementInterfaceForAddress(bytes32 interfaceHash, address account) external view returns (bytes32); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol deleted file mode 100644 index 0e2a9efedd..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Registry.sol +++ /dev/null @@ -1,116 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/introspection/IERC1820Registry.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Interface of the global ERC1820 Registry, as defined in the - * https://eips.ethereum.org/EIPS/eip-1820[EIP]. Accounts may register - * implementers for interfaces in this registry, as well as query support. - * - * Implementers may be shared by multiple accounts, and can also implement more - * than a single interface for each account. Contracts can implement interfaces - * for themselves, but externally-owned accounts (EOA) must delegate this to a - * contract. - * - * {IERC165} interfaces can also be queried via the registry. - * - * For an in-depth explanation and source code analysis, see the EIP text. - */ -interface IERC1820Registry { - /** - * @dev Sets `newManager` as the manager for `account`. A manager of an - * account is able to set interface implementers for it. - * - * By default, each account is its own manager. Passing a value of `0x0` in - * `newManager` will reset the manager to this initial state. - * - * Emits a {ManagerChanged} event. - * - * Requirements: - * - * - the caller must be the current manager for `account`. - */ - function setManager(address account, address newManager) external; - - /** - * @dev Returns the manager for `account`. - * - * See {setManager}. - */ - function getManager(address account) external view returns (address); - - /** - * @dev Sets the `implementer` contract as ``account``'s implementer for - * `interfaceHash`. - * - * `account` being the zero address is an alias for the caller's address. - * The zero address can also be used in `implementer` to remove an old one. - * - * See {interfaceHash} to learn how these are created. - * - * Emits an {InterfaceImplementerSet} event. - * - * Requirements: - * - * - the caller must be the current manager for `account`. - * - `interfaceHash` must not be an {IERC165} interface id (i.e. it must not - * end in 28 zeroes). - * - `implementer` must implement {IERC1820Implementer} and return true when - * queried for support, unless `implementer` is the caller. See - * {IERC1820Implementer-canImplementInterfaceForAddress}. - */ - function setInterfaceImplementer( - address account, - bytes32 _interfaceHash, - address implementer - ) external; - - /** - * @dev Returns the implementer of `interfaceHash` for `account`. If no such - * implementer is registered, returns the zero address. - * - * If `interfaceHash` is an {IERC165} interface id (i.e. it ends with 28 - * zeroes), `account` will be queried for support of it. - * - * `account` being the zero address is an alias for the caller's address. - */ - function getInterfaceImplementer(address account, bytes32 _interfaceHash) external view returns (address); - - /** - * @dev Returns the interface hash for an `interfaceName`, as defined in the - * corresponding - * https://eips.ethereum.org/EIPS/eip-1820#interface-name[section of the EIP]. - */ - function interfaceHash(string calldata interfaceName) external pure returns (bytes32); - - /** - * @notice Updates the cache with whether the contract implements an ERC165 interface or not. - * @param account Address of the contract for which to update the cache. - * @param interfaceId ERC165 interface for which to update the cache. - */ - function updateERC165Cache(address account, bytes4 interfaceId) external; - - /** - * @notice Checks whether a contract implements an ERC165 interface or not. - * If the result is not cached a direct lookup on the contract address is performed. - * If the result is not cached or the cached value is out-of-date, the cache MUST be updated manually by calling - * {updateERC165Cache} with the contract address. - * @param account Address of the contract to check. - * @param interfaceId ERC165 interface to check. - * @return True if `account` implements `interfaceId`, false otherwise. - */ - function implementsERC165Interface(address account, bytes4 interfaceId) external view returns (bool); - - /** - * @notice Checks whether a contract implements an ERC165 interface or not without using nor updating the cache. - * @param account Address of the contract to check. - * @param interfaceId ERC165 interface to check. - * @return True if `account` implements `interfaceId`, false otherwise. - */ - function implementsERC165InterfaceNoCache(address account, bytes4 interfaceId) external view returns (bool); - - event InterfaceImplementerSet(address indexed account, bytes32 indexed interfaceHash, address indexed implementer); - - event ManagerChanged(address indexed account, address indexed newManager); -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol deleted file mode 100644 index cbb1f7e708..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/Math.sol +++ /dev/null @@ -1,43 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/math/Math.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Standard math utilities missing in the Solidity language. - */ -library Math { - /** - * @dev Returns the largest of two numbers. - */ - function max(uint256 a, uint256 b) internal pure returns (uint256) { - return a >= b ? a : b; - } - - /** - * @dev Returns the smallest of two numbers. - */ - function min(uint256 a, uint256 b) internal pure returns (uint256) { - return a < b ? a : b; - } - - /** - * @dev Returns the average of two numbers. The result is rounded towards - * zero. - */ - function average(uint256 a, uint256 b) internal pure returns (uint256) { - // (a + b) / 2 can overflow. - return (a & b) + (a ^ b) / 2; - } - - /** - * @dev Returns the ceiling of the division of two numbers. - * - * This differs from standard division with `/` in that it rounds up instead - * of rounding down. - */ - function ceilDiv(uint256 a, uint256 b) internal pure returns (uint256) { - // (a + b - 1) / b can overflow on addition, so we distribute. - return a / b + (a % b == 0 ? 0 : 1); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol deleted file mode 100644 index 9877fbb77e..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol +++ /dev/null @@ -1,241 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/math/SafeCast.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Wrappers over Solidity's uintXX/intXX casting operators with added overflow - * checks. - * - * Downcasting from uint256/int256 in Solidity does not revert on overflow. This can - * easily result in undesired exploitation or bugs, since developers usually - * assume that overflows raise errors. `SafeCast` restores this intuition by - * reverting the transaction when such an operation overflows. - * - * Using this library instead of the unchecked operations eliminates an entire - * class of bugs, so it's recommended to use it always. - * - * Can be combined with {SafeMath} and {SignedSafeMath} to extend it to smaller types, by performing - * all math on `uint256` and `int256` and then downcasting. - */ -library SafeCast { - /** - * @dev Returns the downcasted uint224 from uint256, reverting on - * overflow (when the input is greater than largest uint224). - * - * Counterpart to Solidity's `uint224` operator. - * - * Requirements: - * - * - input must fit into 224 bits - */ - function toUint224(uint256 value) internal pure returns (uint224) { - require(value <= type(uint224).max, "SafeCast: value doesn't fit in 224 bits"); - return uint224(value); - } - - /** - * @dev Returns the downcasted uint128 from uint256, reverting on - * overflow (when the input is greater than largest uint128). - * - * Counterpart to Solidity's `uint128` operator. - * - * Requirements: - * - * - input must fit into 128 bits - */ - function toUint128(uint256 value) internal pure returns (uint128) { - require(value <= type(uint128).max, "SafeCast: value doesn't fit in 128 bits"); - return uint128(value); - } - - /** - * @dev Returns the downcasted uint96 from uint256, reverting on - * overflow (when the input is greater than largest uint96). - * - * Counterpart to Solidity's `uint96` operator. - * - * Requirements: - * - * - input must fit into 96 bits - */ - function toUint96(uint256 value) internal pure returns (uint96) { - require(value <= type(uint96).max, "SafeCast: value doesn't fit in 96 bits"); - return uint96(value); - } - - /** - * @dev Returns the downcasted uint64 from uint256, reverting on - * overflow (when the input is greater than largest uint64). - * - * Counterpart to Solidity's `uint64` operator. - * - * Requirements: - * - * - input must fit into 64 bits - */ - function toUint64(uint256 value) internal pure returns (uint64) { - require(value <= type(uint64).max, "SafeCast: value doesn't fit in 64 bits"); - return uint64(value); - } - - /** - * @dev Returns the downcasted uint32 from uint256, reverting on - * overflow (when the input is greater than largest uint32). - * - * Counterpart to Solidity's `uint32` operator. - * - * Requirements: - * - * - input must fit into 32 bits - */ - function toUint32(uint256 value) internal pure returns (uint32) { - require(value <= type(uint32).max, "SafeCast: value doesn't fit in 32 bits"); - return uint32(value); - } - - /** - * @dev Returns the downcasted uint16 from uint256, reverting on - * overflow (when the input is greater than largest uint16). - * - * Counterpart to Solidity's `uint16` operator. - * - * Requirements: - * - * - input must fit into 16 bits - */ - function toUint16(uint256 value) internal pure returns (uint16) { - require(value <= type(uint16).max, "SafeCast: value doesn't fit in 16 bits"); - return uint16(value); - } - - /** - * @dev Returns the downcasted uint8 from uint256, reverting on - * overflow (when the input is greater than largest uint8). - * - * Counterpart to Solidity's `uint8` operator. - * - * Requirements: - * - * - input must fit into 8 bits. - */ - function toUint8(uint256 value) internal pure returns (uint8) { - require(value <= type(uint8).max, "SafeCast: value doesn't fit in 8 bits"); - return uint8(value); - } - - /** - * @dev Converts a signed int256 into an unsigned uint256. - * - * Requirements: - * - * - input must be greater than or equal to 0. - */ - function toUint256(int256 value) internal pure returns (uint256) { - require(value >= 0, "SafeCast: value must be positive"); - return uint256(value); - } - - /** - * @dev Returns the downcasted int128 from int256, reverting on - * overflow (when the input is less than smallest int128 or - * greater than largest int128). - * - * Counterpart to Solidity's `int128` operator. - * - * Requirements: - * - * - input must fit into 128 bits - * - * _Available since v3.1._ - */ - function toInt128(int256 value) internal pure returns (int128) { - require(value >= type(int128).min && value <= type(int128).max, "SafeCast: value doesn't fit in 128 bits"); - return int128(value); - } - - /** - * @dev Returns the downcasted int64 from int256, reverting on - * overflow (when the input is less than smallest int64 or - * greater than largest int64). - * - * Counterpart to Solidity's `int64` operator. - * - * Requirements: - * - * - input must fit into 64 bits - * - * _Available since v3.1._ - */ - function toInt64(int256 value) internal pure returns (int64) { - require(value >= type(int64).min && value <= type(int64).max, "SafeCast: value doesn't fit in 64 bits"); - return int64(value); - } - - /** - * @dev Returns the downcasted int32 from int256, reverting on - * overflow (when the input is less than smallest int32 or - * greater than largest int32). - * - * Counterpart to Solidity's `int32` operator. - * - * Requirements: - * - * - input must fit into 32 bits - * - * _Available since v3.1._ - */ - function toInt32(int256 value) internal pure returns (int32) { - require(value >= type(int32).min && value <= type(int32).max, "SafeCast: value doesn't fit in 32 bits"); - return int32(value); - } - - /** - * @dev Returns the downcasted int16 from int256, reverting on - * overflow (when the input is less than smallest int16 or - * greater than largest int16). - * - * Counterpart to Solidity's `int16` operator. - * - * Requirements: - * - * - input must fit into 16 bits - * - * _Available since v3.1._ - */ - function toInt16(int256 value) internal pure returns (int16) { - require(value >= type(int16).min && value <= type(int16).max, "SafeCast: value doesn't fit in 16 bits"); - return int16(value); - } - - /** - * @dev Returns the downcasted int8 from int256, reverting on - * overflow (when the input is less than smallest int8 or - * greater than largest int8). - * - * Counterpart to Solidity's `int8` operator. - * - * Requirements: - * - * - input must fit into 8 bits. - * - * _Available since v3.1._ - */ - function toInt8(int256 value) internal pure returns (int8) { - require(value >= type(int8).min && value <= type(int8).max, "SafeCast: value doesn't fit in 8 bits"); - return int8(value); - } - - /** - * @dev Converts an unsigned uint256 into a signed int256. - * - * Requirements: - * - * - input must be less than or equal to maxInt256. - */ - function toInt256(uint256 value) internal pure returns (int256) { - // Note: Unsafe cast below is okay because `type(int256).max` is guaranteed to be positive - require(value <= uint256(type(int256).max), "SafeCast: value doesn't fit in an int256"); - return int256(value); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol deleted file mode 100644 index 36e74cf44b..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SafeMath.sol +++ /dev/null @@ -1,227 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/math/SafeMath.sol) - -pragma solidity ^0.8.0; - -// CAUTION -// This version of SafeMath should only be used with Solidity 0.8 or later, -// because it relies on the compiler's built in overflow checks. - -/** - * @dev Wrappers over Solidity's arithmetic operations. - * - * NOTE: `SafeMath` is generally not needed starting with Solidity 0.8, since the compiler - * now has built in overflow checking. - */ -library SafeMath { - /** - * @dev Returns the addition of two unsigned integers, with an overflow flag. - * - * _Available since v3.4._ - */ - function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) { - unchecked { - uint256 c = a + b; - if (c < a) return (false, 0); - return (true, c); - } - } - - /** - * @dev Returns the substraction of two unsigned integers, with an overflow flag. - * - * _Available since v3.4._ - */ - function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) { - unchecked { - if (b > a) return (false, 0); - return (true, a - b); - } - } - - /** - * @dev Returns the multiplication of two unsigned integers, with an overflow flag. - * - * _Available since v3.4._ - */ - function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) { - unchecked { - // Gas optimization: this is cheaper than requiring 'a' not being zero, but the - // benefit is lost if 'b' is also tested. - // See: https://github.com/OpenZeppelin/openzeppelin-contracts/pull/522 - if (a == 0) return (true, 0); - uint256 c = a * b; - if (c / a != b) return (false, 0); - return (true, c); - } - } - - /** - * @dev Returns the division of two unsigned integers, with a division by zero flag. - * - * _Available since v3.4._ - */ - function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) { - unchecked { - if (b == 0) return (false, 0); - return (true, a / b); - } - } - - /** - * @dev Returns the remainder of dividing two unsigned integers, with a division by zero flag. - * - * _Available since v3.4._ - */ - function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) { - unchecked { - if (b == 0) return (false, 0); - return (true, a % b); - } - } - - /** - * @dev Returns the addition of two unsigned integers, reverting on - * overflow. - * - * Counterpart to Solidity's `+` operator. - * - * Requirements: - * - * - Addition cannot overflow. - */ - function add(uint256 a, uint256 b) internal pure returns (uint256) { - return a + b; - } - - /** - * @dev Returns the subtraction of two unsigned integers, reverting on - * overflow (when the result is negative). - * - * Counterpart to Solidity's `-` operator. - * - * Requirements: - * - * - Subtraction cannot overflow. - */ - function sub(uint256 a, uint256 b) internal pure returns (uint256) { - return a - b; - } - - /** - * @dev Returns the multiplication of two unsigned integers, reverting on - * overflow. - * - * Counterpart to Solidity's `*` operator. - * - * Requirements: - * - * - Multiplication cannot overflow. - */ - function mul(uint256 a, uint256 b) internal pure returns (uint256) { - return a * b; - } - - /** - * @dev Returns the integer division of two unsigned integers, reverting on - * division by zero. The result is rounded towards zero. - * - * Counterpart to Solidity's `/` operator. - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function div(uint256 a, uint256 b) internal pure returns (uint256) { - return a / b; - } - - /** - * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), - * reverting when dividing by zero. - * - * Counterpart to Solidity's `%` operator. This function uses a `revert` - * opcode (which leaves remaining gas untouched) while Solidity uses an - * invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function mod(uint256 a, uint256 b) internal pure returns (uint256) { - return a % b; - } - - /** - * @dev Returns the subtraction of two unsigned integers, reverting with custom message on - * overflow (when the result is negative). - * - * CAUTION: This function is deprecated because it requires allocating memory for the error - * message unnecessarily. For custom revert reasons use {trySub}. - * - * Counterpart to Solidity's `-` operator. - * - * Requirements: - * - * - Subtraction cannot overflow. - */ - function sub( - uint256 a, - uint256 b, - string memory errorMessage - ) internal pure returns (uint256) { - unchecked { - require(b <= a, errorMessage); - return a - b; - } - } - - /** - * @dev Returns the integer division of two unsigned integers, reverting with custom message on - * division by zero. The result is rounded towards zero. - * - * Counterpart to Solidity's `/` operator. Note: this function uses a - * `revert` opcode (which leaves remaining gas untouched) while Solidity - * uses an invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function div( - uint256 a, - uint256 b, - string memory errorMessage - ) internal pure returns (uint256) { - unchecked { - require(b > 0, errorMessage); - return a / b; - } - } - - /** - * @dev Returns the remainder of dividing two unsigned integers. (unsigned integer modulo), - * reverting with custom message when dividing by zero. - * - * CAUTION: This function is deprecated because it requires allocating memory for the error - * message unnecessarily. For custom revert reasons use {tryMod}. - * - * Counterpart to Solidity's `%` operator. This function uses a `revert` - * opcode (which leaves remaining gas untouched) while Solidity uses an - * invalid opcode to revert (consuming all remaining gas). - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function mod( - uint256 a, - uint256 b, - string memory errorMessage - ) internal pure returns (uint256) { - unchecked { - require(b > 0, errorMessage); - return a % b; - } - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol deleted file mode 100644 index 1b6a6f00ea..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/math/SignedSafeMath.sol +++ /dev/null @@ -1,68 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/math/SignedSafeMath.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Wrappers over Solidity's arithmetic operations. - * - * NOTE: `SignedSafeMath` is no longer needed starting with Solidity 0.8. The compiler - * now has built in overflow checking. - */ -library SignedSafeMath { - /** - * @dev Returns the multiplication of two signed integers, reverting on - * overflow. - * - * Counterpart to Solidity's `*` operator. - * - * Requirements: - * - * - Multiplication cannot overflow. - */ - function mul(int256 a, int256 b) internal pure returns (int256) { - return a * b; - } - - /** - * @dev Returns the integer division of two signed integers. Reverts on - * division by zero. The result is rounded towards zero. - * - * Counterpart to Solidity's `/` operator. - * - * Requirements: - * - * - The divisor cannot be zero. - */ - function div(int256 a, int256 b) internal pure returns (int256) { - return a / b; - } - - /** - * @dev Returns the subtraction of two signed integers, reverting on - * overflow. - * - * Counterpart to Solidity's `-` operator. - * - * Requirements: - * - * - Subtraction cannot overflow. - */ - function sub(int256 a, int256 b) internal pure returns (int256) { - return a - b; - } - - /** - * @dev Returns the addition of two signed integers, reverting on - * overflow. - * - * Counterpart to Solidity's `+` operator. - * - * Requirements: - * - * - Addition cannot overflow. - */ - function add(int256 a, int256 b) internal pure returns (int256) { - return a + b; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol deleted file mode 100644 index 8d160580fb..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/BitMaps.sol +++ /dev/null @@ -1,55 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/structs/BitMaps.sol) -pragma solidity ^0.8.0; - -/** - * @dev Library for managing uint256 to bool mapping in a compact and efficient way, providing the keys are sequential. - * Largelly inspired by Uniswap's https://github.com/Uniswap/merkle-distributor/blob/master/contracts/MerkleDistributor.sol[merkle-distributor]. - */ -library BitMaps { - struct BitMap { - mapping(uint256 => uint256) _data; - } - - /** - * @dev Returns whether the bit at `index` is set. - */ - function get(BitMap storage bitmap, uint256 index) internal view returns (bool) { - uint256 bucket = index >> 8; - uint256 mask = 1 << (index & 0xff); - return bitmap._data[bucket] & mask != 0; - } - - /** - * @dev Sets the bit at `index` to the boolean `value`. - */ - function setTo( - BitMap storage bitmap, - uint256 index, - bool value - ) internal { - if (value) { - set(bitmap, index); - } else { - unset(bitmap, index); - } - } - - /** - * @dev Sets the bit at `index`. - */ - function set(BitMap storage bitmap, uint256 index) internal { - uint256 bucket = index >> 8; - uint256 mask = 1 << (index & 0xff); - bitmap._data[bucket] |= mask; - } - - /** - * @dev Unsets the bit at `index`. - */ - function unset(BitMap storage bitmap, uint256 index) internal { - uint256 bucket = index >> 8; - uint256 mask = 1 << (index & 0xff); - bitmap._data[bucket] &= ~mask; - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol deleted file mode 100644 index 2fd1905e67..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableMap.sol +++ /dev/null @@ -1,240 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/structs/EnumerableMap.sol) - -pragma solidity ^0.8.0; - -import "./EnumerableSet.sol"; - -/** - * @dev Library for managing an enumerable variant of Solidity's - * https://solidity.readthedocs.io/en/latest/types.html#mapping-types[`mapping`] - * type. - * - * Maps have the following properties: - * - * - Entries are added, removed, and checked for existence in constant time - * (O(1)). - * - Entries are enumerated in O(n). No guarantees are made on the ordering. - * - * ``` - * contract Example { - * // Add the library methods - * using EnumerableMap for EnumerableMap.UintToAddressMap; - * - * // Declare a set state variable - * EnumerableMap.UintToAddressMap private myMap; - * } - * ``` - * - * As of v3.0.0, only maps of type `uint256 -> address` (`UintToAddressMap`) are - * supported. - */ -library EnumerableMap { - using EnumerableSet for EnumerableSet.Bytes32Set; - - // To implement this library for multiple types with as little code - // repetition as possible, we write it in terms of a generic Map type with - // bytes32 keys and values. - // The Map implementation uses private functions, and user-facing - // implementations (such as Uint256ToAddressMap) are just wrappers around - // the underlying Map. - // This means that we can only create new EnumerableMaps for types that fit - // in bytes32. - - struct Map { - // Storage of keys - EnumerableSet.Bytes32Set _keys; - mapping(bytes32 => bytes32) _values; - } - - /** - * @dev Adds a key-value pair to a map, or updates the value for an existing - * key. O(1). - * - * Returns true if the key was added to the map, that is if it was not - * already present. - */ - function _set( - Map storage map, - bytes32 key, - bytes32 value - ) private returns (bool) { - map._values[key] = value; - return map._keys.add(key); - } - - /** - * @dev Removes a key-value pair from a map. O(1). - * - * Returns true if the key was removed from the map, that is if it was present. - */ - function _remove(Map storage map, bytes32 key) private returns (bool) { - delete map._values[key]; - return map._keys.remove(key); - } - - /** - * @dev Returns true if the key is in the map. O(1). - */ - function _contains(Map storage map, bytes32 key) private view returns (bool) { - return map._keys.contains(key); - } - - /** - * @dev Returns the number of key-value pairs in the map. O(1). - */ - function _length(Map storage map) private view returns (uint256) { - return map._keys.length(); - } - - /** - * @dev Returns the key-value pair stored at position `index` in the map. O(1). - * - * Note that there are no guarantees on the ordering of entries inside the - * array, and it may change when more entries are added or removed. - * - * Requirements: - * - * - `index` must be strictly less than {length}. - */ - function _at(Map storage map, uint256 index) private view returns (bytes32, bytes32) { - bytes32 key = map._keys.at(index); - return (key, map._values[key]); - } - - /** - * @dev Tries to returns the value associated with `key`. O(1). - * Does not revert if `key` is not in the map. - */ - function _tryGet(Map storage map, bytes32 key) private view returns (bool, bytes32) { - bytes32 value = map._values[key]; - if (value == bytes32(0)) { - return (_contains(map, key), bytes32(0)); - } else { - return (true, value); - } - } - - /** - * @dev Returns the value associated with `key`. O(1). - * - * Requirements: - * - * - `key` must be in the map. - */ - function _get(Map storage map, bytes32 key) private view returns (bytes32) { - bytes32 value = map._values[key]; - require(value != 0 || _contains(map, key), "EnumerableMap: nonexistent key"); - return value; - } - - /** - * @dev Same as {_get}, with a custom error message when `key` is not in the map. - * - * CAUTION: This function is deprecated because it requires allocating memory for the error - * message unnecessarily. For custom revert reasons use {_tryGet}. - */ - function _get( - Map storage map, - bytes32 key, - string memory errorMessage - ) private view returns (bytes32) { - bytes32 value = map._values[key]; - require(value != 0 || _contains(map, key), errorMessage); - return value; - } - - // UintToAddressMap - - struct UintToAddressMap { - Map _inner; - } - - /** - * @dev Adds a key-value pair to a map, or updates the value for an existing - * key. O(1). - * - * Returns true if the key was added to the map, that is if it was not - * already present. - */ - function set( - UintToAddressMap storage map, - uint256 key, - address value - ) internal returns (bool) { - return _set(map._inner, bytes32(key), bytes32(uint256(uint160(value)))); - } - - /** - * @dev Removes a value from a set. O(1). - * - * Returns true if the key was removed from the map, that is if it was present. - */ - function remove(UintToAddressMap storage map, uint256 key) internal returns (bool) { - return _remove(map._inner, bytes32(key)); - } - - /** - * @dev Returns true if the key is in the map. O(1). - */ - function contains(UintToAddressMap storage map, uint256 key) internal view returns (bool) { - return _contains(map._inner, bytes32(key)); - } - - /** - * @dev Returns the number of elements in the map. O(1). - */ - function length(UintToAddressMap storage map) internal view returns (uint256) { - return _length(map._inner); - } - - /** - * @dev Returns the element stored at position `index` in the set. O(1). - * Note that there are no guarantees on the ordering of values inside the - * array, and it may change when more values are added or removed. - * - * Requirements: - * - * - `index` must be strictly less than {length}. - */ - function at(UintToAddressMap storage map, uint256 index) internal view returns (uint256, address) { - (bytes32 key, bytes32 value) = _at(map._inner, index); - return (uint256(key), address(uint160(uint256(value)))); - } - - /** - * @dev Tries to returns the value associated with `key`. O(1). - * Does not revert if `key` is not in the map. - * - * _Available since v3.4._ - */ - function tryGet(UintToAddressMap storage map, uint256 key) internal view returns (bool, address) { - (bool success, bytes32 value) = _tryGet(map._inner, bytes32(key)); - return (success, address(uint160(uint256(value)))); - } - - /** - * @dev Returns the value associated with `key`. O(1). - * - * Requirements: - * - * - `key` must be in the map. - */ - function get(UintToAddressMap storage map, uint256 key) internal view returns (address) { - return address(uint160(uint256(_get(map._inner, bytes32(key))))); - } - - /** - * @dev Same as {get}, with a custom error message when `key` is not in the map. - * - * CAUTION: This function is deprecated because it requires allocating memory for the error - * message unnecessarily. For custom revert reasons use {tryGet}. - */ - function get( - UintToAddressMap storage map, - uint256 key, - string memory errorMessage - ) internal view returns (address) { - return address(uint160(uint256(_get(map._inner, bytes32(key), errorMessage)))); - } -} diff --git a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol b/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol deleted file mode 100644 index 4cb9aeb674..0000000000 --- a/tests/test_node_modules/node_modules/@openzeppelin/contracts/utils/structs/EnumerableSet.sol +++ /dev/null @@ -1,357 +0,0 @@ -// SPDX-License-Identifier: MIT -// OpenZeppelin Contracts v4.4.0 (utils/structs/EnumerableSet.sol) - -pragma solidity ^0.8.0; - -/** - * @dev Library for managing - * https://en.wikipedia.org/wiki/Set_(abstract_data_type)[sets] of primitive - * types. - * - * Sets have the following properties: - * - * - Elements are added, removed, and checked for existence in constant time - * (O(1)). - * - Elements are enumerated in O(n). No guarantees are made on the ordering. - * - * ``` - * contract Example { - * // Add the library methods - * using EnumerableSet for EnumerableSet.AddressSet; - * - * // Declare a set state variable - * EnumerableSet.AddressSet private mySet; - * } - * ``` - * - * As of v3.3.0, sets of type `bytes32` (`Bytes32Set`), `address` (`AddressSet`) - * and `uint256` (`UintSet`) are supported. - */ -library EnumerableSet { - // To implement this library for multiple types with as little code - // repetition as possible, we write it in terms of a generic Set type with - // bytes32 values. - // The Set implementation uses private functions, and user-facing - // implementations (such as AddressSet) are just wrappers around the - // underlying Set. - // This means that we can only create new EnumerableSets for types that fit - // in bytes32. - - struct Set { - // Storage of set values - bytes32[] _values; - // Position of the value in the `values` array, plus 1 because index 0 - // means a value is not in the set. - mapping(bytes32 => uint256) _indexes; - } - - /** - * @dev Add a value to a set. O(1). - * - * Returns true if the value was added to the set, that is if it was not - * already present. - */ - function _add(Set storage set, bytes32 value) private returns (bool) { - if (!_contains(set, value)) { - set._values.push(value); - // The value is stored at length-1, but we add 1 to all indexes - // and use 0 as a sentinel value - set._indexes[value] = set._values.length; - return true; - } else { - return false; - } - } - - /** - * @dev Removes a value from a set. O(1). - * - * Returns true if the value was removed from the set, that is if it was - * present. - */ - function _remove(Set storage set, bytes32 value) private returns (bool) { - // We read and store the value's index to prevent multiple reads from the same storage slot - uint256 valueIndex = set._indexes[value]; - - if (valueIndex != 0) { - // Equivalent to contains(set, value) - // To delete an element from the _values array in O(1), we swap the element to delete with the last one in - // the array, and then remove the last element (sometimes called as 'swap and pop'). - // This modifies the order of the array, as noted in {at}. - - uint256 toDeleteIndex = valueIndex - 1; - uint256 lastIndex = set._values.length - 1; - - if (lastIndex != toDeleteIndex) { - bytes32 lastvalue = set._values[lastIndex]; - - // Move the last value to the index where the value to delete is - set._values[toDeleteIndex] = lastvalue; - // Update the index for the moved value - set._indexes[lastvalue] = valueIndex; // Replace lastvalue's index to valueIndex - } - - // Delete the slot where the moved value was stored - set._values.pop(); - - // Delete the index for the deleted slot - delete set._indexes[value]; - - return true; - } else { - return false; - } - } - - /** - * @dev Returns true if the value is in the set. O(1). - */ - function _contains(Set storage set, bytes32 value) private view returns (bool) { - return set._indexes[value] != 0; - } - - /** - * @dev Returns the number of values on the set. O(1). - */ - function _length(Set storage set) private view returns (uint256) { - return set._values.length; - } - - /** - * @dev Returns the value stored at position `index` in the set. O(1). - * - * Note that there are no guarantees on the ordering of values inside the - * array, and it may change when more values are added or removed. - * - * Requirements: - * - * - `index` must be strictly less than {length}. - */ - function _at(Set storage set, uint256 index) private view returns (bytes32) { - return set._values[index]; - } - - /** - * @dev Return the entire set in an array - * - * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed - * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that - * this function has an unbounded cost, and using it as part of a state-changing function may render the function - * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block. - */ - function _values(Set storage set) private view returns (bytes32[] memory) { - return set._values; - } - - // Bytes32Set - - struct Bytes32Set { - Set _inner; - } - - /** - * @dev Add a value to a set. O(1). - * - * Returns true if the value was added to the set, that is if it was not - * already present. - */ - function add(Bytes32Set storage set, bytes32 value) internal returns (bool) { - return _add(set._inner, value); - } - - /** - * @dev Removes a value from a set. O(1). - * - * Returns true if the value was removed from the set, that is if it was - * present. - */ - function remove(Bytes32Set storage set, bytes32 value) internal returns (bool) { - return _remove(set._inner, value); - } - - /** - * @dev Returns true if the value is in the set. O(1). - */ - function contains(Bytes32Set storage set, bytes32 value) internal view returns (bool) { - return _contains(set._inner, value); - } - - /** - * @dev Returns the number of values in the set. O(1). - */ - function length(Bytes32Set storage set) internal view returns (uint256) { - return _length(set._inner); - } - - /** - * @dev Returns the value stored at position `index` in the set. O(1). - * - * Note that there are no guarantees on the ordering of values inside the - * array, and it may change when more values are added or removed. - * - * Requirements: - * - * - `index` must be strictly less than {length}. - */ - function at(Bytes32Set storage set, uint256 index) internal view returns (bytes32) { - return _at(set._inner, index); - } - - /** - * @dev Return the entire set in an array - * - * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed - * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that - * this function has an unbounded cost, and using it as part of a state-changing function may render the function - * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block. - */ - function values(Bytes32Set storage set) internal view returns (bytes32[] memory) { - return _values(set._inner); - } - - // AddressSet - - struct AddressSet { - Set _inner; - } - - /** - * @dev Add a value to a set. O(1). - * - * Returns true if the value was added to the set, that is if it was not - * already present. - */ - function add(AddressSet storage set, address value) internal returns (bool) { - return _add(set._inner, bytes32(uint256(uint160(value)))); - } - - /** - * @dev Removes a value from a set. O(1). - * - * Returns true if the value was removed from the set, that is if it was - * present. - */ - function remove(AddressSet storage set, address value) internal returns (bool) { - return _remove(set._inner, bytes32(uint256(uint160(value)))); - } - - /** - * @dev Returns true if the value is in the set. O(1). - */ - function contains(AddressSet storage set, address value) internal view returns (bool) { - return _contains(set._inner, bytes32(uint256(uint160(value)))); - } - - /** - * @dev Returns the number of values in the set. O(1). - */ - function length(AddressSet storage set) internal view returns (uint256) { - return _length(set._inner); - } - - /** - * @dev Returns the value stored at position `index` in the set. O(1). - * - * Note that there are no guarantees on the ordering of values inside the - * array, and it may change when more values are added or removed. - * - * Requirements: - * - * - `index` must be strictly less than {length}. - */ - function at(AddressSet storage set, uint256 index) internal view returns (address) { - return address(uint160(uint256(_at(set._inner, index)))); - } - - /** - * @dev Return the entire set in an array - * - * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed - * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that - * this function has an unbounded cost, and using it as part of a state-changing function may render the function - * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block. - */ - function values(AddressSet storage set) internal view returns (address[] memory) { - bytes32[] memory store = _values(set._inner); - address[] memory result; - - assembly { - result := store - } - - return result; - } - - // UintSet - - struct UintSet { - Set _inner; - } - - /** - * @dev Add a value to a set. O(1). - * - * Returns true if the value was added to the set, that is if it was not - * already present. - */ - function add(UintSet storage set, uint256 value) internal returns (bool) { - return _add(set._inner, bytes32(value)); - } - - /** - * @dev Removes a value from a set. O(1). - * - * Returns true if the value was removed from the set, that is if it was - * present. - */ - function remove(UintSet storage set, uint256 value) internal returns (bool) { - return _remove(set._inner, bytes32(value)); - } - - /** - * @dev Returns true if the value is in the set. O(1). - */ - function contains(UintSet storage set, uint256 value) internal view returns (bool) { - return _contains(set._inner, bytes32(value)); - } - - /** - * @dev Returns the number of values on the set. O(1). - */ - function length(UintSet storage set) internal view returns (uint256) { - return _length(set._inner); - } - - /** - * @dev Returns the value stored at position `index` in the set. O(1). - * - * Note that there are no guarantees on the ordering of values inside the - * array, and it may change when more values are added or removed. - * - * Requirements: - * - * - `index` must be strictly less than {length}. - */ - function at(UintSet storage set, uint256 index) internal view returns (uint256) { - return uint256(_at(set._inner, index)); - } - - /** - * @dev Return the entire set in an array - * - * WARNING: This operation will copy the entire storage to memory, which can be quite expensive. This is designed - * to mostly be used by view accessors that are queried without any gas fees. Developers should keep in mind that - * this function has an unbounded cost, and using it as part of a state-changing function may render the function - * uncallable if the set grows to a point where copying to memory consumes too much gas to fit in a block. - */ - function values(UintSet storage set) internal view returns (uint256[] memory) { - bytes32[] memory store = _values(set._inner); - uint256[] memory result; - - assembly { - result := store - } - - return result; - } -} diff --git a/tests/test_node_modules/package.json b/tests/test_node_modules/package.json deleted file mode 100644 index 8ca2617838..0000000000 --- a/tests/test_node_modules/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "dependencies": { - "@openzeppelin/contracts": "^4.4.0", - "hardhat": "^2.7.0" - } -} diff --git a/tests/test_source_mapping.py b/tests/test_source_mapping.py deleted file mode 100644 index c5ff28c67d..0000000000 --- a/tests/test_source_mapping.py +++ /dev/null @@ -1,133 +0,0 @@ -from solc_select import solc_select - -from slither import Slither -from slither.core.declarations import Function - - -def test_source_mapping(): - solc_select.switch_global_version("0.6.12", always_install=True) - slither = Slither("tests/src_mapping/inheritance.sol") - - # Check if A.f() is at the offset 27 - functions = slither.offset_to_objects("tests/src_mapping/inheritance.sol", 27) - print(functions) - assert len(functions) == 1 - function = functions.pop() - assert isinstance(function, Function) - assert function.canonical_name == "A.f()" - - # Only one definition for A.f() - assert { - (x.start, x.end) - for x in slither.offset_to_definitions("tests/src_mapping/inheritance.sol", 27) - } == {(26, 28)} - # Only one reference for A.f(), in A.test() - assert { - (x.start, x.end) - for x in slither.offset_to_references("tests/src_mapping/inheritance.sol", 27) - } == {(92, 93)} - # Only one implementation for A.f(), in A.test() - assert { - (x.start, x.end) - for x in slither.offset_to_implementations("tests/src_mapping/inheritance.sol", 27) - } == {(17, 53)} - - # Check if C.f() is at the offset 203 - functions = slither.offset_to_objects("tests/src_mapping/inheritance.sol", 203) - assert len(functions) == 1 - function = functions.pop() - assert isinstance(function, Function) - assert function.canonical_name == "C.f()" - - # Only one definition for C.f() - assert { - (x.start, x.end) - for x in slither.offset_to_definitions("tests/src_mapping/inheritance.sol", 203) - } == {(202, 204)} - # Two references for C.f(), in A.test() and C.test2() - assert { - (x.start, x.end) - for x in slither.offset_to_references("tests/src_mapping/inheritance.sol", 203) - } == {(270, 271), (92, 93)} - # Only one implementation for A.f(), in A.test() - assert { - (x.start, x.end) - for x in slither.offset_to_implementations("tests/src_mapping/inheritance.sol", 203) - } == {(193, 230)} - - # Offset 93 is the call to f() in A.test() - # This can lead to three differents functions, depending on the current contract's context - functions = slither.offset_to_objects("tests/src_mapping/inheritance.sol", 93) - print(functions) - assert len(functions) == 3 - for function in functions: - assert isinstance(function, Function) - assert function.canonical_name in ["A.f()", "B.f()", "C.f()"] - - # There are three definitions possible (in A, B or C) - assert { - (x.start, x.end) - for x in slither.offset_to_definitions("tests/src_mapping/inheritance.sol", 93) - } == {(26, 28), (202, 204), (138, 140)} - - # There are two references possible (in A.test() or C.test2() ) - assert { - (x.start, x.end) - for x in slither.offset_to_references("tests/src_mapping/inheritance.sol", 93) - } == {(92, 93), (270, 271)} - - # There are three implementations possible (in A, B or C) - assert { - (x.start, x.end) - for x in slither.offset_to_implementations("tests/src_mapping/inheritance.sol", 93) - } == {(17, 53), (193, 230), (129, 166)} - - -def _sort_references_lines(refs: list) -> list: - return sorted([ref.lines[0] for ref in refs]) - - -def _test_references_user_defined_aliases(): - """ - 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) - slither = Slither("tests/src_mapping/ReferencesUserDefinedAliases.sol") - - alias_top_level = slither.compilation_units[0].user_defined_value_types["aliasTopLevel"] - assert len(alias_top_level.references) == 2 - lines = _sort_references_lines(alias_top_level.references) - assert lines == [12, 16] - - alias_contract_level = ( - slither.compilation_units[0] - .contracts[0] - .file_scope.user_defined_types["C.aliasContractLevel"] - ) - assert len(alias_contract_level.references) == 2 - lines = _sort_references_lines(alias_contract_level.references) - assert lines == [13, 16] - - -def _test_references_user_defined_types_when_casting(): - """ - 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) - slither = Slither("tests/src_mapping/ReferencesUserDefinedTypesCasting.sol") - - 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/test_source_unit.py b/tests/test_source_unit.py deleted file mode 100644 index 73c165016d..0000000000 --- a/tests/test_source_unit.py +++ /dev/null @@ -1,43 +0,0 @@ -from pathlib import Path -import shutil - -import pytest -from slither import Slither - -# NB: read tests/source_unit/README.md for setup before using this test - -foundry_available = shutil.which("forge") is not None -project_ready = Path("./tests/source_unit/lib/forge-std").exists() - - -@pytest.mark.skipif( - not foundry_available or not project_ready, reason="requires Foundry and project setup" -) -def test_contract_info() -> None: - slither = Slither("./tests/source_unit") - - assert len(slither.compilation_units) == 1 - compilation_unit = slither.compilation_units[0] - - for source_unit in compilation_unit.crytic_compile_compilation_unit.source_units.values(): - source_unit.remove_metadata() - - counter_sol = compilation_unit.crytic_compile.filename_lookup( - "tests/source_unit/src/Counter.sol" - ) - assert ( - compilation_unit.scopes[counter_sol].bytecode_init( - compilation_unit.crytic_compile_compilation_unit, "Counter" - ) - == "608060405234801561001057600080fd5b5060f78061001f6000396000f3fe6080604052348015600f57600080fd5b5060043610603c5760003560e01c80633fb5c1cb1460415780638381f58a146053578063d09de08a14606d575b600080fd5b6051604c3660046083565b600055565b005b605b60005481565b60405190815260200160405180910390f35b6051600080549080607c83609b565b9190505550565b600060208284031215609457600080fd5b5035919050565b60006001820160ba57634e487b7160e01b600052601160045260246000fd5b506001019056fe" - ) - - counter2_sol = compilation_unit.crytic_compile.filename_lookup( - "tests/source_unit/src/Counter2.sol" - ) - assert ( - compilation_unit.scopes[counter2_sol].bytecode_init( - compilation_unit.crytic_compile_compilation_unit, "Counter" - ) - == "6080604052348015600f57600080fd5b50603f80601d6000396000f3fe6080604052600080fdfe" - ) diff --git a/tests/test_ssa_generation.py b/tests/test_ssa_generation.py deleted file mode 100644 index 3d48745690..0000000000 --- a/tests/test_ssa_generation.py +++ /dev/null @@ -1,1078 +0,0 @@ -# pylint: disable=too-many-lines -import os -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 - -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.variables.state_variable import StateVariable -from slither.slithir.operations import ( - OperationWithLValue, - Phi, - Assignment, - HighLevelCall, - Return, - Operation, - Binary, - BinaryType, - InternalCall, - Index, - InitArray, -) -from slither.slithir.utils.ssa import is_used_later -from slither.slithir.variables import ( - Constant, - ReferenceVariable, - LocalIRVariable, - StateIRVariable, -) - -# Directory of currently executing script. Will be used as basis for temporary file names. -SCRIPT_DIR = pathlib.Path(getsourcefile(lambda: 0)).parent - - -def valid_version(ver: str) -> bool: - """Wrapper function to check if the solc-version is valid - - The solc_select function raises and exception but for checks below, - only a bool is needed. - """ - try: - solc_valid_version(ver) - return True - except ArgumentTypeError: - return False - - -def have_ssa_if_ir(function: Function): - """Verifies that all nodes in a function that have IR also have SSA IR""" - for n in function.nodes: - if n.irs: - assert n.irs_ssa - - -# pylint: disable=too-many-branches -def ssa_basic_properties(function: Function): - """Verifies that basic properties of ssa holds - - 1. Every name is defined only once - 2. A l-value is never index zero - there is always a zero-value available for each var - 3. Every r-value is at least defined at some point - 4. The number of ssa defs is >= the number of assignments to var - 5. Function parameters SSA are stored in function.parameters_ssa - - if function parameter is_storage it refers to a fake variable - 6. Function returns SSA are stored in function.returns_ssa - - if function return is_storage it refers to a fake variable - """ - ssa_lvalues = set() - ssa_rvalues = set() - lvalue_assignments = {} - - for n in function.nodes: - for ir in n.irs: - if isinstance(ir, OperationWithLValue): - name = ir.lvalue.name - if name in lvalue_assignments: - lvalue_assignments[name] += 1 - else: - lvalue_assignments[name] = 1 - - for ssa in n.irs_ssa: - if isinstance(ssa, OperationWithLValue): - # 1 - assert ssa.lvalue not in ssa_lvalues - ssa_lvalues.add(ssa.lvalue) - - # 2 (if Local/State Var) - if isinstance(ssa.lvalue, (StateIRVariable, LocalIRVariable)): - assert ssa.lvalue.index > 0 - - for rvalue in filter( - lambda x: not isinstance(x, (StateIRVariable, Constant)), ssa.read - ): - ssa_rvalues.add(rvalue) - - # 3 - # Each var can have one non-defined value, the value initially held. Typically, - # var_0, i_0, state_0 or similar. - undef_vars = set() - for rvalue in ssa_rvalues: - if rvalue not in ssa_lvalues: - assert rvalue.non_ssa_version not in undef_vars - undef_vars.add(rvalue.non_ssa_version) - - # 4 - ssa_defs = defaultdict(int) - for v in ssa_lvalues: - ssa_defs[v.name] += 1 - - for (k, n) in lvalue_assignments.items(): - assert ssa_defs[k] >= n - - # Helper 5/6 - def check_property_5_and_6(variables, ssavars): - for var in filter(lambda x: x.name, variables): - ssa_vars = [x for x in ssavars if x.non_ssa_version == var] - assert len(ssa_vars) == 1 - ssa_var = ssa_vars[0] - assert var.is_storage == ssa_var.is_storage - if ssa_var.is_storage: - assert len(ssa_var.refers_to) == 1 - assert ssa_var.refers_to[0].location == "reference_to_storage" - - # 5 - check_property_5_and_6(function.parameters, function.parameters_ssa) - - # 6 - check_property_5_and_6(function.returns, function.returns_ssa) - - -def ssa_phi_node_properties(f: Function): - """Every phi-function should have as many args as predecessors - - This does not apply if the phi-node refers to state variables, - they make use os special phi-nodes for tracking potential values - a state variable can have - """ - for node in f.nodes: - for ssa in node.irs_ssa: - if isinstance(ssa, Phi): - n = len(ssa.read) - if not isinstance(ssa.lvalue, StateIRVariable): - assert len(node.fathers) == n - - -# TODO (hbrodin): This should probably go into another file, not specific to SSA -def dominance_properties(f: Function): - """Verifies properties related to dominators holds - - 1. Every node have an immediate dominator except entry_node which have none - 2. From every node immediate dominator there is a path via its successors to the node - """ - - def find_path(from_node: Node, to: Node) -> bool: - visited = set() - worklist = list(from_node.sons) - while worklist: - first, *worklist = worklist - if first == to: - return True - visited.add(first) - for successor in first.sons: - if successor not in visited: - worklist.append(successor) - return False - - for node in f.nodes: - if node is f.entry_point: - assert node.immediate_dominator is None - else: - assert node.immediate_dominator is not None - assert find_path(node.immediate_dominator, node) - - -def phi_values_inserted(f: Function): - """Verifies that phi-values are inserted at the right places - - For every node that has a dominance frontier, any def (including - phi) should be a phi function in its dominance frontier - """ - - def have_phi_for_var(node: Node, var): - """Checks if a node has a phi-instruction for var - - The ssa version would ideally be checked, but then - more data flow analysis would be needed, for cases - where a new def for var is introduced before reaching - DF - """ - non_ssa = var.non_ssa_version - for ssa in node.irs_ssa: - if isinstance(ssa, Phi): - if non_ssa in map(lambda ssa_var: ssa_var.non_ssa_version, ssa.read): - return True - return False - - for node in filter(lambda n: n.dominance_frontier, f.nodes): - for df in node.dominance_frontier: - for ssa in node.irs_ssa: - if isinstance(ssa, OperationWithLValue): - if is_used_later(node, ssa.lvalue): - assert have_phi_for_var(df, ssa.lvalue) - - -@contextmanager -def select_solc_version(version: Optional[str]): - """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)) - env = dict(os.environ) - env_restore = dict(env) - env["SOLC_VERSION"] = version - os.environ.clear() - os.environ.update(env) - - yield version - - os.environ.clear() - os.environ.update(env_restore) - - -@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]): - """Ensures that basic properties of SSA hold true""" - - def verify_func(func: Function): - have_ssa_if_ir(func) - phi_values_inserted(func) - ssa_basic_properties(func) - ssa_phi_node_properties(func) - dominance_properties(func) - - def verify(slither): - for cu in slither.compilation_units: - for func in cu.functions_and_modifiers: - _dump_function(func) - verify_func(func) - for contract in cu.contracts: - for f in contract.functions: - if f.is_constructor or f.is_constructor_variables: - _dump_function(f) - verify_func(f) - - if isinstance(source_code_or_slither, Slither): - verify(source_code_or_slither) - else: - with slither_from_source(source_code_or_slither) as slither: - verify(slither) - - -def _dump_function(f: Function): - """Helper function to print nodes/ssa ir for a function or modifier""" - print(f"---- {f.name} ----") - for n in f.nodes: - print(n) - for ir in n.irs_ssa: - print(f"\t{ir}") - print("") - - -def _dump_functions(c: Contract): - """Helper function to print functions and modifiers of a contract""" - for f in c.functions_and_modifiers: - _dump_function(f) - - -def get_filtered_ssa(f: Union[Function, Node], flt) -> List[Operation]: - """Returns a list of all ssanodes filtered by filter for all nodes in function f""" - if isinstance(f, Function): - return [ssanode for node in f.nodes for ssanode in node.irs_ssa if flt(ssanode)] - - assert isinstance(f, Node) - return [ssanode for ssanode in f.irs_ssa if flt(ssanode)] - - -def get_ssa_of_type(f: Union[Function, Node], ssatype) -> List[Operation]: - """Returns a list of all ssanodes of a specific type for all nodes in function f""" - return get_filtered_ssa(f, lambda ssanode: isinstance(ssanode, ssatype)) - - -def test_multi_write(): - contract = """ - pragma solidity ^0.8.11; - contract Test { - function multi_write(uint val) external pure returns(uint) { - val = 1; - val = 2; - val = 3; - } - }""" - verify_properties_hold(contract) - - -def test_single_branch_phi(): - contract = """ - pragma solidity ^0.8.11; - contract Test { - function single_branch_phi(uint val) external pure returns(uint) { - if (val == 3) { - val = 9; - } - return val; - } - } - """ - verify_properties_hold(contract) - - -def test_basic_phi(): - contract = """ - pragma solidity ^0.8.11; - contract Test { - function basic_phi(uint val) external pure returns(uint) { - if (val == 3) { - val = 9; - } else { - val = 1; - } - return val; - } - } - """ - verify_properties_hold(contract) - - -def test_basic_loop_phi(): - contract = """ - pragma solidity ^0.8.11; - contract Test { - function basic_loop_phi(uint val) external pure returns(uint) { - for (uint i=0;i<128;i++) { - val = val + 1; - } - return val; - } - } - """ - verify_properties_hold(contract) - - -@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_phi_propagation_loop(): - contract = """ - pragma solidity ^0.8.11; - contract Test { - function looping(uint v) external pure returns(uint) { - uint val = 0; - for (uint i=0;i i) { - val = i; - } else { - val = 3; - } - } - return val; - } - } - """ - verify_properties_hold(contract) - - -@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_free_function_properties(): - contract = """ - pragma solidity ^0.8.11; - - function free_looping(uint v) returns(uint) { - uint val = 0; - for (uint i=0;i i) { - val = i; - } else { - val = 3; - } - } - return val; - } - - contract Test {} - """ - verify_properties_hold(contract) - - -def test_ssa_inter_transactional(): - source = """ - pragma solidity ^0.8.11; - contract A { - uint my_var_A; - uint my_var_B; - - function direct_set(uint i) public { - my_var_A = i; - } - - function direct_set_plus_one(uint i) public { - my_var_A = i + 1; - } - - function indirect_set() public { - my_var_B = my_var_A; - } - } - """ - with slither_from_source(source) as slither: - c = slither.contracts[0] - variables = c.variables_as_dict - funcs = c.available_functions_as_dict() - direct_set = funcs["direct_set(uint256)"] - # Skip entry point and go straight to assignment ir - assign1 = direct_set.nodes[1].irs_ssa[0] - assert isinstance(assign1, Assignment) - - assign2 = direct_set.nodes[1].irs_ssa[0] - assert isinstance(assign2, Assignment) - - indirect_set = funcs["indirect_set()"] - phi = indirect_set.entry_point.irs_ssa[0] - assert isinstance(phi, Phi) - # phi rvalues come from 1, initial value of my_var_a and 2, assignment in direct_set - assert len(phi.rvalues) == 3 - assert all(x.non_ssa_version == variables["my_var_A"] for x in phi.rvalues) - assert assign1.lvalue in phi.rvalues - assert assign2.lvalue in phi.rvalues - - -@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_ssa_phi_callbacks(): - source = """ - pragma solidity ^0.8.11; - contract A { - uint my_var_A; - uint my_var_B; - - function direct_set(uint i) public { - my_var_A = i; - } - - function use_a() public { - // Expect a phi-node here - my_var_B = my_var_A; - B b = new B(); - my_var_A = 3; - b.do_stuff(); - // Expect a phi-node here - my_var_B = my_var_A; - } - } - - contract B { - function do_stuff() public returns (uint) { - // This could be calling back into A - } - } - """ - with slither_from_source(source) as slither: - c = slither.get_contract_from_name("A")[0] - _dump_functions(c) - f = [x for x in c.functions if x.name == "use_a"][0] - var_a = [x for x in c.variables if x.name == "my_var_A"][0] - - entry_phi = [ - x - for x in f.entry_point.irs_ssa - if isinstance(x, Phi) and x.lvalue.non_ssa_version == var_a - ][0] - # The four potential sources are: - # 1. initial value - # 2. my_var_A = i; - # 3. my_var_A = 3; - # 4. phi-value after call to b.do_stuff(), which could be reentrant. - assert len(entry_phi.rvalues) == 4 - - # Locate the first high-level call (should be b.do_stuff()) - call_node = [x for y in f.nodes for x in y.irs_ssa if isinstance(x, HighLevelCall)][0] - n = call_node.node - # Get phi-node after call - after_call_phi = n.irs_ssa[n.irs_ssa.index(call_node) + 1] - # The two sources for this phi node is - # 1. my_var_A = i; - # 2. my_var_A = 3; - assert isinstance(after_call_phi, Phi) - assert len(after_call_phi.rvalues) == 2 - - -@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_storage_refers_to(): - """Test the storage aspects of the SSA IR - - When declaring a var as being storage, start tracking what storage it refers_to. - When a phi-node is created, ensure refers_to is propagated to the phi-node. - Assignments also propagate refers_to. - Whenever a ReferenceVariable is the destination of an assignment (e.g. s.v = 10) - below, create additional versions of the variables it refers to record that a a - write was made. In the current implementation, this is referenced by phis. - """ - source = """ - contract A{ - - struct St{ - int v; - } - - St state0; - St state1; - - function f() public{ - St storage s = state0; - if(true){ - s = state1; - } - s.v = 10; - } -} - """ - with slither_from_source(source) as slither: - c = slither.contracts[0] - f = c.functions[0] - - phinodes = get_ssa_of_type(f, Phi) - # Expect 2 in entrypoint (state0/state1 initial values), 1 at 'ENDIF' and two related to the - # ReferenceVariable write s.v = 10. - assert len(phinodes) == 5 - - # Assign s to state0, s to state1, s.v to 10 - assigns = get_ssa_of_type(f, Assignment) - assert len(assigns) == 3 - - # The IR variables have is_storage - assert all(x.lvalue.is_storage for x in assigns if isinstance(x, LocalIRVariable)) - - # s.v ReferenceVariable points to one of the phi vars... - ref0 = [x.lvalue for x in assigns if isinstance(x.lvalue, ReferenceVariable)][0] - sphis = [x for x in phinodes if x.lvalue == ref0.points_to] - assert len(sphis) == 1 - sphi = sphis[0] - - # ...and that phi refers to the two entry phi-values - entryphi = [x for x in phinodes if x.lvalue in sphi.lvalue.refers_to] - assert len(entryphi) == 2 - - # The remaining two phis are the ones recording that write through ReferenceVariable occured - for ephi in entryphi: - phinodes.remove(ephi) - phinodes.remove(sphi) - assert len(phinodes) == 2 - - # And they are recorded in one of the entry phis - assert phinodes[0].lvalue in entryphi[0].rvalues or entryphi[1].rvalues - assert phinodes[1].lvalue in entryphi[0].rvalues or entryphi[1].rvalues - - -@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(): - """ - In solidity you can write statements such as - uint a = a + 1, this test ensures that can be handled for local variables. - """ - src = """ - contract C { - function func() internal { - uint a = a + 1; - } - } - """ - with slither_from_source(src, "0.4.0") as slither: - verify_properties_hold(slither) - c = slither.contracts[0] - f = c.functions[0] - - addition = get_ssa_of_type(f, Binary)[0] - assert addition.type == BinaryType.ADDITION - assert isinstance(addition.variable_right, Constant) - a_0 = addition.variable_left - assert a_0.index == 0 - assert a_0.name == "a" - - assignment = get_ssa_of_type(f, Assignment)[0] - a_1 = assignment.lvalue - assert a_1.index == 1 - assert a_1.name == "a" - assert assignment.rvalue == addition.lvalue - - assert a_0.non_ssa_version == a_1.non_ssa_version - - -@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -@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(): - """ - In solidity you can write statements such as - uint a = a + 1, this test ensures that can be handled for state variables. - """ - src = """ - contract C { - uint a = a + 1; - } - """ - with slither_from_source(src, "0.4.0") as slither: - verify_properties_hold(slither) - c = slither.contracts[0] - f = c.functions[0] # There will be one artificial ctor function for the state vars - - addition = get_ssa_of_type(f, Binary)[0] - assert addition.type == BinaryType.ADDITION - assert isinstance(addition.variable_right, Constant) - a_0 = addition.variable_left - assert isinstance(a_0, StateIRVariable) - assert a_0.name == "a" - - assignment = get_ssa_of_type(f, Assignment)[0] - a_1 = assignment.lvalue - assert isinstance(a_1, StateIRVariable) - assert a_1.index == a_0.index + 1 - assert a_1.name == "a" - assert assignment.rvalue == addition.lvalue - - assert a_0.non_ssa_version == a_1.non_ssa_version - assert isinstance(a_0.non_ssa_version, StateVariable) - - # No conditional/other function interaction so no phis - assert len(get_ssa_of_type(f, Phi)) == 0 - - -@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_initial_version_exists_for_state_variables_function_assign(): - """ - In solidity you can write statements such as - uint a = a + 1, this test ensures that can be handled for local variables. - """ - # TODO (hbrodin): Could be a detector that a is not used in f - src = """ - contract C { - uint a = f(); - - function f() internal returns(uint) { - return a; - } - } - """ - with slither_from_source(src) as slither: - verify_properties_hold(slither) - c = slither.contracts[0] - f, ctor = c.functions - if f.is_constructor_variables: - f, ctor = ctor, f - - # ctor should have a single call to f that assigns to a - # temporary variable, that is then assigned to a - - call = get_ssa_of_type(ctor, InternalCall)[0] - assert call.function == f - assign = get_ssa_of_type(ctor, Assignment)[0] - assert assign.rvalue == call.lvalue - assert isinstance(assign.lvalue, StateIRVariable) - assert assign.lvalue.name == "a" - - # f should have a phi node on entry of a0, a1 and should return - # a2 - phi = get_ssa_of_type(f, Phi)[0] - assert len(phi.rvalues) == 2 - assert assign.lvalue in phi.rvalues - - -@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(): - src = """ - // this require solidity < 0.5 - // a variable can be returned before declared. Ensure it can be - // handled by Slither. - contract A { - function local(bool my_bool) internal returns(uint){ - if(my_bool){ - return a_local; - } - - uint a_local = 10; - } - } - """ - with slither_from_source(src, "0.4.0") as slither: - f = slither.contracts[0].functions[0] - - ret = get_ssa_of_type(f, Return)[0] - assert len(ret.values) == 1 - assert ret.values[0].index == 0 - - assign = get_ssa_of_type(f, Assignment)[0] - assert assign.lvalue.index == 1 - assert assign.lvalue.non_ssa_version == ret.values[0].non_ssa_version - - -@pytest.mark.skipif( - not valid_version("0.5.0"), reason="Solidity version 0.5.0 not available on this platform" -) -def test_shadow_local(): - src = """ - contract A { - // this require solidity 0.5 - function shadowing_local() internal{ - uint local = 0; - { - uint local = 1; - { - uint local = 2; - } - } - } - } - """ - with slither_from_source(src, "0.5.0") as slither: - _dump_functions(slither.contracts[0]) - f = slither.contracts[0].functions[0] - - # Ensure all assignments are to a variable of index 1 - # not using the same IR var. - assert all(map(lambda x: x.lvalue.index == 1, get_ssa_of_type(f, Assignment))) - - -@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_multiple_named_args_returns(): - """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 - then have version 1. - """ - src = """ - contract A { - function multi(uint arg1, uint arg2) internal returns (uint ret1, uint ret2) { - arg1 = arg1 + 1; - arg2 = arg2 + 2; - ret1 = arg1 + 3; - ret2 = arg2 + 4; - } - }""" - with slither_from_source(src) as slither: - verify_properties_hold(slither) - f = slither.contracts[0].functions[0] - - # Ensure all LocalIRVariables (not TemporaryVariables) have index 1 - assert all( - map( - lambda x: x.lvalue.index == 1 or not isinstance(x.lvalue, LocalIRVariable), - get_ssa_of_type(f, OperationWithLValue), - ) - ) - - -@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.", strict=True) -def test_memory_array(): - src = """ - contract MemArray { - struct A { - uint val1; - uint val2; - } - - function test_array() internal { - A[] memory a= new A[](4); - // Create REF_0 -> a_1[2] - accept_array_entry(a[2]); - - // Create REF_1 -> a_1[3] - accept_array_entry(a[3]); - - A memory alocal; - accept_array_entry(alocal); - - } - - // val_1 = ϕ(val_0, REF_0, REF_1, alocal_1) - // val_0 is an unknown external value - function accept_array_entry(A memory val) public returns (uint) { - uint zero = 0; - b(zero); - // Create REF_2 -> val_1.val1 - return b(val.val1); - } - - function b(uint arg) public returns (uint){ - // arg_1 = ϕ(arg_0, zero_1, REF_2) - return arg + 1; - } - }""" - with slither_from_source(src) as slither: - c = slither.contracts[0] - - ftest_array, faccept, fb = c.functions - - # Locate REF_0/REF_1/alocal (they are all args to the call) - accept_args = [x.arguments[0] for x in get_ssa_of_type(ftest_array, InternalCall)] - - # Check entrypoint of accept_array_entry, it should contain a phi-node - # of expected rvalues - [phi_entry_accept] = get_ssa_of_type(faccept.entry_point, Phi) - for arg in accept_args: - assert arg in phi_entry_accept.rvalues - # NOTE(hbrodin): There should be an additional val_0 in the phi-node. - # That additional val_0 indicates an external caller of this function. - assert len(phi_entry_accept.rvalues) == len(accept_args) + 1 - - # Args used to invoke b - b_args = [x.arguments[0] for x in get_ssa_of_type(faccept, InternalCall)] - - # Check entrypoint of B, it should contain a phi-node of expected - # rvalues - [phi_entry_b] = get_ssa_of_type(fb.entry_point, Phi) - for arg in b_args: - assert arg in phi_entry_b.rvalues - - # NOTE(hbrodin): There should be an additional arg_0 (see comment about phi_entry_accept). - assert len(phi_entry_b.rvalues) == len(b_args) + 1 - - -@pytest.mark.xfail(reason="Tests for wanted state of SSA IR, not current.", strict=True) -def test_storage_array(): - src = """ - contract StorageArray { - struct A { - uint val1; - uint val2; - } - - // NOTE(hbrodin): a is never written, should only become a_0. Same for astorage (astorage_0). Phi-nodes at entry - // should only add new versions of a state variable if it is actually written. - A[] a; - A astorage; - - function test_array() internal { - accept_array_entry(a[2]); - accept_array_entry(a[3]); - accept_array_entry(astorage); - } - - function accept_array_entry(A storage val) internal returns (uint) { - // val is either a[2], a[3] or astorage_0. Ideally this could be identified. - uint five = 5; - - // NOTE(hbrodin): If the following line is enabled, there would ideally be a phi-node representing writes - // to either a or astorage. - //val.val2 = 4; - b(five); - return b(val.val1); - } - - function b(uint value) public returns (uint){ - // Expect a phi-node at the entrypoint - // value_1 = ϕ(value_0, five_0, REF_x), where REF_x is the reference to val.val1 in accept_array_entry. - return value + 1; - } - }""" - with slither_from_source(src) as slither: - c = slither.contracts[0] - _dump_functions(c) - ftest, faccept, fb = c.functions - - # None of a/astorage is written so expect that there are no phi-nodes at entrypoint. - assert len(get_ssa_of_type(ftest.entry_point, Phi)) == 0 - - # Expect all references to start from index 0 (no writes) - assert all(x.variable_left.index == 0 for x in get_ssa_of_type(ftest, Index)) - - [phi_entry_accept] = get_ssa_of_type(faccept.entry_point, Phi) - assert len(phi_entry_accept.rvalues) == 3 # See comment in b above - - [phi_entry_b] = get_ssa_of_type(fb.entry_point, Phi) - assert len(phi_entry_b.rvalues) == 3 # See comment in b above - - -@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_issue_468(): - """ - Ensure issue 468 is corrected as per - https://github.com/crytic/slither/issues/468#issuecomment-620974151 - The one difference is that we allow the phi-function at entry of f to - hold exit state which contains init state and state from branch, which - is a bit redundant. This could be further simplified. - """ - source = """ - contract State { - int state = 0; - function f(int a) public returns (int) { - // phi-node here for state - if (a < 1) { - state += 1; - } - // phi-node here for state - return state; - } - } - """ - with slither_from_source(source) as slither: - c = slither.get_contract_from_name("State")[0] - f = [x for x in c.functions if x.name == "f"][0] - - # Check that there is an entry point phi values for each later value - # plus one additional which is the initial value - entry_ssa = f.entry_point.irs_ssa - assert len(entry_ssa) == 1 - phi_entry = entry_ssa[0] - assert isinstance(phi_entry, Phi) - - # Find the second phi function - endif_node = [x for x in f.nodes if x.type == NodeType.ENDIF][0] - assert len(endif_node.irs_ssa) == 1 - phi_endif = endif_node.irs_ssa[0] - assert isinstance(phi_endif, Phi) - - # Ensure second phi-function contains init-phi and one additional - assert len(phi_endif.rvalues) == 2 - assert phi_entry.lvalue in phi_endif.rvalues - - # Find return-statement and ensure it returns the phi_endif - return_node = [x for x in f.nodes if x.type == NodeType.RETURN][0] - assert len(return_node.irs_ssa) == 1 - ret = return_node.irs_ssa[0] - assert len(ret.values) == 1 - assert phi_endif.lvalue in ret.values - - # Ensure that the phi_endif (which is the end-state for function as well) is in the entry_phi - assert phi_endif.lvalue in phi_entry.rvalues - - -@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_issue_434(): - source = """ - contract Contract { - int public a; - function f() public { - g(); - a += 1; - } - - function e() public { - a -= 1; - } - - function g() public { - e(); - } - } - """ - with slither_from_source(source) as slither: - c = slither.get_contract_from_name("Contract")[0] - - e = [x for x in c.functions if x.name == "e"][0] - f = [x for x in c.functions if x.name == "f"][0] - g = [x for x in c.functions if x.name == "g"][0] - - # Ensure there is a phi-node at the beginning of f and e - phi_entry_e = get_ssa_of_type(e.entry_point, Phi)[0] - phi_entry_f = get_ssa_of_type(f.entry_point, Phi)[0] - # But not at g - assert len(get_ssa_of_type(g, Phi)) == 0 - - # Ensure that the final states of f and e are in the entry-states - add_f = get_filtered_ssa( - f, lambda x: isinstance(x, Binary) and x.type == BinaryType.ADDITION - )[0] - sub_e = get_filtered_ssa( - e, lambda x: isinstance(x, Binary) and x.type == BinaryType.SUBTRACTION - )[0] - assert add_f.lvalue in phi_entry_f.rvalues - assert add_f.lvalue in phi_entry_e.rvalues - assert sub_e.lvalue in phi_entry_f.rvalues - assert sub_e.lvalue in phi_entry_e.rvalues - - # Ensure there is a phi-node after call to g - call = get_ssa_of_type(f, InternalCall)[0] - idx = call.node.irs_ssa.index(call) - aftercall_phi = call.node.irs_ssa[idx + 1] - assert isinstance(aftercall_phi, Phi) - - # Ensure that phi node ^ is used in the addition afterwards - assert aftercall_phi.lvalue in (add_f.variable_left, add_f.variable_right) - - -@pytest.mark.xfail(strict=True, reason="Fails in current slither version. Fix in #1102.") -def test_issue_473(): - source = """ - contract Contract { - function f() public returns (int) { - int a = 1; - if (a > 0) { - a = 2; - } - if (a == 3) { - a = 6; - } - return a; - } - } - """ - with slither_from_source(source) as slither: - c = slither.get_contract_from_name("Contract")[0] - f = c.functions[0] - - phis = get_ssa_of_type(f, Phi) - return_value = get_ssa_of_type(f, Return)[0] - - # There shall be two phi functions - assert len(phis) == 2 - first_phi = phis[0] - second_phi = phis[1] - - # The second phi is the one being returned, if it's the first swap them (iteration order) - if first_phi.lvalue in return_value.values: - first_phi, second_phi = second_phi, first_phi - - # First phi is for [a=1 or a=2] - assert len(first_phi.rvalues) == 2 - - # second is for [a=6 or first phi] - assert first_phi.lvalue in second_phi.rvalues - assert len(second_phi.rvalues) == 2 - - # return is for second phi - assert len(return_value.values) == 1 - assert second_phi.lvalue in return_value.values - - -def test_issue_1748(): - source = """ - contract Contract { - uint[] arr; - function foo(uint i) public { - arr = [1]; - } - } - """ - with slither_from_source(source) as slither: - c = slither.get_contract_from_name("Contract")[0] - f = c.functions[0] - operations = f.slithir_operations - assign_op = operations[0] - assert isinstance(assign_op, InitArray) diff --git a/tests/test_storage_layout.py b/tests/test_storage_layout.py deleted file mode 100644 index 525cd3b475..0000000000 --- a/tests/test_storage_layout.py +++ /dev/null @@ -1,39 +0,0 @@ -import json -import os -import subprocess -from subprocess import PIPE, Popen - -from slither import Slither - -SLITHER_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -STORAGE_TEST_ROOT = os.path.join(SLITHER_ROOT, "tests", "storage-layout") - -# the storage layout has not yet changed between solidity versions so we will test with one version of the compiler - - -def test_storage_layout(): - subprocess.run(["solc-select", "use", "0.8.10"], stdout=subprocess.PIPE, check=True) - - test_item = os.path.join(STORAGE_TEST_ROOT, "storage_layout-0.8.10.sol") - - sl = Slither(test_item, solc_force_legacy_json=False, disallow_partial=True) - - with Popen(["solc", 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"]) - while True: - try: - for contract in sl.contracts: - curr_var = next(layout) - var_name = curr_var["label"] - sl_name = contract.variables_as_dict[var_name] - slot, offset = contract.compilation_unit.storage_layout_of( - contract, sl_name - ) - assert slot == int(curr_var["slot"]) - assert offset == int(curr_var["offset"]) - except StopIteration: - break - except KeyError as e: - print(f"not found {e} ") diff --git a/tests/check-erc/erc20.sol b/tests/tools/check-erc/erc20.sol similarity index 100% rename from tests/check-erc/erc20.sol rename to tests/tools/check-erc/erc20.sol diff --git a/tests/check-erc/test_1.txt b/tests/tools/check-erc/test_1.txt similarity index 100% rename from tests/check-erc/test_1.txt rename to tests/tools/check-erc/test_1.txt diff --git a/tests/check-kspec/safeAdd/safeAdd.sol b/tests/tools/check-kspec/safeAdd/safeAdd.sol similarity index 100% rename from tests/check-kspec/safeAdd/safeAdd.sol rename to tests/tools/check-kspec/safeAdd/safeAdd.sol diff --git a/tests/check-kspec/safeAdd/spec.md b/tests/tools/check-kspec/safeAdd/spec.md similarity index 100% rename from tests/check-kspec/safeAdd/spec.md rename to tests/tools/check-kspec/safeAdd/spec.md diff --git a/tests/check-kspec/test_1.txt b/tests/tools/check-kspec/test_1.txt similarity index 100% rename from tests/check-kspec/test_1.txt rename to tests/tools/check-kspec/test_1.txt diff --git a/tests/check-upgradeability/contractV1.sol b/tests/tools/check-upgradeability/contractV1.sol similarity index 100% rename from tests/check-upgradeability/contractV1.sol rename to tests/tools/check-upgradeability/contractV1.sol diff --git a/tests/check-upgradeability/contractV1_struct.sol b/tests/tools/check-upgradeability/contractV1_struct.sol similarity index 100% rename from tests/check-upgradeability/contractV1_struct.sol rename to tests/tools/check-upgradeability/contractV1_struct.sol diff --git a/tests/check-upgradeability/contractV2.sol b/tests/tools/check-upgradeability/contractV2.sol similarity index 100% rename from tests/check-upgradeability/contractV2.sol rename to tests/tools/check-upgradeability/contractV2.sol diff --git a/tests/check-upgradeability/contractV2_bug.sol b/tests/tools/check-upgradeability/contractV2_bug.sol similarity index 100% rename from tests/check-upgradeability/contractV2_bug.sol rename to tests/tools/check-upgradeability/contractV2_bug.sol diff --git a/tests/check-upgradeability/contractV2_bug2.sol b/tests/tools/check-upgradeability/contractV2_bug2.sol similarity index 100% rename from tests/check-upgradeability/contractV2_bug2.sol rename to tests/tools/check-upgradeability/contractV2_bug2.sol diff --git a/tests/check-upgradeability/contractV2_struct.sol b/tests/tools/check-upgradeability/contractV2_struct.sol similarity index 100% rename from tests/check-upgradeability/contractV2_struct.sol rename to tests/tools/check-upgradeability/contractV2_struct.sol diff --git a/tests/check-upgradeability/contractV2_struct_bug.sol b/tests/tools/check-upgradeability/contractV2_struct_bug.sol similarity index 100% rename from tests/check-upgradeability/contractV2_struct_bug.sol rename to tests/tools/check-upgradeability/contractV2_struct_bug.sol diff --git a/tests/check-upgradeability/contract_initialization.sol b/tests/tools/check-upgradeability/contract_initialization.sol similarity index 100% rename from tests/check-upgradeability/contract_initialization.sol rename to tests/tools/check-upgradeability/contract_initialization.sol diff --git a/tests/check-upgradeability/contract_v1_var_init.sol b/tests/tools/check-upgradeability/contract_v1_var_init.sol similarity index 100% rename from tests/check-upgradeability/contract_v1_var_init.sol rename to tests/tools/check-upgradeability/contract_v1_var_init.sol diff --git a/tests/check-upgradeability/contract_v2_constant.sol b/tests/tools/check-upgradeability/contract_v2_constant.sol similarity index 100% rename from tests/check-upgradeability/contract_v2_constant.sol rename to tests/tools/check-upgradeability/contract_v2_constant.sol diff --git a/tests/check-upgradeability/proxy.sol b/tests/tools/check-upgradeability/proxy.sol similarity index 100% rename from tests/check-upgradeability/proxy.sol rename to tests/tools/check-upgradeability/proxy.sol diff --git a/tests/check-upgradeability/test_1.txt b/tests/tools/check-upgradeability/test_1.txt similarity index 100% rename from tests/check-upgradeability/test_1.txt rename to tests/tools/check-upgradeability/test_1.txt diff --git a/tests/check-upgradeability/test_10.txt b/tests/tools/check-upgradeability/test_10.txt similarity index 100% rename from tests/check-upgradeability/test_10.txt rename to tests/tools/check-upgradeability/test_10.txt diff --git a/tests/check-upgradeability/test_11.txt b/tests/tools/check-upgradeability/test_11.txt similarity index 100% rename from tests/check-upgradeability/test_11.txt rename to tests/tools/check-upgradeability/test_11.txt diff --git a/tests/check-upgradeability/test_12.txt b/tests/tools/check-upgradeability/test_12.txt similarity index 100% rename from tests/check-upgradeability/test_12.txt rename to tests/tools/check-upgradeability/test_12.txt diff --git a/tests/check-upgradeability/test_13.txt b/tests/tools/check-upgradeability/test_13.txt similarity index 100% rename from tests/check-upgradeability/test_13.txt rename to tests/tools/check-upgradeability/test_13.txt diff --git a/tests/check-upgradeability/test_2.txt b/tests/tools/check-upgradeability/test_2.txt similarity index 100% rename from tests/check-upgradeability/test_2.txt rename to tests/tools/check-upgradeability/test_2.txt diff --git a/tests/check-upgradeability/test_3.txt b/tests/tools/check-upgradeability/test_3.txt similarity index 100% rename from tests/check-upgradeability/test_3.txt rename to tests/tools/check-upgradeability/test_3.txt diff --git a/tests/check-upgradeability/test_4.txt b/tests/tools/check-upgradeability/test_4.txt similarity index 100% rename from tests/check-upgradeability/test_4.txt rename to tests/tools/check-upgradeability/test_4.txt diff --git a/tests/check-upgradeability/test_5.txt b/tests/tools/check-upgradeability/test_5.txt similarity index 100% rename from tests/check-upgradeability/test_5.txt rename to tests/tools/check-upgradeability/test_5.txt diff --git a/tests/check-upgradeability/test_6.txt b/tests/tools/check-upgradeability/test_6.txt similarity index 100% rename from tests/check-upgradeability/test_6.txt rename to tests/tools/check-upgradeability/test_6.txt diff --git a/tests/check-upgradeability/test_7.txt b/tests/tools/check-upgradeability/test_7.txt similarity index 100% rename from tests/check-upgradeability/test_7.txt rename to tests/tools/check-upgradeability/test_7.txt diff --git a/tests/check-upgradeability/test_8.txt b/tests/tools/check-upgradeability/test_8.txt similarity index 100% rename from tests/check-upgradeability/test_8.txt rename to tests/tools/check-upgradeability/test_8.txt diff --git a/tests/check-upgradeability/test_9.txt b/tests/tools/check-upgradeability/test_9.txt similarity index 100% rename from tests/check-upgradeability/test_9.txt rename to tests/tools/check-upgradeability/test_9.txt diff --git a/tests/flat/file1.sol b/tests/tools/flat/file1.sol similarity index 100% rename from tests/flat/file1.sol rename to tests/tools/flat/file1.sol diff --git a/tests/flat/file2.sol b/tests/tools/flat/file2.sol similarity index 100% rename from tests/flat/file2.sol rename to tests/tools/flat/file2.sol diff --git a/tests/test_read_storage.py b/tests/tools/read-storage/test_read_storage.py similarity index 96% rename from tests/test_read_storage.py rename to tests/tools/read-storage/test_read_storage.py index 7aec6ff407..64b1757115 100644 --- a/tests/test_read_storage.py +++ b/tests/tools/read-storage/test_read_storage.py @@ -14,8 +14,8 @@ from slither import Slither from slither.tools.read_storage import SlitherReadStorage -SLITHER_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -STORAGE_TEST_ROOT = os.path.join(SLITHER_ROOT, "tests", "storage-layout") +TOOLS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +STORAGE_TEST_ROOT = os.path.join(TOOLS_ROOT, "storage-layout") # pylint: disable=too-few-public-methods class GanacheInstance: diff --git a/tests/simil/test_1.txt b/tests/tools/simil/test_1.txt similarity index 100% rename from tests/simil/test_1.txt rename to tests/tools/simil/test_1.txt diff --git a/tests/using-for-global-collision/src/MyTypeA.sol b/tests/using-for-global-collision/src/MyTypeA.sol deleted file mode 100644 index dbb00faf20..0000000000 --- a/tests/using-for-global-collision/src/MyTypeA.sol +++ /dev/null @@ -1,2 +0,0 @@ -import "./MyTypeA/Type.sol"; -import "./MyTypeA/Math.sol"; \ No newline at end of file diff --git a/tests/using-for-global-collision/src/MyTypeA/Casting.sol b/tests/using-for-global-collision/src/MyTypeA/Casting.sol deleted file mode 100644 index c166436fe2..0000000000 --- a/tests/using-for-global-collision/src/MyTypeA/Casting.sol +++ /dev/null @@ -1,4 +0,0 @@ -import "./Type.sol"; -function unwrap(MyTypeA a) pure returns (int256) { - return MyTypeA.unwrap(a); -} \ No newline at end of file diff --git a/tests/using-for-global-collision/src/MyTypeA/Math.sol b/tests/using-for-global-collision/src/MyTypeA/Math.sol deleted file mode 100644 index 21f7c79251..0000000000 --- a/tests/using-for-global-collision/src/MyTypeA/Math.sol +++ /dev/null @@ -1,5 +0,0 @@ -import "./Type.sol"; - -function mul(MyTypeA a, MyTypeA b) pure returns (MyTypeA) { - return MyTypeA.wrap(MyTypeA.unwrap(a) * MyTypeA.unwrap(b)); -} diff --git a/tests/using-for-global-collision/src/MyTypeA/Type.sol b/tests/using-for-global-collision/src/MyTypeA/Type.sol deleted file mode 100644 index 0973c78692..0000000000 --- a/tests/using-for-global-collision/src/MyTypeA/Type.sol +++ /dev/null @@ -1,6 +0,0 @@ -import "./Casting.sol" as C; -import "./Math.sol" as M; - -type MyTypeA is int256; - -using {M.mul, C.unwrap} for MyTypeA global; \ No newline at end of file diff --git a/tests/using-for-global-collision/src/MyTypeB.sol b/tests/using-for-global-collision/src/MyTypeB.sol deleted file mode 100644 index 3ddde2ac65..0000000000 --- a/tests/using-for-global-collision/src/MyTypeB.sol +++ /dev/null @@ -1,2 +0,0 @@ -import "./MyTypeB/Type.sol"; -import "./MyTypeB/Math.sol"; \ No newline at end of file diff --git a/tests/using-for-global-collision/src/MyTypeB/Casting.sol b/tests/using-for-global-collision/src/MyTypeB/Casting.sol deleted file mode 100644 index c400a91123..0000000000 --- a/tests/using-for-global-collision/src/MyTypeB/Casting.sol +++ /dev/null @@ -1,4 +0,0 @@ -import "./Type.sol"; -function unwrap(MyTypeB a) pure returns (uint256) { - return MyTypeB.unwrap(a); -} \ No newline at end of file diff --git a/tests/using-for-global-collision/src/MyTypeB/Math.sol b/tests/using-for-global-collision/src/MyTypeB/Math.sol deleted file mode 100644 index 24ee1a5826..0000000000 --- a/tests/using-for-global-collision/src/MyTypeB/Math.sol +++ /dev/null @@ -1,6 +0,0 @@ -import "./Type.sol"; - -function mul(MyTypeB a, MyTypeB b) pure returns (MyTypeB) { - return MyTypeB.wrap(MyTypeB.unwrap(a) * MyTypeB.unwrap(b)); -} - diff --git a/tests/using-for-global-collision/src/MyTypeB/Type.sol b/tests/using-for-global-collision/src/MyTypeB/Type.sol deleted file mode 100644 index a66b65f5dc..0000000000 --- a/tests/using-for-global-collision/src/MyTypeB/Type.sol +++ /dev/null @@ -1,6 +0,0 @@ -import "./Casting.sol" as C; -import "./Math.sol" as M; - -type MyTypeB is uint256; - -using {M.mul, C.unwrap} for MyTypeB global; \ No newline at end of file diff --git a/tests/using-for-global-collision/src/Test.sol b/tests/using-for-global-collision/src/Test.sol deleted file mode 100644 index 013570048c..0000000000 --- a/tests/using-for-global-collision/src/Test.sol +++ /dev/null @@ -1,7 +0,0 @@ -import "./MyTypeB.sol"; - -contract UsingForGlobalTopLevelCollision { - function mulAndUnwrap(MyTypeB x, MyTypeB y) external pure returns (uint256 z) { - z = x.mul(y).unwrap(); - } -} \ No newline at end of file diff --git a/tests/utils.py b/tests/utils.py new file mode 100644 index 0000000000..1560cc7ce4 --- /dev/null +++ b/tests/utils.py @@ -0,0 +1,14 @@ +import inspect +from slither import Slither +from slither.detectors import all_detectors +from slither.detectors.abstract_detector import AbstractDetector + + +def _run_all_detectors(slither: Slither) -> None: + detectors = [getattr(all_detectors, name) for name in dir(all_detectors)] + detectors = [d for d in detectors if inspect.isclass(d) and issubclass(d, AbstractDetector)] + + for detector in detectors: + slither.register_detector(detector) + + slither.run_detectors() From 519ebda2bd277f502efca3fd18b649a4888ff27c Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Mon, 20 Mar 2023 16:10:38 -0500 Subject: [PATCH 08/41] update workflows --- .github/workflows/IR.yml | 2 +- .github/workflows/detectors.yml | 4 +--- .github/workflows/features.yml | 9 +-------- .github/workflows/parser.yml | 2 +- .github/workflows/read_storage.yml | 6 +----- 5 files changed, 5 insertions(+), 18 deletions(-) diff --git a/.github/workflows/IR.yml b/.github/workflows/IR.yml index 02a264f8ed..de2023ba94 100644 --- a/.github/workflows/IR.yml +++ b/.github/workflows/IR.yml @@ -48,4 +48,4 @@ jobs: - name: Test with pytest run: | - pytest tests/test_ssa_generation.py \ No newline at end of file + pytest tests/slithir/ \ No newline at end of file diff --git a/.github/workflows/detectors.yml b/.github/workflows/detectors.yml index 05e81275dd..adfcd038b4 100644 --- a/.github/workflows/detectors.yml +++ b/.github/workflows/detectors.yml @@ -38,8 +38,6 @@ jobs: - name: Install dependencies run: | pip install ".[dev]" - - solc-select use 0.7.3 --always-install - name: Test with pytest run: | - pytest tests/test_detectors.py + pytest tests/e2e/detectors/test_detectors.py diff --git a/.github/workflows/features.yml b/.github/workflows/features.yml index 2c112e0aa7..8f88b86dd2 100644 --- a/.github/workflows/features.yml +++ b/.github/workflows/features.yml @@ -39,7 +39,6 @@ jobs: run: | pip install ".[dev]" - solc-select use 0.8.0 --always-install cd tests/test_node_modules/ npm install hardhat @@ -47,10 +46,4 @@ jobs: - name: Test with pytest run: | - pytest tests/test_features.py - pytest tests/test_constant_folding.py - pytest tests/slithir/test_ternary_expressions.py - pytest tests/slithir/test_operation_reads.py - pytest tests/test_functions_ids.py - pytest tests/test_function.py - pytest tests/test_source_mapping.py + pytest tests/unit/ \ No newline at end of file diff --git a/.github/workflows/parser.yml b/.github/workflows/parser.yml index 7b2a9efc83..90c14eb0cf 100644 --- a/.github/workflows/parser.yml +++ b/.github/workflows/parser.yml @@ -46,4 +46,4 @@ jobs: - name: Test with pytest run: | - pytest tests/test_ast_parsing.py -n auto + pytest tests/e2e/solc_parsing/test_ast_parsing.py -n auto diff --git a/.github/workflows/read_storage.yml b/.github/workflows/read_storage.yml index b9ff687ffc..3b4c6a17c1 100644 --- a/.github/workflows/read_storage.yml +++ b/.github/workflows/read_storage.yml @@ -46,8 +46,4 @@ jobs: - name: Run slither-read-storage run: | - pytest tests/test_read_storage.py - - - name: Run storage layout tests - run: | - pytest tests/test_storage_layout.py + pytest tests/tools From 4d1f10e74591b05bbc4741f44eed8ac63057dc24 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Mon, 20 Mar 2023 23:16:26 -0500 Subject: [PATCH 09/41] correct detector artifacts --- ...cy-benign.sol.0.5.16.ReentrancyBenign.json | 1398 ++++++------- ...cy-benign.sol.0.6.11.ReentrancyBenign.json | 1778 ++++++++--------- ...ncy-benign.sol.0.7.6.ReentrancyBenign.json | 1432 ++++++------- .../dynamic_1.sol.0.5.16.IncorrectSolc.json | 6 +- .../dynamic_2.sol.0.5.16.IncorrectSolc.json | 6 +- .../dynamic_1.sol.0.6.11.IncorrectSolc.json | 6 +- .../dynamic_2.sol.0.6.11.IncorrectSolc.json | 20 +- .../dynamic_1.sol.0.7.6.IncorrectSolc.json | 20 +- .../dynamic_2.sol.0.7.6.IncorrectSolc.json | 6 +- ....sol.0.5.10.StorageSignedIntegerArray.json | 756 +------ ....sol.0.5.16.StorageSignedIntegerArray.json | 756 +------ ....UninitializedFunctionPtrsConstructor.json | 420 +--- 12 files changed, 2208 insertions(+), 4396 deletions(-) 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 index 667e6c92f6..6b0fc0322e 100644 --- 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 @@ -1,531 +1,5 @@ [ [ - { - "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": "01bde163c3436f90414f580ead28b7b0d652f74fdc84312f64c4fdf9f425628f", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, { "elements": [ { @@ -1439,20 +913,22 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 496, - "length": 135, + "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": [ - 24, - 25, - 26, - 27, - 28 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -1544,42 +1020,44 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad0()" } }, { "type": "node", - "name": "success = target.call()", + "name": "(success) = msg.sender.call()", "source_mapping": { - "start": 543, - "length": 33, + "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": [ - 25 + 17 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 496, - "length": 135, + "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": [ - 24, - 25, - 26, - 27, - 28 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -1671,7 +1149,7 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad0()" } } }, @@ -1681,37 +1159,39 @@ }, { "type": "node", - "name": "success = target.call()", + "name": "(success) = msg.sender.call()", "source_mapping": { - "start": 543, - "length": 33, + "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": [ - 25 + 17 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 46 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 496, - "length": 135, + "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": [ - 24, - 25, - 26, - 27, - 28 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -1803,7 +1283,7 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad0()" } } }, @@ -1815,14 +1295,14 @@ "type": "node", "name": "counter += 1", "source_mapping": { - "start": 612, + "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": [ - 27 + 21 ], "starting_column": 9, "ending_column": 21 @@ -1830,20 +1310,22 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad0", "source_mapping": { - "start": 496, - "length": 135, + "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": [ - 24, - 25, - 26, - 27, - 28 + 16, + 17, + 18, + 19, + 20, + 21, + 22 ], "starting_column": 5, "ending_column": 6 @@ -1935,7 +1417,7 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad0()" } } }, @@ -1945,10 +1427,10 @@ } } ], - "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": "5bc9d24aecf09e047b2ce2b3f7702daec3f28194eeb19cf372aebd60e4b83cb9", + "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" @@ -2709,25 +2191,288 @@ "starting_column": 1, "ending_column": 0 } - }, - "signature": "bad4(address)" + }, + "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": "externalCaller(target)", + "name": "ethSender(address(0))", "source_mapping": { - "start": 1064, - "length": 22, + "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": [ - 48 + 49 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 30 }, "type_specific_fields": { "parent": { @@ -2848,35 +2593,35 @@ }, { "type": "node", - "name": "address(target).call()", + "name": "address(target).call.value(1)()", "source_mapping": { - "start": 1387, - "length": 24, + "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": [ - 61 + 65 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "ethSender", "source_mapping": { - "start": 1329, - "length": 89, + "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": [ - 60, - 61, - 62 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -2968,7 +2713,7 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "ethSender(address)" } } }, @@ -2978,19 +2723,19 @@ }, { "type": "node", - "name": "ethSender(address(0))", + "name": "externalCaller(target)", "source_mapping": { - "start": 1096, - "length": 21, + "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": [ - 49 + 48 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 31 }, "type_specific_fields": { "parent": { @@ -3106,40 +2851,40 @@ } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "address(target).call.value(1)()", + "name": "address(target).call()", "source_mapping": { - "start": 1477, - "length": 33, + "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": [ - 65 + 61 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "externalCaller", "source_mapping": { - "start": 1424, - "length": 93, + "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": [ - 64, - 65, - 66 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -3231,7 +2976,7 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "externalCaller(address)" } } }, @@ -3241,19 +2986,19 @@ }, { "type": "node", - "name": "externalCaller(target)", + "name": "ethSender(address(0))", "source_mapping": { - "start": 1064, - "length": 22, + "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": [ - 48 + 49 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 30 }, "type_specific_fields": { "parent": { @@ -3374,35 +3119,168 @@ }, { "type": "node", - "name": "address(target).call()", + "name": "address(target).call.value(1)()", "source_mapping": { - "start": 1387, - "length": 24, + "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": [ - 61 + 65 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "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": 1329, - "length": 89, + "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": [ - 60, - 61, - 62 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -3494,48 +3372,46 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "variables_written", + "variable_name": "anotherVariableToChange" } }, { "type": "node", - "name": "ethSender(address(0))", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 1096, - "length": 21, + "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": [ - 49 + 69 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "varChanger", "source_mapping": { - "start": 1017, - "length": 172, + "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": [ - 47, - 48, - 49, - 50, - 51, - 52 + 68, + 69, + 70 ], "starting_column": 5, "ending_column": 6 @@ -3627,26 +3503,148 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "varChanger()" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "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": "address(target).call.value(1)()", + "name": "(success) = target.call()", "source_mapping": { - "start": 1477, + "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": [ - 65 + 25 ], "starting_column": 9, "ending_column": 42 @@ -3654,18 +3652,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "bad1", "source_mapping": { - "start": 1424, - "length": 93, + "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": [ - 64, - 65, - 66 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -3757,48 +3757,47 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "bad1(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "varChanger()", + "name": "(success) = target.call()", "source_mapping": { - "start": 1127, - "length": 12, + "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": [ - 50 + 25 ], "starting_column": 9, - "ending_column": 21 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad1", "source_mapping": { - "start": 1017, - "length": 172, + "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": [ - 47, - 48, - 49, - 50, - 51, - 52 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -3890,46 +3889,47 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad1(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "anotherVariableToChange ++", + "name": "counter += 1", "source_mapping": { - "start": 1563, - "length": 25, + "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": [ - 69 + 27 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "varChanger", + "name": "bad1", "source_mapping": { - "start": 1523, - "length": 72, + "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": [ - 68, - 69, - 70 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -4021,20 +4021,20 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "bad1(address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "variable_name": "counter" } } ], - "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", + "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" @@ -4158,7 +4158,7 @@ }, { "type": "node", - "name": "success = target.call()", + "name": "(success) = target.call()", "source_mapping": { "start": 684, "length": 33, @@ -4432,7 +4432,7 @@ }, { "type": "node", - "name": "success = target.call()", + "name": "(success) = target.call()", "source_mapping": { "start": 684, "length": 33, @@ -4843,10 +4843,10 @@ } } ], - "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", + "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": "f8646c83125ca7b793d7373531a89a1a2729354823bef56e778fd17c328440ff", + "id": "efb5fc52ea69459d644e5074daf0207502967de06e5b3cf876ae71a564d72d98", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" 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 index 6cf05ac899..3911f2b0bc 100644 --- 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 @@ -4,25 +4,21 @@ "elements": [ { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 637, - "length": 243, + "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": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -114,47 +110,43 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad4(address)" } }, { "type": "node", - "name": "success = target.call()", + "name": "externalCaller(target)", "source_mapping": { - "start": 684, - "length": 33, + "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": [ - 31 + 48 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 637, - "length": 243, + "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": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -246,7 +238,7 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad4(address)" } } }, @@ -256,42 +248,35 @@ }, { "type": "node", - "name": "address(target).call.value(1000)()", + "name": "address(target).call()", "source_mapping": { - "start": 754, - "length": 36, + "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": [ - 33 + 61 ], - "starting_column": 13, - "ending_column": 49 + "starting_column": 9, + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "externalCaller", "source_mapping": { - "start": 637, - "length": 243, + "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": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -383,52 +368,48 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "externalCaller(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "success = target.call()", + "name": "ethSender(address(0))", "source_mapping": { - "start": 684, - "length": 33, + "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": [ - 31 + 49 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 637, - "length": 243, + "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": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -520,52 +501,45 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "address(target).call.value(1000)()", + "name": "address(target).call.value(1)()", "source_mapping": { - "start": 754, - "length": 36, + "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": [ - 33 + 65 ], - "starting_column": 13, - "ending_column": 49 + "starting_column": 9, + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "ethSender", "source_mapping": { - "start": 637, - "length": 243, + "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": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -657,7 +631,7 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "ethSender(address)" } } }, @@ -667,42 +641,38 @@ }, { "type": "node", - "name": "counter += 1", + "name": "externalCaller(target)", "source_mapping": { - "start": 804, - "length": 12, + "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": [ - 34 + 48 ], - "starting_column": 13, - "ending_column": 25 + "starting_column": 9, + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 637, - "length": 243, + "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": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -794,293 +764,37 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "counter" + "underlying_type": "external_calls_sending_eth" } - } - ], - "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": "0da08e49d8779324ee3c6f0ea7fb1c4ac9a3b89e9cd60f9dc856730f747485bf", - "check": "reentrancy-benign", - "impact": "Low", - "confidence": "Medium" - }, - { - "elements": [ + }, { - "type": "function", - "name": "bad4", + "type": "node", + "name": "address(target).call()", "source_mapping": { - "start": 1017, - "length": 172, + "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": [ - 47, - 48, - 49, - 50, - 51, - 52 + 61 ], - "starting_column": 5, - "ending_column": 6 + "starting_column": 9, + "ending_column": 33 }, "type_specific_fields": { "parent": { - "type": "contract", - "name": "ReentrancyBenign", + "type": "function", + "name": "externalCaller", "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, + "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", @@ -1318,7 +1032,7 @@ } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { @@ -1453,19 +1167,19 @@ }, { "type": "node", - "name": "externalCaller(target)", + "name": "varChanger()", "source_mapping": { - "start": 1064, - "length": 22, + "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": [ - 48 + 50 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 21 }, "type_specific_fields": { "parent": { @@ -1581,40 +1295,41 @@ } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "variables_written", + "variable_name": "anotherVariableToChange" } }, { "type": "node", - "name": "address(target).call()", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 1387, - "length": 24, + "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": [ - 61 + 69 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "varChanger", "source_mapping": { - "start": 1329, - "length": 89, + "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": [ - 60, - 61, - 62 + 68, + 69, + 70 ], "starting_column": 5, "ending_column": 6 @@ -1706,48 +1421,169 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "varChanger()" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "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": "node", - "name": "ethSender(address(0))", + "type": "function", + "name": "bad3", "source_mapping": { - "start": 1096, - "length": 21, + "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": [ - 49 + 41, + 42, + 43, + 44, + 45 ], - "starting_column": 9, - "ending_column": 30 + "starting_column": 5, + "ending_column": 6 }, "type_specific_fields": { "parent": { - "type": "function", - "name": "bad4", + "type": "contract", + "name": "ReentrancyBenign", "source_mapping": { - "start": 1017, - "length": 172, + "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 + 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 @@ -1839,45 +1675,45 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad3(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "address(target).call.value(1)()", + "name": "address(target).call()", "source_mapping": { - "start": 1477, - "length": 33, + "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": [ - 65 + 61 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "externalCaller", "source_mapping": { - "start": 1424, - "length": 93, + "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": [ - 64, - 65, - 66 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -1969,7 +1805,7 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "externalCaller(address)" } } }, @@ -1979,38 +1815,37 @@ }, { "type": "node", - "name": "varChanger()", + "name": "externalCaller(target)", "source_mapping": { - "start": 1127, - "length": 12, + "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": [ - 50 + 42 ], "starting_column": 9, - "ending_column": 21 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad3", "source_mapping": { - "start": 1017, - "length": 172, + "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": [ - 47, - 48, - 49, - 50, - 51, - 52 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -2102,46 +1937,45 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad3(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "anotherVariableToChange ++", + "name": "address(target).call()", "source_mapping": { - "start": 1563, - "length": 25, + "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": [ - 69 + 61 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "varChanger", + "name": "externalCaller", "source_mapping": { - "start": 1523, - "length": 72, + "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": [ - 68, - 69, - 70 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -2233,169 +2067,178 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "externalCaller(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls_sending_eth" } - } - ], - "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", + "type": "node", + "name": "varChanger()", "source_mapping": { - "start": 886, - "length": 125, + "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": [ - 41, - 42, - 43, - 44, - 45 + 43 ], - "starting_column": 5, - "ending_column": 6 + "starting_column": 9, + "ending_column": 21 }, "type_specific_fields": { "parent": { - "type": "contract", - "name": "ReentrancyBenign", + "type": "function", + "name": "bad3", "source_mapping": { - "start": 28, - "length": 1569, + "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": [ - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - 18, - 19, - 20, - 21, - 22, - 23, - 24, - 25, - 26, - 27, - 28, - 29, - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39, - 40, 41, 42, 43, 44, - 45, - 46, - 47, - 48, - 49, - 50, - 51, - 52, - 53, - 54, - 55, - 56, - 57, - 58, - 59, - 60, - 61, - 62, - 63, - 64, - 65, - 66, - 67, - 68, - 69, - 70, - 71, - 72 + 45 ], - "starting_column": 1, - "ending_column": 0 + "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)" } - }, - "signature": "bad3(address)" + } + }, + "additional_fields": { + "underlying_type": "variables_written", + "variable_name": "anotherVariableToChange" } }, { "type": "node", - "name": "externalCaller(target)", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 933, - "length": 22, + "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": [ - 42 + 69 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "varChanger", "source_mapping": { - "start": 886, - "length": 125, + "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": [ - 41, - 42, - 43, - 44, - 45 + 68, + 69, + 70 ], "starting_column": 5, "ending_column": 6 @@ -2487,45 +2330,179 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "varChanger()" } } }, "additional_fields": { - "underlying_type": "external_calls" + "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": "address(target).call()", + "name": "(success) = target.call()", "source_mapping": { - "start": 1387, - "length": 24, + "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": [ - 61 + 31 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad2", "source_mapping": { - "start": 1329, - "length": 89, + "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": [ - 60, - 61, - 62 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -2617,47 +2594,52 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "externalCaller(target)", + "name": "address(target).call.value(1000)()", "source_mapping": { - "start": 933, - "length": 22, + "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": [ - 42 + 33 ], - "starting_column": 9, - "ending_column": 31 + "starting_column": 13, + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 886, - "length": 125, + "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": [ - 41, - 42, - 43, - 44, - 45 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -2749,45 +2731,52 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "address(target).call()", + "name": "(success) = target.call()", "source_mapping": { - "start": 1387, - "length": 24, + "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": [ - 61 + 31 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad2", "source_mapping": { - "start": 1329, - "length": 89, + "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": [ - 60, - 61, - 62 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -2879,7 +2868,7 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad2(address)" } } }, @@ -2889,37 +2878,42 @@ }, { "type": "node", - "name": "varChanger()", + "name": "address(target).call.value(1000)()", "source_mapping": { - "start": 965, - "length": 12, + "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": [ - 43 + 33 ], - "starting_column": 9, - "ending_column": 21 + "starting_column": 13, + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad2", "source_mapping": { - "start": 886, - "length": 125, + "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": [ - 41, - 42, - 43, - 44, - 45 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -3011,46 +3005,52 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "anotherVariableToChange ++", + "name": "counter += 1", "source_mapping": { - "start": 1563, - "length": 25, + "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": [ - 69 + 34 ], - "starting_column": 9, - "ending_column": 34 + "starting_column": 13, + "ending_column": 25 }, "type_specific_fields": { "parent": { "type": "function", - "name": "varChanger", + "name": "bad2", "source_mapping": { - "start": 1523, - "length": 72, + "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": [ - 68, - 69, - 70 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -3142,20 +3142,20 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "bad2(address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "variable_name": "counter" } } ], - "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", + "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" @@ -3164,20 +3164,20 @@ "elements": [ { "type": "function", - "name": "bad5", + "name": "bad1", "source_mapping": { - "start": 1195, - "length": 128, + "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": [ - 54, - 55, - 56, - 57, - 58 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -3269,42 +3269,42 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad1(address)" } }, { "type": "node", - "name": "ethSender(address(0))", + "name": "(success) = target.call()", "source_mapping": { - "start": 1242, - "length": 21, + "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": [ - 55 + 25 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad1", "source_mapping": { - "start": 1195, - "length": 128, + "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": [ - 54, - 55, - 56, - 57, - 58 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -3396,7 +3396,7 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad1(address)" } } }, @@ -3406,16 +3406,16 @@ }, { "type": "node", - "name": "address(target).call.value(1)()", + "name": "(success) = target.call()", "source_mapping": { - "start": 1477, + "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": [ - 65 + 25 ], "starting_column": 9, "ending_column": 42 @@ -3423,18 +3423,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "bad1", "source_mapping": { - "start": 1424, - "length": 93, + "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": [ - 64, - 65, - 66 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -3526,7 +3528,7 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "bad1(address)" } } }, @@ -3536,168 +3538,37 @@ }, { "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 ++", + "name": "counter += 1", "source_mapping": { - "start": 1563, - "length": 25, + "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": [ - 69 + 27 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "varChanger", + "name": "bad1", "source_mapping": { - "start": 1523, - "length": 72, + "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": [ - 68, - 69, - 70 + 24, + 25, + 26, + 27, + 28 ], "starting_column": 5, "ending_column": 6 @@ -3789,20 +3660,20 @@ "ending_column": 0 } }, - "signature": "varChanger()" + "signature": "bad1(address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "anotherVariableToChange" + "variable_name": "counter" } } ], - "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", + "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" @@ -3811,20 +3682,20 @@ "elements": [ { "type": "function", - "name": "bad1", + "name": "bad5", "source_mapping": { - "start": 496, - "length": 135, + "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": [ - 24, - 25, - 26, - 27, - 28 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -3916,42 +3787,42 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad5(address)" } }, { "type": "node", - "name": "success = target.call()", + "name": "ethSender(address(0))", "source_mapping": { - "start": 543, - "length": 33, + "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": [ - 25 + 55 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad5", "source_mapping": { - "start": 496, - "length": 135, + "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": [ - 24, - 25, - 26, - 27, - 28 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -4043,7 +3914,7 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad5(address)" } } }, @@ -4053,16 +3924,16 @@ }, { "type": "node", - "name": "success = target.call()", + "name": "address(target).call.value(1)()", "source_mapping": { - "start": 543, + "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": [ - 25 + 65 ], "starting_column": 9, "ending_column": 42 @@ -4070,20 +3941,18 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "ethSender", "source_mapping": { - "start": 496, - "length": 135, + "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": [ - 24, - 25, - 26, - 27, - 28 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -4175,7 +4044,7 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "ethSender(address)" } } }, @@ -4185,16 +4054,16 @@ }, { "type": "node", - "name": "counter += 1", + "name": "varChanger()", "source_mapping": { - "start": 612, + "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": [ - 27 + 56 ], "starting_column": 9, "ending_column": 21 @@ -4202,20 +4071,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad1", + "name": "bad5", "source_mapping": { - "start": 496, - "length": 135, + "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": [ - 24, - 25, - 26, - 27, - 28 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -4307,20 +4176,151 @@ "ending_column": 0 } }, - "signature": "bad1(address)" + "signature": "bad5(address)" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "counter" + "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.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": "9208d9cb360276f3b472fd5579c705474230dae3a72a84771cef223b2e99b3be", + "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" @@ -4441,7 +4441,7 @@ }, { "type": "node", - "name": "success = msg.sender.call()", + "name": "(success) = msg.sender.call()", "source_mapping": { "start": 368, "length": 37, @@ -4575,7 +4575,7 @@ }, { "type": "node", - "name": "success = msg.sender.call()", + "name": "(success) = msg.sender.call()", "source_mapping": { "start": 368, "length": 37, @@ -4843,10 +4843,10 @@ } } ], - "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", + "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": "b9fcdada71a3c1500775d28268e10c0e035d5f9229ef2854137620432d1c98dc", + "id": "d36181ad9dbae588e0ab4f4689a9675a8afd9cf3f8a5f49ab6fbe3ee46016712", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" 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 index 2102ceed77..301b607564 100644 --- 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 @@ -4,20 +4,20 @@ "elements": [ { "type": "function", - "name": "bad5", + "name": "bad3", "source_mapping": { - "start": 1188, - "length": 128, + "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": [ - 54, - 55, - 56, - 57, - 58 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -109,42 +109,42 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad3(address)" } }, { "type": "node", - "name": "ethSender(address(0))", + "name": "externalCaller(target)", "source_mapping": { - "start": 1235, - "length": 21, + "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": [ - 55 + 42 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad3", "source_mapping": { - "start": 1188, - "length": 128, + "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": [ - 54, - 55, - 56, - 57, - 58 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -236,7 +236,7 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad3(address)" } } }, @@ -248,33 +248,33 @@ "type": "node", "name": "address(target).call()", "source_mapping": { - "start": 1470, - "length": 33, + "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": [ - 65 + 61 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "externalCaller", "source_mapping": { - "start": 1417, - "length": 93, + "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": [ - 64, - 65, - 66 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -366,7 +366,7 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "externalCaller(address)" } } }, @@ -376,37 +376,37 @@ }, { "type": "node", - "name": "ethSender(address(0))", + "name": "externalCaller(target)", "source_mapping": { - "start": 1235, - "length": 21, + "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": [ - 55 + 42 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad3", "source_mapping": { - "start": 1188, - "length": 128, + "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": [ - 54, - 55, - 56, - 57, - 58 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -498,7 +498,7 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad3(address)" } } }, @@ -510,33 +510,33 @@ "type": "node", "name": "address(target).call()", "source_mapping": { - "start": 1470, - "length": 33, + "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": [ - 65 + 61 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "externalCaller", "source_mapping": { - "start": 1417, - "length": 93, + "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": [ - 64, - 65, - 66 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -628,7 +628,7 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "externalCaller(address)" } } }, @@ -640,14 +640,14 @@ "type": "node", "name": "varChanger()", "source_mapping": { - "start": 1266, + "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": [ - 56 + 43 ], "starting_column": 9, "ending_column": 21 @@ -655,20 +655,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad5", + "name": "bad3", "source_mapping": { - "start": 1188, - "length": 128, + "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": [ - 54, - 55, - 56, - 57, - 58 + 41, + 42, + 43, + 44, + 45 ], "starting_column": 5, "ending_column": 6 @@ -760,7 +760,7 @@ "ending_column": 0 } }, - "signature": "bad5(address)" + "signature": "bad3(address)" } } }, @@ -901,10 +901,10 @@ } } ], - "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() (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()](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": "1ae9af101075c35f02db1d683e93595ef26cf79370519b6d52d03f47c5e790ba", + "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" @@ -913,21 +913,25 @@ "elements": [ { "type": "function", - "name": "bad4", + "name": "bad2", "source_mapping": { - "start": 1010, - "length": 172, + "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": [ - 47, - 48, - 49, - 50, - 51, - 52 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -1019,43 +1023,47 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad2(address)" } }, { "type": "node", - "name": "externalCaller(target)", + "name": "(success) = target.call()", "source_mapping": { - "start": 1057, - "length": 22, + "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": [ - 48 + 31 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad2", "source_mapping": { - "start": 1010, - "length": 172, + "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": [ - 47, - 48, - 49, - 50, - 51, - 52 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -1147,7 +1155,7 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad2(address)" } } }, @@ -1157,35 +1165,42 @@ }, { "type": "node", - "name": "address(target).call()", + "name": "address(target).call{value: 1000}()", "source_mapping": { - "start": 1380, - "length": 24, + "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": [ - 61 + 33 ], - "starting_column": 9, - "ending_column": 33 + "starting_column": 13, + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad2", "source_mapping": { - "start": 1322, - "length": 89, + "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": [ - 60, - 61, - 62 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -1277,48 +1292,52 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "ethSender(address(0))", + "name": "(success) = target.call()", "source_mapping": { - "start": 1089, - "length": 21, + "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": [ - 49 + 31 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad2", "source_mapping": { - "start": 1010, - "length": 172, + "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": [ - 47, - 48, - 49, - 50, - 51, - 52 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -1410,45 +1429,52 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "address(target).call()", + "name": "address(target).call{value: 1000}()", "source_mapping": { - "start": 1470, - "length": 33, + "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": [ - 65 + 33 ], - "starting_column": 9, - "ending_column": 42 + "starting_column": 13, + "ending_column": 49 }, "type_specific_fields": { "parent": { "type": "function", - "name": "ethSender", + "name": "bad2", "source_mapping": { - "start": 1417, - "length": 93, + "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": [ - 64, - 65, - 66 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -1540,7 +1566,7 @@ "ending_column": 0 } }, - "signature": "ethSender(address)" + "signature": "bad2(address)" } } }, @@ -1550,38 +1576,42 @@ }, { "type": "node", - "name": "externalCaller(target)", + "name": "counter += 1", "source_mapping": { - "start": 1057, - "length": 22, + "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": [ - 48 + 34 ], - "starting_column": 9, - "ending_column": 31 + "starting_column": 13, + "ending_column": 25 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad2", "source_mapping": { - "start": 1010, - "length": 172, + "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": [ - 47, - 48, - 49, - 50, - 51, - 52 + 30, + 31, + 32, + 33, + 34, + 35, + 36, + 37, + 38, + 39 ], "starting_column": 5, "ending_column": 6 @@ -1673,45 +1703,169 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad2(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "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": "address(target).call()", + "name": "ethSender(address(0))", "source_mapping": { - "start": 1380, - "length": 24, + "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": [ - 61 + 55 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "bad5", "source_mapping": { - "start": 1322, - "length": 89, + "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": [ - 60, - 61, - 62 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -1803,178 +1957,45 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "bad5(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "ethSender(address(0))", + "name": "address(target).call{value: 1}()", "source_mapping": { - "start": 1089, - "length": 21, + "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": [ - 49 + 65 ], "starting_column": 9, - "ending_column": 30 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "ethSender", "source_mapping": { - "start": 1010, - "length": 172, + "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": [ - 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": 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 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -2078,14 +2099,14 @@ "type": "node", "name": "varChanger()", "source_mapping": { - "start": 1120, + "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": [ - 50 + 56 ], "starting_column": 9, "ending_column": 21 @@ -2093,21 +2114,20 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad4", + "name": "bad5", "source_mapping": { - "start": 1010, - "length": 172, + "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": [ - 47, - 48, - 49, - 50, - 51, - 52 + 54, + 55, + 56, + 57, + 58 ], "starting_column": 5, "ending_column": 6 @@ -2199,7 +2219,7 @@ "ending_column": 0 } }, - "signature": "bad4(address)" + "signature": "bad5(address)" } } }, @@ -2340,10 +2360,10 @@ } } ], - "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() (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()](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": "4aea41e92ea308d2b853acb9757e4ed9b40972b63e140c9ee24f6a8dca6ebbb5", + "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" @@ -2352,20 +2372,21 @@ "elements": [ { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 879, - "length": 125, + "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": [ - 41, - 42, - 43, - 44, - 45 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -2457,21 +2478,21 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad4(address)" } }, { "type": "node", "name": "externalCaller(target)", "source_mapping": { - "start": 926, + "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": [ - 42 + 48 ], "starting_column": 9, "ending_column": 31 @@ -2479,20 +2500,21 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 879, - "length": 125, + "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": [ - 41, - 42, - 43, - 44, - 45 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -2584,7 +2606,7 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad4(address)" } } }, @@ -2724,37 +2746,38 @@ }, { "type": "node", - "name": "externalCaller(target)", + "name": "ethSender(address(0))", "source_mapping": { - "start": 926, - "length": 22, + "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": [ - 42 + 49 ], "starting_column": 9, - "ending_column": 31 + "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad3", + "name": "bad4", "source_mapping": { - "start": 879, - "length": 125, + "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": [ - 41, - 42, - 43, - 44, - 45 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -2846,45 +2869,45 @@ "ending_column": 0 } }, - "signature": "bad3(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "external_calls" } }, { "type": "node", - "name": "address(target).call()", + "name": "address(target).call{value: 1}()", "source_mapping": { - "start": 1380, - "length": 24, + "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": [ - 61 + 65 ], "starting_column": 9, - "ending_column": 33 + "ending_column": 42 }, "type_specific_fields": { "parent": { "type": "function", - "name": "externalCaller", + "name": "ethSender", "source_mapping": { - "start": 1322, - "length": 89, + "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": [ - 60, - 61, - 62 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -2976,7 +2999,7 @@ "ending_column": 0 } }, - "signature": "externalCaller(address)" + "signature": "ethSender(address)" } } }, @@ -2986,168 +3009,38 @@ }, { "type": "node", - "name": "varChanger()", + "name": "externalCaller(target)", "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, + "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": [ - 69 + 48 ], "starting_column": 9, - "ending_column": 34 + "ending_column": 31 }, "type_specific_fields": { "parent": { "type": "function", - "name": "varChanger", + "name": "bad4", "source_mapping": { - "start": 1516, - "length": 72, + "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": [ - 68, - 69, - 70 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -3161,257 +3054,123 @@ "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 + "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)" } - }, - "signature": "bad2(address)" + } + }, + "additional_fields": { + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "success = target.call()", + "name": "address(target).call()", "source_mapping": { - "start": 677, - "length": 33, + "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": [ - 31 + 61 ], "starting_column": 9, - "ending_column": 42 + "ending_column": 33 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "externalCaller", "source_mapping": { - "start": 630, - "length": 243, + "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": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 + 60, + 61, + 62 ], "starting_column": 5, "ending_column": 6 @@ -3503,52 +3262,48 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "externalCaller(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "address(target).call()", + "name": "ethSender(address(0))", "source_mapping": { - "start": 747, - "length": 36, + "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": [ - 33 + 49 ], - "starting_column": 13, - "ending_column": 49 + "starting_column": 9, + "ending_column": 30 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 630, - "length": 243, + "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": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -3640,26 +3395,26 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "external_calls" + "underlying_type": "external_calls_sending_eth" } }, { "type": "node", - "name": "success = target.call()", + "name": "address(target).call{value: 1}()", "source_mapping": { - "start": 677, + "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": [ - 31 + 65 ], "starting_column": 9, "ending_column": 42 @@ -3667,25 +3422,18 @@ "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "ethSender", "source_mapping": { - "start": 630, - "length": 243, + "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": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 + 64, + 65, + 66 ], "starting_column": 5, "ending_column": 6 @@ -3777,7 +3525,7 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "ethSender(address)" } } }, @@ -3787,42 +3535,38 @@ }, { "type": "node", - "name": "address(target).call()", + "name": "varChanger()", "source_mapping": { - "start": 747, - "length": 36, + "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": [ - 33 + 50 ], - "starting_column": 13, - "ending_column": 49 + "starting_column": 9, + "ending_column": 21 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "bad4", "source_mapping": { - "start": 630, - "length": 243, + "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": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 + 47, + 48, + 49, + 50, + 51, + 52 ], "starting_column": 5, "ending_column": 6 @@ -3914,52 +3658,46 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "bad4(address)" } } }, "additional_fields": { - "underlying_type": "external_calls_sending_eth" + "underlying_type": "variables_written", + "variable_name": "anotherVariableToChange" } }, { "type": "node", - "name": "counter += 1", + "name": "anotherVariableToChange ++", "source_mapping": { - "start": 797, - "length": 12, + "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": [ - 34 + 69 ], - "starting_column": 13, - "ending_column": 25 + "starting_column": 9, + "ending_column": 34 }, "type_specific_fields": { "parent": { "type": "function", - "name": "bad2", + "name": "varChanger", "source_mapping": { - "start": 630, - "length": 243, + "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": [ - 30, - 31, - 32, - 33, - 34, - 35, - 36, - 37, - 38, - 39 + 68, + 69, + 70 ], "starting_column": 5, "ending_column": 6 @@ -4051,20 +3789,20 @@ "ending_column": 0 } }, - "signature": "bad2(address)" + "signature": "varChanger()" } } }, "additional_fields": { "underlying_type": "variables_written", - "variable_name": "counter" + "variable_name": "anotherVariableToChange" } } ], - "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() (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()](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": "8a0d0595c5a15f49c181e0fccddebd7783f10f9c4243813eec0c4c99fe5d031a", + "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" @@ -4183,7 +3921,7 @@ }, { "type": "node", - "name": "success = target.call()", + "name": "(success) = target.call()", "source_mapping": { "start": 536, "length": 33, @@ -4315,7 +4053,7 @@ }, { "type": "node", - "name": "success = target.call()", + "name": "(success) = target.call()", "source_mapping": { "start": 536, "length": 33, @@ -4579,10 +4317,10 @@ } } ], - "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", + "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": "9507741c95b0ae83311d2ff96548ef2c8313536e6e2eaf3eb8acb35d421421fc", + "id": "dc9321d7bad1a38e7ec848d79ac28b7ebdeb537afe5a753d05308f9575acaa53", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" @@ -4703,7 +4441,7 @@ }, { "type": "node", - "name": "success = msg.sender.call()", + "name": "(success) = msg.sender.call()", "source_mapping": { "start": 361, "length": 37, @@ -4837,7 +4575,7 @@ }, { "type": "node", - "name": "success = msg.sender.call()", + "name": "(success) = msg.sender.call()", "source_mapping": { "start": 361, "length": 37, @@ -5105,10 +4843,10 @@ } } ], - "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", + "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": "ad5954811d108e6a5b88057caf9f10ee42091132f546342bce1e6a4d99bcfad4", + "id": "df1508d1cd0b80a365e0b0d1c11033a99ff078a905637351fb74c53292a98582", "check": "reentrancy-benign", "impact": "Low", "confidence": "Medium" 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 index b957668f09..0cfee492fc 100644 --- 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 @@ -38,10 +38,10 @@ }, { "elements": [], - "description": "solc-0.5.15 is not recommended for deployment\n", - "markdown": "solc-0.5.15 is not recommended for deployment\n", + "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": "f968b391557275cb3d691dfc65ba75d1e189238446ae8e37060e0a9af12a48c8", + "id": "94ddf430efb860e471a768a108c851848fa998e8a2c489c6fb23ed71d3ef4b09", "check": "solc-version", "impact": "Informational", "confidence": "High" 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 index 6e4b0e0697..cb5878f1f3 100644 --- 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 @@ -41,10 +41,10 @@ }, { "elements": [], - "description": "solc-0.5.0 is not recommended for deployment\n", - "markdown": "solc-0.5.0 is not recommended for deployment\n", + "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": "21539c75e015cde5bdae3a77b39cf5d17be24d0b87a05da1d6b5d5020b7aef22", + "id": "94ddf430efb860e471a768a108c851848fa998e8a2c489c6fb23ed71d3ef4b09", "check": "solc-version", "impact": "Informational", "confidence": "High" 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 index b3e1d84205..d8e0ab3f9a 100644 --- 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 @@ -2,10 +2,10 @@ [ { "elements": [], - "description": "solc-0.6.10 is not recommended for deployment\n", - "markdown": "solc-0.6.10 is not recommended for deployment\n", + "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": "b2c2f26d29a163098673e6dcb2342e00d94996a84040bac62f7dbb2f20fa8f28", + "id": "bafd522d637977886f038e619ad47c1987efedc6c4c24515e6e27b23585535bd", "check": "solc-version", "impact": "Informational", "confidence": "High" 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 index 09d9bab0fe..c1f83b58ec 100644 --- 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 @@ -1,15 +1,5 @@ [ [ - { - "elements": [], - "description": "solc-0.6.0 is not recommended for deployment\n", - "markdown": "solc-0.6.0 is not recommended for deployment\n", - "first_markdown_element": "", - "id": "7740810b9fcfaf3efb5f0190072038a7d60dee014bb62485850611033bd7a5f0", - "check": "solc-version", - "impact": "Informational", - "confidence": "High" - }, { "elements": [ { @@ -48,6 +38,16 @@ "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.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 index 15bebfe029..18bc52bc7c 100644 --- 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 @@ -1,15 +1,5 @@ [ [ - { - "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" - }, { "elements": [ { @@ -45,6 +35,16 @@ "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 index 6e78655a1b..d20b1d58de 100644 --- 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 @@ -41,10 +41,10 @@ }, { "elements": [], - "description": "solc-0.7.0 is not recommended for deployment\n", - "markdown": "solc-0.7.0 is not recommended for deployment\n", + "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": "a25ebaec6910184d3cb938f8638d2eeeb46edf25c444b137264555e9743d67bd", + "id": "ddb8ee36d9dd69b14eab702506268f8f9ef3283777d042e197277e29407b386e", "check": "solc-version", "impact": "Informational", "confidence": "High" 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 index 8e6c6b2d95..5825bcacc6 100644 --- 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 @@ -1,757 +1,3 @@ [ - [ - { - "elements": [ - { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "good3", - "source_mapping": { - "start": 1823, - "length": 267, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "good3(int256[3])" - } - }, - { - "type": "node", - "name": "intArray = userArray", - "source_mapping": { - "start": 1964, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "good3", - "source_mapping": { - "start": 1823, - "length": 267, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "good3(int256[3])" - } - } - } - } - ], - "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#3-45) \n\t- Function A.good3(int256[3]) (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#35-37)\n\t\t- intArray = userArray (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#36) has a storage signed integer array assignment\n", - "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.good3(int256[3])](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L35-L37)\n\t\t- [intArray = userArray](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L36) has a storage signed integer array assignment\n", - "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45", - "id": "3948ae5e1f85032e07e32463f54e7ae97c3c144e228797680240014ea725f94d", - "check": "storage-array", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 601, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int128[3])" - } - }, - { - "type": "node", - "name": "intArray = userArray", - "source_mapping": { - "start": 746, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 601, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int128[3])" - } - } - } - } - ], - "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#3-45) \n\t- Function A.bad1(int128[3]) (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#15-17)\n\t\t- intArray = userArray (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#16) has a storage signed integer array assignment\n", - "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.bad1(int128[3])](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L15-L17)\n\t\t- [intArray = userArray](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L16) has a storage signed integer array assignment\n", - "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45", - "id": "631aef0a5d3c7759d489e7ceb2e9721bc723e92fddfb55fbb6d16837104dee99", - "check": "storage-array", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 355, - "length": 132, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "intArray = (- 1,- 2,- 3)", - "source_mapping": { - "start": 384, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 355, - "length": 132, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#3-45) \n\t- Function A.bad0() (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#10-12)\n\t\t- intArray = (- 1,- 2,- 3) (tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#11) has a storage signed integer array assignment\n", - "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.bad0()](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L10-L12)\n\t\t- [intArray = (- 1,- 2,- 3)](tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L11) has a storage signed integer array assignment\n", - "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol#L3-L45", - "id": "6b15bf486dbb4488d1a70536ede22b1ede312e7d03479557fb43c125b82f1f92", - "check": "storage-array", - "impact": "High", - "confidence": "Medium" - } - ] + [] ] \ 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 index 043d0e6072..5825bcacc6 100644 --- 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 @@ -1,757 +1,3 @@ [ - [ - { - "elements": [ - { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "good3", - "source_mapping": { - "start": 1823, - "length": 267, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "good3(int256[3])" - } - }, - { - "type": "node", - "name": "intArray = userArray", - "source_mapping": { - "start": 1964, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 36 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "good3", - "source_mapping": { - "start": 1823, - "length": 267, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 35, - 36, - 37 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "good3(int256[3])" - } - } - } - } - ], - "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#3-45) \n\t- Function A.good3(int256[3]) (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#35-37)\n\t\t- intArray = userArray (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#36) has a storage signed integer array assignment\n", - "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.good3(int256[3])](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L35-L37)\n\t\t- [intArray = userArray](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L36) has a storage signed integer array assignment\n", - "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45", - "id": "0109ebb10600cb7b9f9f3bb49a6e72e29b9a1bcac9011f8a2fcf8b8cf1be1ccc", - "check": "storage-array", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 355, - "length": 132, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - }, - { - "type": "node", - "name": "intArray = (- 1,- 2,- 3)", - "source_mapping": { - "start": 384, - "length": 23, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 11 - ], - "starting_column": 5, - "ending_column": 28 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad0", - "source_mapping": { - "start": 355, - "length": 132, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 10, - 11, - 12 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad0()" - } - } - } - } - ], - "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#3-45) \n\t- Function A.bad0() (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#10-12)\n\t\t- intArray = (- 1,- 2,- 3) (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#11) has a storage signed integer array assignment\n", - "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.bad0()](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L10-L12)\n\t\t- [intArray = (- 1,- 2,- 3)](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L11) has a storage signed integer array assignment\n", - "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45", - "id": "79c53128e44603485fdf502967c92aa6ad8fb1af52343835a44655c101218f75", - "check": "storage-array", - "impact": "High", - "confidence": "Medium" - }, - { - "elements": [ - { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 601, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int128[3])" - } - }, - { - "type": "node", - "name": "intArray = userArray", - "source_mapping": { - "start": 746, - "length": 20, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 16 - ], - "starting_column": 5, - "ending_column": 25 - }, - "type_specific_fields": { - "parent": { - "type": "function", - "name": "bad1", - "source_mapping": { - "start": 601, - "length": 170, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "is_dependency": false, - "lines": [ - 15, - 16, - 17 - ], - "starting_column": 3, - "ending_column": 4 - }, - "type_specific_fields": { - "parent": { - "type": "contract", - "name": "A", - "source_mapping": { - "start": 25, - "length": 2256, - "filename_relative": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_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 - ], - "starting_column": 1, - "ending_column": 2 - } - }, - "signature": "bad1(int128[3])" - } - } - } - } - ], - "description": "Contract A (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#3-45) \n\t- Function A.bad1(int128[3]) (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#15-17)\n\t\t- intArray = userArray (tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#16) has a storage signed integer array assignment\n", - "markdown": "Contract [A](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45) \n\t- Function [A.bad1(int128[3])](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L15-L17)\n\t\t- [intArray = userArray](tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L16) has a storage signed integer array assignment\n", - "first_markdown_element": "tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol#L3-L45", - "id": "ff29abd9707859837debdb3c3bc5261fbc5146642353819d17853729a516faf9", - "check": "storage-array", - "impact": "High", - "confidence": "Medium" - } - ] + [] ] \ 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 index 7c5dbf4e39..5825bcacc6 100644 --- 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 @@ -1,421 +1,3 @@ [ - [ - { - "elements": [ - { - "type": "contract", - "name": "bad1", - "source_mapping": { - "start": 178, - "length": 306, - "filename_relative": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#11-18) \n\t b(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L11-L18) \n\t [b(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L11-L18", - "id": "228f34e5afc4d016e11b5752458d38b91139d50f5a56ae8062851f0e9e5f07ef", - "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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#3-9) \n\t a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L3-L9) \n\t [a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L3-L9", - "id": "b2be27583a5fd04b192d5a5428e96df2cac54b72fd914a43c8ebc1dcc4a951b7", - "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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#20-29) \n\t s.a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L20-L29) \n\t [s.a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L20-L29", - "id": "b6898ad74de2e13efc8ff8891e303245c76f660dc0d956453ed7ee752dc4368d", - "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.5.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol", - "filename_absolute": "/GENERIC_PATH", - "filename_short": "tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#31-42) \n\t a(10) (tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L31-L42) \n\t [a(10)](tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/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.16/uninitialized_function_ptr_constructor.sol#L31-L42", - "id": "b6f0736636abbfe3c14c9667b604f2966377c50d6565f40db4e19a7f5a466dbd", - "check": "uninitialized-fptr-cst", - "impact": "Low", - "confidence": "High" - } - ] + [] ] \ No newline at end of file From b0e589ec4f52542a1725ae51ca5e146943aeb742 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Mon, 20 Mar 2023 23:20:02 -0500 Subject: [PATCH 10/41] fix compilation tests --- .github/workflows/compilation.yml | 48 +++++++++++++++++++++++++++++++ .github/workflows/features.yml | 5 ---- 2 files changed, 48 insertions(+), 5 deletions(-) create mode 100644 .github/workflows/compilation.yml diff --git a/.github/workflows/compilation.yml b/.github/workflows/compilation.yml new file mode 100644 index 0000000000..aebe3c692e --- /dev/null +++ b/.github/workflows/compilation.yml @@ -0,0 +1,48 @@ +--- +name: Compilation tests + +defaults: + run: + # To load bashrc + shell: bash -ieo pipefail {0} + +on: + pull_request: + branches: [master, dev] + schedule: + # run CI every day even if no PRs/merges occur + - cron: '0 12 * * *' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + build: + name: Compilation tests + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: [ubuntu-latest, windows-2022] + + steps: + - name: Checkout Code + uses: actions/checkout@v3 + + - name: Set up Python 3.8 + uses: actions/setup-python@v3 + with: + python-version: 3.8 + + - name: Install dependencies + run: | + pip install ".[dev]" + + pushd tests/e2e/compilation/test_data/test_node_modules/ + npm install hardhat + popd + + - name: Test with pytest + run: | + pytest tests/e2e/compilation/ \ No newline at end of file diff --git a/.github/workflows/features.yml b/.github/workflows/features.yml index 8f88b86dd2..b148b261ab 100644 --- a/.github/workflows/features.yml +++ b/.github/workflows/features.yml @@ -39,11 +39,6 @@ jobs: run: | pip install ".[dev]" - - cd tests/test_node_modules/ - npm install hardhat - cd ../.. - - name: Test with pytest run: | pytest tests/unit/ \ No newline at end of file From 97b91a0eacd68e071a98093a970a50713f73129b Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Mon, 20 Mar 2023 23:27:09 -0500 Subject: [PATCH 11/41] fix file CI and slither-read-storage test paths --- .github/workflows/IR.yml | 2 +- .github/workflows/features.yml | 2 +- .../read-storage/test_data}/StorageLayout.abi | 0 .../read-storage/test_data}/StorageLayout.bin | 0 .../test_data}/TEST_storage_layout.json | 0 .../test_data/storage_layout-0.8.10.sol | 74 +++++++++++++++++++ tests/tools/read-storage/test_read_storage.py | 16 ++-- 7 files changed, 84 insertions(+), 10 deletions(-) rename tests/{unit/core/test_data/storage_layout => tools/read-storage/test_data}/StorageLayout.abi (100%) rename tests/{unit/core/test_data/storage_layout => tools/read-storage/test_data}/StorageLayout.bin (100%) rename tests/{unit/core/test_data/storage_layout => tools/read-storage/test_data}/TEST_storage_layout.json (100%) create mode 100644 tests/tools/read-storage/test_data/storage_layout-0.8.10.sol diff --git a/.github/workflows/IR.yml b/.github/workflows/IR.yml index de2023ba94..454b221857 100644 --- a/.github/workflows/IR.yml +++ b/.github/workflows/IR.yml @@ -48,4 +48,4 @@ jobs: - name: Test with pytest run: | - pytest tests/slithir/ \ No newline at end of file + pytest tests/unit/slithir/ \ No newline at end of file diff --git a/.github/workflows/features.yml b/.github/workflows/features.yml index b148b261ab..06034fa941 100644 --- a/.github/workflows/features.yml +++ b/.github/workflows/features.yml @@ -41,4 +41,4 @@ jobs: - name: Test with pytest run: | - pytest tests/unit/ \ No newline at end of file + pytest tests/unit/core/ \ No newline at end of file diff --git a/tests/unit/core/test_data/storage_layout/StorageLayout.abi b/tests/tools/read-storage/test_data/StorageLayout.abi similarity index 100% rename from tests/unit/core/test_data/storage_layout/StorageLayout.abi rename to tests/tools/read-storage/test_data/StorageLayout.abi diff --git a/tests/unit/core/test_data/storage_layout/StorageLayout.bin b/tests/tools/read-storage/test_data/StorageLayout.bin similarity index 100% rename from tests/unit/core/test_data/storage_layout/StorageLayout.bin rename to tests/tools/read-storage/test_data/StorageLayout.bin diff --git a/tests/unit/core/test_data/storage_layout/TEST_storage_layout.json b/tests/tools/read-storage/test_data/TEST_storage_layout.json similarity index 100% rename from tests/unit/core/test_data/storage_layout/TEST_storage_layout.json rename to tests/tools/read-storage/test_data/TEST_storage_layout.json diff --git a/tests/tools/read-storage/test_data/storage_layout-0.8.10.sol b/tests/tools/read-storage/test_data/storage_layout-0.8.10.sol new file mode 100644 index 0000000000..28d1428eb4 --- /dev/null +++ b/tests/tools/read-storage/test_data/storage_layout-0.8.10.sol @@ -0,0 +1,74 @@ +// overwrite abi and bin: +// solc tests/storage-layout/storage_layout-0.8.10.sol --abi --bin -o tests/storage-layout --overwrite +contract StorageLayout { + uint248 packedUint = 1; + bool packedBool = true; + + struct PackedStruct { + bool b; + uint248 a; + } + PackedStruct _packedStruct = PackedStruct(packedBool, packedUint); + + mapping (uint => PackedStruct) mappingPackedStruct; + mapping (address => mapping (uint => PackedStruct)) deepMappingPackedStruct; + mapping (address => mapping (uint => bool)) deepMappingElementaryTypes; + mapping (address => PackedStruct[]) mappingDynamicArrayOfStructs; + + address _address; + string _string = "slither-read-storage"; + uint8 packedUint8 = 8; + bytes8 packedBytes = "aaaaaaaa"; + + enum Enum { + a, + b, + c + } + Enum _enumA = Enum.a; + Enum _enumB = Enum.b; + Enum _enumC = Enum.c; + + uint256[3] fixedArray; + uint256[3][] dynamicArrayOfFixedArrays; + uint[][3] fixedArrayofDynamicArrays; + uint[][] multidimensionalArray; + PackedStruct[] dynamicArrayOfStructs; + PackedStruct[3] fixedArrayOfStructs; + + function store() external { + require(_address == address(0)); + _address = msg.sender; + + mappingPackedStruct[packedUint] = _packedStruct; + + deepMappingPackedStruct[_address][packedUint] = _packedStruct; + + deepMappingElementaryTypes[_address][1] = true; + deepMappingElementaryTypes[_address][2] = true; + + fixedArray = [1, 2, 3]; + + dynamicArrayOfFixedArrays.push(fixedArray); + dynamicArrayOfFixedArrays.push([4, 5, 6]); + + fixedArrayofDynamicArrays[0].push(7); + fixedArrayofDynamicArrays[1].push(8); + fixedArrayofDynamicArrays[1].push(9); + fixedArrayofDynamicArrays[2].push(10); + fixedArrayofDynamicArrays[2].push(11); + fixedArrayofDynamicArrays[2].push(12); + + multidimensionalArray.push([13]); + multidimensionalArray.push([14, 15]); + multidimensionalArray.push([16, 17, 18]); + + dynamicArrayOfStructs.push(_packedStruct); + dynamicArrayOfStructs.push(PackedStruct(false, 10)); + fixedArrayOfStructs[0] = _packedStruct; + fixedArrayOfStructs[1] = PackedStruct(false, 10); + + mappingDynamicArrayOfStructs[_address].push(dynamicArrayOfStructs[0]); + mappingDynamicArrayOfStructs[_address].push(dynamicArrayOfStructs[1]); + } +} diff --git a/tests/tools/read-storage/test_read_storage.py b/tests/tools/read-storage/test_read_storage.py index 64b1757115..9d18f6c8a6 100644 --- a/tests/tools/read-storage/test_read_storage.py +++ b/tests/tools/read-storage/test_read_storage.py @@ -4,6 +4,7 @@ import shutil import subprocess from time import sleep +from pathlib import Path from typing import Generator import pytest @@ -14,8 +15,7 @@ from slither import Slither from slither.tools.read_storage import SlitherReadStorage -TOOLS_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -STORAGE_TEST_ROOT = os.path.join(TOOLS_ROOT, "storage-layout") +TEST_DATA_DIR = Path(__file__).resolve().parent / "test_data" # pylint: disable=too-few-public-methods class GanacheInstance: @@ -93,15 +93,15 @@ def deploy_contract(w3, ganache, contract_bin, contract_abi) -> Contract: @pytest.mark.usefixtures("web3", "ganache") def test_read_storage(web3, ganache) -> None: assert web3.is_connected() - bin_path = os.path.join(STORAGE_TEST_ROOT, "StorageLayout.bin") - abi_path = os.path.join(STORAGE_TEST_ROOT, "StorageLayout.abi") + bin_path = Path(TEST_DATA_DIR, "StorageLayout.bin").as_posix() + abi_path = Path(TEST_DATA_DIR, "StorageLayout.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(os.path.join(STORAGE_TEST_ROOT, "storage_layout-0.8.10.sol")) + sl = Slither(Path(TEST_DATA_DIR, "storage_layout-0.8.10.sol").as_posix()) contracts = sl.contracts srs = SlitherReadStorage(contracts, 100) @@ -110,12 +110,12 @@ def test_read_storage(web3, ganache) -> None: srs.get_all_storage_variables() srs.get_storage_layout() srs.walk_slot_info(srs.get_slot_values) - with open("storage_layout.json", "w", encoding="utf-8") as file: + actual_file = Path(TEST_DATA_DIR, "storage_layout.json").as_posix() + with open(actual_file, "w", encoding="utf-8") as file: slot_infos_json = srs.to_json() json.dump(slot_infos_json, file, indent=4) - expected_file = os.path.join(STORAGE_TEST_ROOT, "TEST_storage_layout.json") - actual_file = os.path.join(SLITHER_ROOT, "storage_layout.json") + expected_file = Path(TEST_DATA_DIR, "TEST_storage_layout.json").as_posix() with open(expected_file, "r", encoding="utf8") as f: expected = json.load(f) From 4c6d3aee2b169190cdc575cfa61a660967778e0f Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Mon, 20 Mar 2023 23:36:08 -0500 Subject: [PATCH 12/41] fix script paths --- scripts/ci_test_cli.sh | 6 +++--- scripts/ci_test_erc.sh | 2 +- scripts/ci_test_printers.sh | 2 +- tests/e2e/compilation/test_resolution.py | 2 +- .../config/{config => test_json_config}/slither.config.json | 0 tests/e2e/config/{config => test_json_config}/test.sol | 0 6 files changed, 6 insertions(+), 6 deletions(-) rename tests/e2e/config/{config => test_json_config}/slither.config.json (100%) rename tests/e2e/config/{config => test_json_config}/test.sol (100%) diff --git a/scripts/ci_test_cli.sh b/scripts/ci_test_cli.sh index e35bf3ff54..08d9de836b 100755 --- a/scripts/ci_test_cli.sh +++ b/scripts/ci_test_cli.sh @@ -4,17 +4,17 @@ solc-select use 0.7.0 -if ! slither "tests/config/test.sol" --solc-ast --no-fail-pedantic; then +if ! slither "tests/e2e/config/test_json_config/test.sol" --solc-ast --no-fail-pedantic; then echo "--solc-ast failed" exit 1 fi -if ! slither "tests/config/test.sol" --solc-disable-warnings --no-fail-pedantic; then +if ! slither "tests/e2e/config/test_json_config/test.sol" --solc-disable-warnings --no-fail-pedantic; then echo "--solc-disable-warnings failed" exit 1 fi -if ! slither "tests/config/test.sol" --disable-color --no-fail-pedantic; then +if ! slither "tests/e2e/config/test_json_config/test.sol" --disable-color --no-fail-pedantic; then echo "--disable-color failed" exit 1 fi diff --git a/scripts/ci_test_erc.sh b/scripts/ci_test_erc.sh index ce9a623636..ebc59475a2 100755 --- a/scripts/ci_test_erc.sh +++ b/scripts/ci_test_erc.sh @@ -2,7 +2,7 @@ ### Test slither-check-erc -DIR_TESTS="tests/check-erc" +DIR_TESTS="tests/tools/check-erc" solc-select use 0.5.0 slither-check-erc "$DIR_TESTS/erc20.sol" ERC20 > test_1.txt 2>&1 diff --git a/scripts/ci_test_printers.sh b/scripts/ci_test_printers.sh index f6eaf0fc84..61994b337d 100755 --- a/scripts/ci_test_printers.sh +++ b/scripts/ci_test_printers.sh @@ -2,7 +2,7 @@ ### Test printer -cd tests/ast-parsing/compile || exit +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" diff --git a/tests/e2e/compilation/test_resolution.py b/tests/e2e/compilation/test_resolution.py index 738887045c..4b50b07374 100644 --- a/tests/e2e/compilation/test_resolution.py +++ b/tests/e2e/compilation/test_resolution.py @@ -20,7 +20,7 @@ def test_node_modules() -> None: # hardhat must have been installed in tests/test_node_modules # For the CI its done through the github action config - slither = Slither(TEST_DATA_DIR, "test_node_modules") + slither = Slither(Path(TEST_DATA_DIR, "test_node_modules").as_posix()) _run_all_detectors(slither) diff --git a/tests/e2e/config/config/slither.config.json b/tests/e2e/config/test_json_config/slither.config.json similarity index 100% rename from tests/e2e/config/config/slither.config.json rename to tests/e2e/config/test_json_config/slither.config.json diff --git a/tests/e2e/config/config/test.sol b/tests/e2e/config/test_json_config/test.sol similarity index 100% rename from tests/e2e/config/config/test.sol rename to tests/e2e/config/test_json_config/test.sol From 512499327478678f4a70fbb1110b27aff1b332cb Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Thu, 23 Mar 2023 15:58:40 -0500 Subject: [PATCH 13/41] fix path filtering test location --- scripts/ci_test_path_filtering.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100644 => 100755 scripts/ci_test_path_filtering.sh diff --git a/scripts/ci_test_path_filtering.sh b/scripts/ci_test_path_filtering.sh old mode 100644 new mode 100755 index fb2a18842e..d7a2a9833d --- a/scripts/ci_test_path_filtering.sh +++ b/scripts/ci_test_path_filtering.sh @@ -3,7 +3,7 @@ ### Test path filtering across POSIX and Windows solc-select use 0.8.0 -slither "tests/test_path_filtering/test_path_filtering.sol" --config "tests/test_path_filtering/slither.config.json" > "output.txt" 2>&1 +slither "tests/e2e/config/test_path_filtering/test_path_filtering.sol" --config "tests/e2e/config/test_path_filtering/slither.config.json" > "output.txt" 2>&1 if ! grep -q "0 result(s) found" "output.txt" then From f460d1e07b5e567a882e55c2ba58fbf16044a757 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Thu, 23 Mar 2023 16:02:51 -0500 Subject: [PATCH 14/41] move code generation tests to utils' tests --- tests/{ => unit/utils}/test_code_generation.py | 10 ++++------ .../test_data}/code_generation/CodeGeneration.sol | 0 .../test_data}/code_generation/TEST_generated_code.sol | 0 3 files changed, 4 insertions(+), 6 deletions(-) rename tests/{ => unit/utils}/test_code_generation.py (59%) rename tests/{ => unit/utils/test_data}/code_generation/CodeGeneration.sol (100%) rename tests/{ => unit/utils/test_data}/code_generation/TEST_generated_code.sol (100%) diff --git a/tests/test_code_generation.py b/tests/unit/utils/test_code_generation.py similarity index 59% rename from tests/test_code_generation.py rename to tests/unit/utils/test_code_generation.py index 13d1c8fb0f..6794896340 100644 --- a/tests/test_code_generation.py +++ b/tests/unit/utils/test_code_generation.py @@ -1,5 +1,4 @@ -import os - +from pathlib import Path from solc_select import solc_select from slither import Slither @@ -7,17 +6,16 @@ generate_interface, ) -SLITHER_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -CODE_TEST_ROOT = os.path.join(SLITHER_ROOT, "tests", "code_generation") +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) - sl = Slither(os.path.join(CODE_TEST_ROOT, "CodeGeneration.sol")) + sl = Slither(Path(TEST_DATA_DIR, "CodeGeneration.sol").as_posix()) actual = generate_interface(sl.get_contract_from_name("TestContract")[0]) - expected_path = os.path.join(CODE_TEST_ROOT, "TEST_generated_code.sol") + expected_path = Path(TEST_DATA_DIR, "TEST_generated_code.sol").as_posix() with open(expected_path, "r", encoding="utf-8") as file: expected = file.read() diff --git a/tests/code_generation/CodeGeneration.sol b/tests/unit/utils/test_data/code_generation/CodeGeneration.sol similarity index 100% rename from tests/code_generation/CodeGeneration.sol rename to tests/unit/utils/test_data/code_generation/CodeGeneration.sol diff --git a/tests/code_generation/TEST_generated_code.sol b/tests/unit/utils/test_data/code_generation/TEST_generated_code.sol similarity index 100% rename from tests/code_generation/TEST_generated_code.sol rename to tests/unit/utils/test_data/code_generation/TEST_generated_code.sol From 9a062453b78dd3a8557d5dccf8bfa721955bdbb9 Mon Sep 17 00:00:00 2001 From: alpharush <0xalpharush@protonmail.com> Date: Thu, 23 Mar 2023 16:38:34 -0500 Subject: [PATCH 15/41] use artifacts to speed up detector tests --- .github/actions/upload-coverage/action.yml | 30 +++++ .github/workflows/test.yml | 107 ++++++++++++++++++ .../storage_ABIEncoderV2_array.sol-0.4.25.zip | Bin 0 -> 10150 bytes .../storage_ABIEncoderV2_array.sol-0.5.10.zip | Bin 0 -> 10810 bytes .../storage_ABIEncoderV2_array.sol-0.5.9.zip | Bin 0 -> 10804 bytes ...arbitrary_send_erc20_permit.sol-0.4.25.zip | Bin 0 -> 6650 bytes ...arbitrary_send_erc20_permit.sol-0.5.16.zip | Bin 0 -> 6676 bytes ...arbitrary_send_erc20_permit.sol-0.6.11.zip | Bin 0 -> 6739 bytes .../arbitrary_send_erc20_permit.sol-0.7.6.zip | Bin 0 -> 6657 bytes .../arbitrary_send_erc20_permit.sol-0.8.0.zip | Bin 0 -> 8706 bytes .../arbitrary_send_erc20.sol-0.4.25.zip | Bin 0 -> 6593 bytes .../arbitrary_send_erc20.sol-0.5.16.zip | Bin 0 -> 6648 bytes .../arbitrary_send_erc20.sol-0.6.11.zip | Bin 0 -> 6632 bytes .../0.7.6/arbitrary_send_erc20.sol-0.7.6.zip | Bin 0 -> 6506 bytes .../0.8.0/arbitrary_send_erc20.sol-0.8.0.zip | Bin 0 -> 7796 bytes ...trary_send_erc20_inheritance.sol-0.8.0.zip | Bin 0 -> 2885 bytes .../0.4.25/arbitrary_send_eth.sol-0.4.25.zip | Bin 0 -> 3670 bytes .../0.5.16/arbitrary_send_eth.sol-0.5.16.zip | Bin 0 -> 3660 bytes .../0.6.11/arbitrary_send_eth.sol-0.6.11.zip | Bin 0 -> 3698 bytes .../0.7.6/arbitrary_send_eth.sol-0.7.6.zip | Bin 0 -> 3614 bytes .../0.4.25/array_by_reference.sol-0.4.25.zip | Bin 0 -> 4876 bytes .../0.5.16/array_by_reference.sol-0.5.16.zip | Bin 0 -> 4928 bytes .../0.6.11/array_by_reference.sol-0.6.11.zip | Bin 0 -> 4838 bytes .../0.7.6/array_by_reference.sol-0.7.6.zip | Bin 0 -> 4741 bytes .../inline_assembly_contract.sol-0.4.25.zip | Bin 0 -> 2333 bytes .../inline_assembly_library.sol-0.4.25.zip | Bin 0 -> 3681 bytes .../inline_assembly_contract.sol-0.5.16.zip | Bin 0 -> 2368 bytes .../inline_assembly_library.sol-0.5.16.zip | Bin 0 -> 3959 bytes .../inline_assembly_contract.sol-0.6.11.zip | Bin 0 -> 2547 bytes .../inline_assembly_library.sol-0.6.11.zip | Bin 0 -> 4049 bytes .../inline_assembly_contract.sol-0.7.6.zip | Bin 0 -> 2505 bytes .../inline_assembly_library.sol-0.7.6.zip | Bin 0 -> 3978 bytes .../0.4.25/assert_state_change.sol-0.4.25.zip | Bin 0 -> 3203 bytes .../0.5.16/assert_state_change.sol-0.5.16.zip | Bin 0 -> 3205 bytes .../0.6.11/assert_state_change.sol-0.6.11.zip | Bin 0 -> 3231 bytes .../0.7.6/assert_state_change.sol-0.7.6.zip | Bin 0 -> 3156 bytes .../backdoor/0.4.25/backdoor.sol-0.4.25.zip | Bin 0 -> 1508 bytes .../backdoor/0.5.16/backdoor.sol-0.5.16.zip | Bin 0 -> 1497 bytes .../backdoor/0.6.11/backdoor.sol-0.6.11.zip | Bin 0 -> 1508 bytes .../backdoor/0.7.6/backdoor.sol-0.7.6.zip | Bin 0 -> 1475 bytes .../boolean-constant-misuse.sol-0.4.25.zip | Bin 0 -> 3382 bytes .../boolean-constant-misuse.sol-0.5.16.zip | Bin 0 -> 3391 bytes .../boolean-constant-misuse.sol-0.6.11.zip | Bin 0 -> 3413 bytes .../boolean-constant-misuse.sol-0.7.6.zip | Bin 0 -> 3349 bytes .../boolean-constant-equality.sol-0.4.25.zip | Bin 0 -> 2974 bytes .../boolean-constant-equality.sol-0.5.16.zip | Bin 0 -> 3001 bytes .../boolean-constant-equality.sol-0.6.11.zip | Bin 0 -> 2993 bytes .../boolean-constant-equality.sol-0.7.6.zip | Bin 0 -> 2925 bytes .../multiple_calls_in_loop.sol-0.4.25.zip | Bin 0 -> 4685 bytes .../multiple_calls_in_loop.sol-0.5.16.zip | Bin 0 -> 5282 bytes .../multiple_calls_in_loop.sol-0.6.11.zip | Bin 0 -> 5051 bytes .../multiple_calls_in_loop.sol-0.7.6.zip | Bin 0 -> 4905 bytes .../const_state_variables.sol-0.4.25.zip | Bin 0 -> 5391 bytes .../const_state_variables.sol-0.5.16.zip | Bin 0 -> 5583 bytes .../const_state_variables.sol-0.6.11.zip | Bin 0 -> 6688 bytes .../0.7.6/const_state_variables.sol-0.7.6.zip | Bin 0 -> 6585 bytes .../0.8.0/const_state_variables.sol-0.8.0.zip | Bin 0 -> 8339 bytes .../0.4.25/constant.sol-0.4.25.zip | Bin 0 -> 2093 bytes .../0.5.16/constant.sol-0.5.16.zip | Bin 0 -> 1865 bytes .../0.6.11/constant.sol-0.6.11.zip | Bin 0 -> 1905 bytes .../0.7.6/constant.sol-0.7.6.zip | Bin 0 -> 1828 bytes .../0.4.25/constant.sol-0.4.25.zip | Bin 0 -> 2091 bytes .../0.5.16/constant.sol-0.5.16.zip | Bin 0 -> 1867 bytes .../0.6.11/constant.sol-0.6.11.zip | Bin 0 -> 1911 bytes .../0.7.6/constant.sol-0.7.6.zip | Bin 0 -> 1829 bytes .../array_length_assignment.sol-0.4.25.zip | Bin 0 -> 3744 bytes .../array_length_assignment.sol-0.5.16.zip | Bin 0 -> 3760 bytes .../controlled_delegatecall.sol-0.4.25.zip | Bin 0 -> 3471 bytes .../controlled_delegatecall.sol-0.5.16.zip | Bin 0 -> 4085 bytes .../controlled_delegatecall.sol-0.6.11.zip | Bin 0 -> 3653 bytes .../controlled_delegatecall.sol-0.7.6.zip | Bin 0 -> 3577 bytes ...e_costly_operations_in_loop.sol-0.4.25.zip | Bin 0 -> 4913 bytes ...e_costly_operations_in_loop.sol-0.5.16.zip | Bin 0 -> 4854 bytes ...e_costly_operations_in_loop.sol-0.6.11.zip | Bin 0 -> 4923 bytes ...le_costly_operations_in_loop.sol-0.7.6.zip | Bin 0 -> 4780 bytes .../HighCyclomaticComplexity.sol-0.8.16.zip | Bin 0 -> 1996 bytes .../LowCyclomaticComplexity.sol-0.8.16.zip | Bin 0 -> 2398 bytes .../dead-code/0.8.0/dead-code.sol-0.8.0.zip | Bin 0 -> 2054 bytes .../0.4.25/delegatecall_loop.sol-0.4.25.zip | Bin 0 -> 4460 bytes .../0.5.16/delegatecall_loop.sol-0.5.16.zip | Bin 0 -> 4968 bytes .../0.6.11/delegatecall_loop.sol-0.6.11.zip | Bin 0 -> 4542 bytes .../0.7.6/delegatecall_loop.sol-0.7.6.zip | Bin 0 -> 4432 bytes .../0.8.0/delegatecall_loop.sol-0.8.0.zip | Bin 0 -> 5917 bytes .../0.4.25/deprecated_calls.sol-0.4.25.zip | Bin 0 -> 1628 bytes .../divide_before_multiply.sol-0.4.25.zip | Bin 0 -> 1751 bytes .../divide_before_multiply.sol-0.5.16.zip | Bin 0 -> 1781 bytes .../divide_before_multiply.sol-0.6.11.zip | Bin 0 -> 1776 bytes .../divide_before_multiply.sol-0.7.6.zip | Bin 0 -> 1728 bytes .../permit_domain_collision.sol-0.4.25.zip | Bin 0 -> 11762 bytes ..._domain_state_var_collision.sol-0.4.25.zip | Bin 0 -> 11587 bytes ...it_domain_wrong_return_type.sol-0.4.25.zip | Bin 0 -> 11720 bytes .../permit_domain_collision.sol-0.5.16.zip | Bin 0 -> 11912 bytes ..._domain_state_var_collision.sol-0.5.16.zip | Bin 0 -> 11723 bytes ...it_domain_wrong_return_type.sol-0.5.16.zip | Bin 0 -> 11875 bytes .../permit_domain_collision.sol-0.6.11.zip | Bin 0 -> 11837 bytes ..._domain_state_var_collision.sol-0.6.11.zip | Bin 0 -> 11564 bytes ...it_domain_wrong_return_type.sol-0.6.11.zip | Bin 0 -> 11776 bytes .../permit_domain_collision.sol-0.7.6.zip | Bin 0 -> 11652 bytes ...t_domain_state_var_collision.sol-0.7.6.zip | Bin 0 -> 11393 bytes ...mit_domain_wrong_return_type.sol-0.7.6.zip | Bin 0 -> 11592 bytes .../permit_domain_collision.sol-0.8.0.zip | Bin 0 -> 15631 bytes ...t_domain_state_var_collision.sol-0.8.0.zip | Bin 0 -> 16931 bytes ...mit_domain_wrong_return_type.sol-0.8.0.zip | Bin 0 -> 17269 bytes .../0.4.25/erc20_indexed.sol-0.4.25.zip | Bin 0 -> 2819 bytes .../0.5.16/erc20_indexed.sol-0.5.16.zip | Bin 0 -> 2830 bytes .../0.6.11/erc20_indexed.sol-0.6.11.zip | Bin 0 -> 2919 bytes .../0.7.6/erc20_indexed.sol-0.7.6.zip | Bin 0 -> 2856 bytes .../incorrect_erc20_interface.sol-0.4.25.zip | Bin 0 -> 1696 bytes .../incorrect_erc20_interface.sol-0.5.16.zip | Bin 0 -> 1658 bytes .../incorrect_erc20_interface.sol-0.6.11.zip | Bin 0 -> 1762 bytes .../incorrect_erc20_interface.sol-0.7.6.zip | Bin 0 -> 1720 bytes .../incorrect_erc721_interface.sol-0.4.25.zip | Bin 0 -> 2411 bytes .../incorrect_erc721_interface.sol-0.5.16.zip | Bin 0 -> 2411 bytes .../incorrect_erc721_interface.sol-0.6.11.zip | Bin 0 -> 2551 bytes .../incorrect_erc721_interface.sol-0.7.6.zip | Bin 0 -> 2492 bytes ...ssing_events_access_control.sol-0.4.25.zip | Bin 0 -> 4372 bytes ...ssing_events_access_control.sol-0.5.16.zip | Bin 0 -> 4405 bytes ...ssing_events_access_control.sol-0.6.11.zip | Bin 0 -> 4500 bytes ...issing_events_access_control.sol-0.7.6.zip | Bin 0 -> 4410 bytes .../missing_events_arithmetic.sol-0.4.25.zip | Bin 0 -> 5099 bytes .../missing_events_arithmetic.sol-0.5.16.zip | Bin 0 -> 5113 bytes .../missing_events_arithmetic.sol-0.6.11.zip | Bin 0 -> 5204 bytes .../missing_events_arithmetic.sol-0.7.6.zip | Bin 0 -> 5100 bytes .../0.4.25/external_function.sol-0.4.25.zip | Bin 0 -> 6262 bytes .../0.4.25/external_function_2.sol-0.4.25.zip | Bin 0 -> 3780 bytes .../0.4.25/external_function_3.sol-0.4.25.zip | Bin 0 -> 2248 bytes .../0.5.16/external_function.sol-0.5.16.zip | Bin 0 -> 6456 bytes .../0.5.16/external_function_2.sol-0.5.16.zip | Bin 0 -> 3750 bytes .../0.5.16/external_function_3.sol-0.5.16.zip | Bin 0 -> 5517 bytes .../0.6.11/external_function.sol-0.6.11.zip | Bin 0 -> 6263 bytes .../0.6.11/external_function_2.sol-0.6.11.zip | Bin 0 -> 3841 bytes .../0.6.11/external_function_3.sol-0.6.11.zip | Bin 0 -> 5441 bytes .../0.7.6/external_function.sol-0.7.6.zip | Bin 0 -> 6094 bytes .../0.7.6/external_function_2.sol-0.7.6.zip | Bin 0 -> 3785 bytes .../0.7.6/external_function_3.sol-0.7.6.zip | Bin 0 -> 5472 bytes ...nction_init_state_variables.sol-0.4.25.zip | Bin 0 -> 4287 bytes ...nction_init_state_variables.sol-0.5.16.zip | Bin 0 -> 4215 bytes ...nction_init_state_variables.sol-0.6.11.zip | Bin 0 -> 4327 bytes ...unction_init_state_variables.sol-0.7.6.zip | Bin 0 -> 4249 bytes .../immut_state_variables.sol-0.4.25.zip | Bin 0 -> 5631 bytes .../immut_state_variables.sol-0.5.16.zip | Bin 0 -> 6141 bytes .../immut_state_variables.sol-0.6.11.zip | Bin 0 -> 7044 bytes .../0.7.6/immut_state_variables.sol-0.7.6.zip | Bin 0 -> 6937 bytes .../0.8.0/immut_state_variables.sol-0.8.0.zip | Bin 0 -> 9452 bytes .../0.4.25/incorrect_equality.sol-0.4.25.zip | Bin 0 -> 8253 bytes .../0.5.16/incorrect_equality.sol-0.5.16.zip | Bin 0 -> 8205 bytes .../0.6.11/incorrect_equality.sol-0.6.11.zip | Bin 0 -> 8374 bytes .../0.7.6/incorrect_equality.sol-0.7.6.zip | Bin 0 -> 8243 bytes .../0.4.25/modifier_default.sol-0.4.25.zip | Bin 0 -> 2880 bytes .../0.5.16/modifier_default.sol-0.5.16.zip | Bin 0 -> 2895 bytes .../0.6.11/modifier_default.sol-0.6.11.zip | Bin 0 -> 2917 bytes .../0.7.6/modifier_default.sol-0.7.6.zip | Bin 0 -> 2848 bytes .../shift_parameter_mixup.sol-0.4.25.zip | Bin 0 -> 1383 bytes .../shift_parameter_mixup.sol-0.5.16.zip | Bin 0 -> 1377 bytes .../shift_parameter_mixup.sol-0.6.11.zip | Bin 0 -> 1502 bytes .../0.7.6/shift_parameter_mixup.sol-0.7.6.zip | Bin 0 -> 1468 bytes .../invalid_unary_expression.sol-0.4.25.zip | Bin 0 -> 2235 bytes .../0.4.25/locked_ether.sol-0.4.25.zip | Bin 0 -> 3075 bytes .../0.5.16/locked_ether.sol-0.5.16.zip | Bin 0 -> 3056 bytes .../0.6.11/locked_ether.sol-0.6.11.zip | Bin 0 -> 3063 bytes .../0.7.6/locked_ether.sol-0.7.6.zip | Bin 0 -> 2989 bytes .../0.4.25/low_level_calls.sol-0.4.25.zip | Bin 0 -> 2563 bytes .../0.5.16/low_level_calls.sol-0.5.16.zip | Bin 0 -> 2777 bytes .../0.6.11/low_level_calls.sol-0.6.11.zip | Bin 0 -> 2692 bytes .../0.7.6/low_level_calls.sol-0.7.6.zip | Bin 0 -> 2565 bytes .../0.4.25/MappingDeletion.sol-0.4.25.zip | Bin 0 -> 4458 bytes .../0.5.16/MappingDeletion.sol-0.5.16.zip | Bin 0 -> 4505 bytes .../0.6.11/MappingDeletion.sol-0.6.11.zip | Bin 0 -> 4468 bytes .../0.7.6/MappingDeletion.sol-0.7.6.zip | Bin 0 -> 4364 bytes .../unimplemented_interface.sol-0.4.25.zip | Bin 0 -> 1675 bytes .../unimplemented_interface.sol-0.5.16.zip | Bin 0 -> 1666 bytes .../unimplemented_interface.sol-0.6.11.zip | Bin 0 -> 1678 bytes .../unimplemented_interface.sol-0.7.6.zip | Bin 0 -> 1634 bytes ...ing_zero_address_validation.sol-0.4.25.zip | Bin 0 -> 5256 bytes ...ing_zero_address_validation.sol-0.5.16.zip | Bin 0 -> 5583 bytes ...ing_zero_address_validation.sol-0.6.11.zip | Bin 0 -> 5599 bytes ...sing_zero_address_validation.sol-0.7.6.zip | Bin 0 -> 5498 bytes .../0.4.25/msg_value_loop.sol-0.4.25.zip | Bin 0 -> 3537 bytes .../0.5.16/msg_value_loop.sol-0.5.16.zip | Bin 0 -> 3834 bytes .../0.6.11/msg_value_loop.sol-0.6.11.zip | Bin 0 -> 3668 bytes .../0.7.6/msg_value_loop.sol-0.7.6.zip | Bin 0 -> 3589 bytes .../0.8.0/msg_value_loop.sol-0.8.0.zip | Bin 0 -> 4644 bytes ...ultiple_constructor_schemes.sol-0.4.22.zip | Bin 0 -> 1851 bytes .../0.4.25/naming_convention.sol-0.4.25.zip | Bin 0 -> 3543 bytes ...arning_for_public_constants.sol-0.4.25.zip | Bin 0 -> 1373 bytes .../0.5.16/naming_convention.sol-0.5.16.zip | Bin 0 -> 3551 bytes ...arning_for_public_constants.sol-0.5.16.zip | Bin 0 -> 1382 bytes .../0.6.11/naming_convention.sol-0.6.11.zip | Bin 0 -> 3560 bytes ...arning_for_public_constants.sol-0.6.11.zip | Bin 0 -> 1402 bytes .../0.7.6/naming_convention.sol-0.7.6.zip | Bin 0 -> 3476 bytes ...warning_for_public_constants.sol-0.7.6.zip | Bin 0 -> 1357 bytes .../0.4.25/pragma.0.4.25.sol-0.4.25.zip | Bin 0 -> 1088 bytes .../0.5.16/pragma.0.5.16.sol-0.5.16.zip | Bin 0 -> 1105 bytes .../0.6.11/pragma.0.6.11.sol-0.6.11.zip | Bin 0 -> 1096 bytes .../pragma/0.7.6/pragma.0.7.6.sol-0.7.6.zip | Bin 0 -> 1075 bytes .../0.8.2/comment.sol-0.8.2.zip | Bin 0 -> 3779 bytes .../public_mappings_nested.sol-0.4.25.zip | Bin 0 -> 3512 bytes .../redundant_statements.sol-0.4.25.zip | Bin 0 -> 1931 bytes .../redundant_statements.sol-0.5.16.zip | Bin 0 -> 1937 bytes .../redundant_statements.sol-0.6.11.zip | Bin 0 -> 1982 bytes .../0.7.6/redundant_statements.sol-0.7.6.zip | Bin 0 -> 1911 bytes .../0.4.25/reentrancy-benign.sol-0.4.25.zip | Bin 0 -> 4994 bytes .../0.5.16/reentrancy-benign.sol-0.5.16.zip | Bin 0 -> 5431 bytes .../0.6.11/reentrancy-benign.sol-0.6.11.zip | Bin 0 -> 5375 bytes .../0.7.6/reentrancy-benign.sol-0.7.6.zip | Bin 0 -> 5260 bytes .../reentrancy-eth/0.4.25/DAO.sol-0.4.25.zip | Bin 0 -> 58977 bytes .../0.4.25/reentrancy.sol-0.4.25.zip | Bin 0 -> 6471 bytes .../0.4.25/reentrancy_indirect.sol-0.4.25.zip | Bin 0 -> 4191 bytes .../0.5.16/reentrancy.sol-0.5.16.zip | Bin 0 -> 5375 bytes .../0.5.16/reentrancy_indirect.sol-0.5.16.zip | Bin 0 -> 4201 bytes .../0.6.11/reentrancy.sol-0.6.11.zip | Bin 0 -> 5307 bytes .../0.6.11/reentrancy_indirect.sol-0.6.11.zip | Bin 0 -> 4206 bytes .../0.7.6/reentrancy.sol-0.7.6.zip | Bin 0 -> 5199 bytes .../0.7.6/reentrancy_indirect.sol-0.7.6.zip | Bin 0 -> 4125 bytes ...eentrancy_filtered_comments.sol-0.8.10.zip | Bin 0 -> 3423 bytes ...entrancy_with_non_reentrant.sol-0.8.10.zip | Bin 0 -> 9221 bytes .../0.5.16/reentrancy-events.sol-0.5.16.zip | Bin 0 -> 2370 bytes .../0.6.11/reentrancy-events.sol-0.6.11.zip | Bin 0 -> 2337 bytes .../0.7.6/reentrancy-events.sol-0.7.6.zip | Bin 0 -> 2289 bytes .../0.4.25/DAO.sol-0.4.25.zip | Bin 0 -> 59000 bytes .../0.4.25/reentrancy-write.sol-0.4.25.zip | Bin 0 -> 3362 bytes .../no-reentrancy-staticcall.sol-0.5.16.zip | Bin 0 -> 4176 bytes .../0.5.16/reentrancy-write.sol-0.5.16.zip | Bin 0 -> 3726 bytes .../no-reentrancy-staticcall.sol-0.6.11.zip | Bin 0 -> 4072 bytes .../0.6.11/reentrancy-write.sol-0.6.11.zip | Bin 0 -> 3637 bytes .../no-reentrancy-staticcall.sol-0.7.6.zip | Bin 0 -> 4008 bytes .../0.7.6/reentrancy-write.sol-0.7.6.zip | Bin 0 -> 3708 bytes .../0.8.2/comment.sol-0.8.2.zip | Bin 0 -> 3261 bytes .../reused_base_constructor.sol-0.4.21.zip | Bin 0 -> 2883 bytes .../reused_base_constructor.sol-0.4.25.zip | Bin 0 -> 2908 bytes .../right_to_left_override.sol-0.4.25.zip | Bin 0 -> 2015 bytes .../right_to_left_override.sol-0.5.16.zip | Bin 0 -> 1997 bytes .../right_to_left_override.sol-0.6.11.zip | Bin 0 -> 2024 bytes .../unicode_direction_override.sol-0.8.0.zip | Bin 0 -> 1397 bytes .../0.4.25/shadowing_abstract.sol-0.4.25.zip | Bin 0 -> 1314 bytes .../0.5.16/shadowing_abstract.sol-0.5.16.zip | Bin 0 -> 1339 bytes .../0.7.5/public_gap_variable.sol-0.7.5.zip | Bin 0 -> 1756 bytes .../shadowing_state_variable.sol-0.7.5.zip | Bin 0 -> 1546 bytes .../shadowing_builtin_symbols.sol-0.4.25.zip | Bin 0 -> 3097 bytes .../shadowing_builtin_symbols.sol-0.5.16.zip | Bin 0 -> 3013 bytes .../shadowing_local_variable.sol-0.4.25.zip | Bin 0 -> 3502 bytes .../shadowing_local_variable.sol-0.5.16.zip | Bin 0 -> 3699 bytes .../shadowing_local_variable.sol-0.6.11.zip | Bin 0 -> 3751 bytes .../shadowing_local_variable.sol-0.7.6.zip | Bin 0 -> 3642 bytes .../shadowing_state_variable.sol-0.4.25.zip | Bin 0 -> 2577 bytes .../shadowing_state_variable.sol-0.5.16.zip | Bin 0 -> 2656 bytes .../shadowing_state_variable.sol-0.6.11.zip | Bin 0 -> 2695 bytes .../0.7.5/public_gap_variable.sol-0.7.5.zip | Bin 0 -> 2034 bytes .../shadowing_state_variable.sol-0.7.5.zip | Bin 0 -> 1543 bytes .../shadowing_state_variable.sol-0.7.6.zip | Bin 0 -> 2621 bytes .../0.4.25/similar_variables.sol-0.4.25.zip | Bin 0 -> 1785 bytes .../0.5.16/similar_variables.sol-0.5.16.zip | Bin 0 -> 1787 bytes .../0.6.11/similar_variables.sol-0.6.11.zip | Bin 0 -> 1807 bytes .../0.7.6/similar_variables.sol-0.7.6.zip | Bin 0 -> 1750 bytes .../solc-version/0.4.25/static.sol-0.4.25.zip | Bin 0 -> 949 bytes .../solc-version/0.5.14/static.sol-0.5.14.zip | Bin 0 -> 964 bytes .../0.5.16/dynamic_1.sol-0.5.16.zip | Bin 0 -> 974 bytes .../0.5.16/dynamic_2.sol-0.5.16.zip | Bin 0 -> 988 bytes .../solc-version/0.5.16/static.sol-0.5.16.zip | Bin 0 -> 961 bytes .../solc-version/0.6.10/static.sol-0.6.10.zip | Bin 0 -> 955 bytes .../0.6.11/dynamic_1.sol-0.6.11.zip | Bin 0 -> 971 bytes .../0.6.11/dynamic_2.sol-0.6.11.zip | Bin 0 -> 980 bytes .../solc-version/0.6.11/static.sol-0.6.11.zip | Bin 0 -> 957 bytes .../solc-version/0.7.4/static.sol-0.7.4.zip | Bin 0 -> 938 bytes .../0.7.6/dynamic_1.sol-0.7.6.zip | Bin 0 -> 956 bytes .../0.7.6/dynamic_2.sol-0.7.6.zip | Bin 0 -> 969 bytes .../solc-version/0.7.6/static.sol-0.7.6.zip | Bin 0 -> 937 bytes ...torage_signed_integer_array.sol-0.5.10.zip | Bin 0 -> 4065 bytes ...torage_signed_integer_array.sol-0.5.16.zip | Bin 0 -> 4088 bytes .../suicidal/0.4.25/suicidal.sol-0.4.25.zip | Bin 0 -> 1512 bytes .../suicidal/0.5.16/suicidal.sol-0.5.16.zip | Bin 0 -> 1504 bytes .../suicidal/0.6.11/suicidal.sol-0.6.11.zip | Bin 0 -> 1511 bytes .../suicidal/0.7.6/suicidal.sol-0.7.6.zip | Bin 0 -> 1479 bytes .../type_based_tautology.sol-0.4.25.zip | Bin 0 -> 2183 bytes .../type_based_tautology.sol-0.5.16.zip | Bin 0 -> 2207 bytes .../type_based_tautology.sol-0.6.11.zip | Bin 0 -> 2213 bytes .../0.7.6/type_based_tautology.sol-0.7.6.zip | Bin 0 -> 2142 bytes .../timestamp/0.4.25/timestamp.sol-0.4.25.zip | Bin 0 -> 2641 bytes .../timestamp/0.5.16/timestamp.sol-0.5.16.zip | Bin 0 -> 2621 bytes .../timestamp/0.6.11/timestamp.sol-0.6.11.zip | Bin 0 -> 2659 bytes .../timestamp/0.7.6/timestamp.sol-0.7.6.zip | Bin 0 -> 2593 bytes .../0.4.25/too_many_digits.sol-0.4.25.zip | Bin 0 -> 3459 bytes .../0.5.16/too_many_digits.sol-0.5.16.zip | Bin 0 -> 3413 bytes .../0.6.11/too_many_digits.sol-0.6.11.zip | Bin 0 -> 3512 bytes .../0.7.6/too_many_digits.sol-0.7.6.zip | Bin 0 -> 3196 bytes .../tx-origin/0.4.25/tx_origin.sol-0.4.25.zip | Bin 0 -> 2729 bytes .../tx-origin/0.5.16/tx_origin.sol-0.5.16.zip | Bin 0 -> 2858 bytes .../tx-origin/0.6.11/tx_origin.sol-0.6.11.zip | Bin 0 -> 2846 bytes .../tx-origin/0.7.6/tx_origin.sol-0.7.6.zip | Bin 0 -> 2769 bytes .../0.4.25/unchecked_lowlevel.sol-0.4.25.zip | Bin 0 -> 2211 bytes .../0.5.16/unchecked_lowlevel.sol-0.5.16.zip | Bin 0 -> 2615 bytes .../0.6.11/unchecked_lowlevel.sol-0.6.11.zip | Bin 0 -> 2529 bytes .../0.7.6/unchecked_lowlevel.sol-0.7.6.zip | Bin 0 -> 2440 bytes .../0.4.25/unchecked_send.sol-0.4.25.zip | Bin 0 -> 2715 bytes .../0.5.16/unchecked_send.sol-0.5.16.zip | Bin 0 -> 2780 bytes .../0.6.11/unchecked_send.sol-0.6.11.zip | Bin 0 -> 2790 bytes .../0.7.6/unchecked_send.sol-0.7.6.zip | Bin 0 -> 2725 bytes .../unused_return_transfers.sol-0.7.6.zip | Bin 0 -> 6111 bytes .../0.4.25/unimplemented.sol-0.4.25.zip | Bin 0 -> 2469 bytes .../0.5.16/unimplemented.sol-0.5.16.zip | Bin 0 -> 2967 bytes .../unimplemented_interfaces.sol-0.5.16.zip | Bin 0 -> 4288 bytes .../0.6.11/unimplemented.sol-0.6.11.zip | Bin 0 -> 2951 bytes .../unimplemented_interfaces.sol-0.6.11.zip | Bin 0 -> 4256 bytes .../0.7.6/unimplemented.sol-0.7.6.zip | Bin 0 -> 2878 bytes .../unimplemented_interfaces.sol-0.7.6.zip | Bin 0 -> 4182 bytes ...ed_function_ptr_constructor.sol-0.4.25.zip | Bin 0 -> 6624 bytes ...ed_function_ptr_constructor.sol-0.5.16.zip | Bin 0 -> 6687 bytes ...zed_function_ptr_constructor.sol-0.5.8.zip | Bin 0 -> 6668 bytes ...ninitialized_local_variable.sol-0.4.25.zip | Bin 0 -> 1811 bytes ...ninitialized_local_variable.sol-0.5.16.zip | Bin 0 -> 1798 bytes ...ninitialized_local_variable.sol-0.6.11.zip | Bin 0 -> 1827 bytes ...uninitialized_local_variable.sol-0.7.6.zip | Bin 0 -> 1762 bytes .../0.4.25/uninitialized.sol-0.4.25.zip | Bin 0 -> 4255 bytes .../0.5.16/uninitialized.sol-0.5.16.zip | Bin 0 -> 4291 bytes .../0.6.11/uninitialized.sol-0.6.11.zip | Bin 0 -> 4187 bytes .../0.7.6/uninitialized.sol-0.7.6.zip | Bin 0 -> 4099 bytes ...initialized_storage_pointer.sol-0.4.25.zip | Bin 0 -> 1996 bytes ...initialized_storage_pointer.sol-0.8.19.zip | Bin 0 -> 1937 bytes .../0.4.25/Buggy.sol-0.4.25.zip | Bin 0 -> 2749 bytes .../0.4.25/Fixed.sol-0.4.25.zip | Bin 0 -> 4045 bytes .../0.4.25/whitelisted.sol-0.4.25.zip | Bin 0 -> 2858 bytes .../0.5.16/Buggy.sol-0.5.16.zip | Bin 0 -> 2744 bytes .../0.5.16/Fixed.sol-0.5.16.zip | Bin 0 -> 4064 bytes .../0.5.16/whitelisted.sol-0.5.16.zip | Bin 0 -> 2864 bytes .../0.6.11/Buggy.sol-0.6.11.zip | Bin 0 -> 2803 bytes .../0.6.11/Fixed.sol-0.6.11.zip | Bin 0 -> 4100 bytes .../0.6.11/whitelisted.sol-0.6.11.zip | Bin 0 -> 2898 bytes .../0.7.6/Buggy.sol-0.7.6.zip | Bin 0 -> 3458 bytes .../0.7.6/Fixed.sol-0.7.6.zip | Bin 0 -> 5568 bytes .../0.7.6/whitelisted.sol-0.7.6.zip | Bin 0 -> 3593 bytes .../0.8.15/Buggy.sol-0.8.15.zip | Bin 0 -> 3525 bytes .../0.8.15/Fixed.sol-0.8.15.zip | Bin 0 -> 6065 bytes .../0.8.15/whitelisted.sol-0.8.15.zip | Bin 0 -> 3678 bytes .../0.4.25/unused_return.sol-0.4.25.zip | Bin 0 -> 3194 bytes .../0.5.16/unused_return.sol-0.5.16.zip | Bin 0 -> 3207 bytes .../0.6.11/unused_return.sol-0.6.11.zip | Bin 0 -> 3106 bytes .../0.7.6/unused_return.sol-0.7.6.zip | Bin 0 -> 3033 bytes .../0.4.25/unused_state.sol-0.4.25.zip | Bin 0 -> 1917 bytes .../0.5.16/unused_state.sol-0.5.16.zip | Bin 0 -> 1928 bytes .../0.6.11/unused_state.sol-0.6.11.zip | Bin 0 -> 1946 bytes .../0.7.6/unused_state.sol-0.7.6.zip | Bin 0 -> 1879 bytes .../0.4.25/var_read_using_this.sol-0.4.25.zip | Bin 0 -> 3972 bytes .../0.5.16/var_read_using_this.sol-0.5.16.zip | Bin 0 -> 4379 bytes .../0.6.11/var_read_using_this.sol-0.6.11.zip | Bin 0 -> 4378 bytes .../0.7.6/var_read_using_this.sol-0.7.6.zip | Bin 0 -> 4290 bytes .../0.8.15/var_read_using_this.sol-0.8.15.zip | Bin 0 -> 5121 bytes .../predeclaration_usage_local.sol-0.4.25.zip | Bin 0 -> 2621 bytes .../void-cst/0.4.25/void-cst.sol-0.4.25.zip | Bin 0 -> 1415 bytes .../void-cst/0.5.16/void-cst.sol-0.5.16.zip | Bin 0 -> 1414 bytes .../void-cst/0.6.11/void-cst.sol-0.6.11.zip | Bin 0 -> 1408 bytes .../void-cst/0.7.6/void-cst.sol-0.7.6.zip | Bin 0 -> 1366 bytes .../weak-prng/0.4.25/bad_prng.sol-0.4.25.zip | Bin 0 -> 3076 bytes .../weak-prng/0.5.16/bad_prng.sol-0.5.16.zip | Bin 0 -> 3016 bytes .../weak-prng/0.6.11/bad_prng.sol-0.6.11.zip | Bin 0 -> 3095 bytes .../weak-prng/0.7.6/bad_prng.sol-0.7.6.zip | Bin 0 -> 3001 bytes .../0.8.0/write-after-write.sol-0.8.0.zip | Bin 0 -> 3177 bytes tests/e2e/detectors/test_detectors.py | 39 +++++-- 357 files changed, 169 insertions(+), 7 deletions(-) create mode 100644 .github/actions/upload-coverage/action.yml create mode 100644 .github/workflows/test.yml create mode 100644 tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol-0.5.10.zip create mode 100644 tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol-0.5.9.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.5.16/arbitrary_send_erc20_permit.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.6.11/arbitrary_send_erc20_permit.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.7.6/arbitrary_send_erc20_permit.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.8.0/arbitrary_send_erc20_permit.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-erc20/0.4.25/arbitrary_send_erc20.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-erc20/0.5.16/arbitrary_send_erc20.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-erc20/0.6.11/arbitrary_send_erc20.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-erc20/0.7.6/arbitrary_send_erc20.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-erc20/0.8.0/arbitrary_send_erc20_inheritance.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-eth/0.4.25/arbitrary_send_eth.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-eth/0.5.16/arbitrary_send_eth.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-eth/0.6.11/arbitrary_send_eth.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/arbitrary-send-eth/0.7.6/arbitrary_send_eth.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/array-by-reference/0.4.25/array_by_reference.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/array-by-reference/0.5.16/array_by_reference.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/array-by-reference/0.6.11/array_by_reference.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/array-by-reference/0.7.6/array_by_reference.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_contract.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/assembly/0.4.25/inline_assembly_library.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_contract.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/assembly/0.5.16/inline_assembly_library.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_contract.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/assembly/0.6.11/inline_assembly_library.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_contract.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/assembly/0.7.6/inline_assembly_library.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/assert-state-change/0.4.25/assert_state_change.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/assert-state-change/0.5.16/assert_state_change.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/assert-state-change/0.6.11/assert_state_change.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/assert-state-change/0.7.6/assert_state_change.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/backdoor/0.4.25/backdoor.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/backdoor/0.5.16/backdoor.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/backdoor/0.6.11/backdoor.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/backdoor/0.7.6/backdoor.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/boolean-cst/0.4.25/boolean-constant-misuse.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/boolean-cst/0.5.16/boolean-constant-misuse.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/boolean-cst/0.6.11/boolean-constant-misuse.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/boolean-cst/0.7.6/boolean-constant-misuse.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/boolean-equal/0.4.25/boolean-constant-equality.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/boolean-equal/0.5.16/boolean-constant-equality.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/boolean-equal/0.6.11/boolean-constant-equality.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/boolean-equal/0.7.6/boolean-constant-equality.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/calls-loop/0.4.25/multiple_calls_in_loop.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/calls-loop/0.5.16/multiple_calls_in_loop.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/calls-loop/0.6.11/multiple_calls_in_loop.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/calls-loop/0.7.6/multiple_calls_in_loop.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/constable-states/0.4.25/const_state_variables.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/constable-states/0.5.16/const_state_variables.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/constable-states/0.6.11/const_state_variables.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/constable-states/0.7.6/const_state_variables.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/constable-states/0.8.0/const_state_variables.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/constant-function-asm/0.4.25/constant.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/constant-function-asm/0.5.16/constant.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/constant-function-asm/0.6.11/constant.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/constant-function-asm/0.7.6/constant.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/constant-function-state/0.4.25/constant.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/constant-function-state/0.5.16/constant.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/constant-function-state/0.6.11/constant.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/constant-function-state/0.7.6/constant.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/controlled-array-length/0.4.25/array_length_assignment.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/controlled-array-length/0.5.16/array_length_assignment.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/controlled-delegatecall/0.4.25/controlled_delegatecall.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/controlled-delegatecall/0.5.16/controlled_delegatecall.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/controlled-delegatecall/0.6.11/controlled_delegatecall.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/controlled-delegatecall/0.7.6/controlled_delegatecall.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/costly-loop/0.4.25/multiple_costly_operations_in_loop.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/costly-loop/0.5.16/multiple_costly_operations_in_loop.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/costly-loop/0.6.11/multiple_costly_operations_in_loop.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/costly-loop/0.7.6/multiple_costly_operations_in_loop.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/HighCyclomaticComplexity.sol-0.8.16.zip create mode 100644 tests/e2e/detectors/test_data/cyclomatic-complexity/0.8.16/LowCyclomaticComplexity.sol-0.8.16.zip create mode 100644 tests/e2e/detectors/test_data/dead-code/0.8.0/dead-code.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/delegatecall-loop/0.4.25/delegatecall_loop.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/delegatecall-loop/0.5.16/delegatecall_loop.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/delegatecall-loop/0.6.11/delegatecall_loop.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/delegatecall-loop/0.7.6/delegatecall_loop.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/delegatecall-loop/0.8.0/delegatecall_loop.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/deprecated-standards/0.4.25/deprecated_calls.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/divide-before-multiply/0.4.25/divide_before_multiply.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/divide-before-multiply/0.5.16/divide_before_multiply.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/divide-before-multiply/0.6.11/divide_before_multiply.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/divide-before-multiply/0.7.6/divide_before_multiply.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_collision.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_state_var_collision.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.4.25/permit_domain_wrong_return_type.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_collision.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_state_var_collision.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.5.16/permit_domain_wrong_return_type.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_collision.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_state_var_collision.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.6.11/permit_domain_wrong_return_type.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_collision.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_state_var_collision.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.7.6/permit_domain_wrong_return_type.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_collision.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_state_var_collision.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/domain-separator-collision/0.8.0/permit_domain_wrong_return_type.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/erc20-indexed/0.4.25/erc20_indexed.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/erc20-indexed/0.5.16/erc20_indexed.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/erc20-indexed/0.6.11/erc20_indexed.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/erc20-indexed/0.7.6/erc20_indexed.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/erc20-interface/0.4.25/incorrect_erc20_interface.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/erc20-interface/0.5.16/incorrect_erc20_interface.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/erc20-interface/0.6.11/incorrect_erc20_interface.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/erc20-interface/0.7.6/incorrect_erc20_interface.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/erc721-interface/0.4.25/incorrect_erc721_interface.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/erc721-interface/0.5.16/incorrect_erc721_interface.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/erc721-interface/0.6.11/incorrect_erc721_interface.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/erc721-interface/0.7.6/incorrect_erc721_interface.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/events-access/0.4.25/missing_events_access_control.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/events-access/0.5.16/missing_events_access_control.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/events-access/0.6.11/missing_events_access_control.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/events-access/0.7.6/missing_events_access_control.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/events-maths/0.4.25/missing_events_arithmetic.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/events-maths/0.5.16/missing_events_arithmetic.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/events-maths/0.6.11/missing_events_arithmetic.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/events-maths/0.7.6/missing_events_arithmetic.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.4.25/external_function.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.4.25/external_function_2.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.4.25/external_function_3.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.5.16/external_function.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.5.16/external_function_2.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.5.16/external_function_3.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.6.11/external_function.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.6.11/external_function_2.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.6.11/external_function_3.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.7.6/external_function.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.7.6/external_function_2.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/external-function/0.7.6/external_function_3.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/function-init-state/0.4.25/function_init_state_variables.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/function-init-state/0.5.16/function_init_state_variables.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/function-init-state/0.6.11/function_init_state_variables.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/function-init-state/0.7.6/function_init_state_variables.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/immutable-states/0.4.25/immut_state_variables.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/immutable-states/0.5.16/immut_state_variables.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/immutable-states/0.6.11/immut_state_variables.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/immutable-states/0.7.6/immut_state_variables.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/immutable-states/0.8.0/immut_state_variables.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-equality/0.4.25/incorrect_equality.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-equality/0.5.16/incorrect_equality.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-equality/0.6.11/incorrect_equality.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-equality/0.7.6/incorrect_equality.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-modifier/0.4.25/modifier_default.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-modifier/0.5.16/modifier_default.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-modifier/0.6.11/modifier_default.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-modifier/0.7.6/modifier_default.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-shift/0.4.25/shift_parameter_mixup.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-shift/0.5.16/shift_parameter_mixup.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-shift/0.6.11/shift_parameter_mixup.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-shift/0.7.6/shift_parameter_mixup.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/incorrect-unary/0.4.25/invalid_unary_expression.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/locked-ether/0.4.25/locked_ether.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/locked-ether/0.5.16/locked_ether.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/locked-ether/0.6.11/locked_ether.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/locked-ether/0.7.6/locked_ether.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/low-level-calls/0.4.25/low_level_calls.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/low-level-calls/0.5.16/low_level_calls.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/low-level-calls/0.6.11/low_level_calls.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/low-level-calls/0.7.6/low_level_calls.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/mapping-deletion/0.4.25/MappingDeletion.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/mapping-deletion/0.5.16/MappingDeletion.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/mapping-deletion/0.6.11/MappingDeletion.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/mapping-deletion/0.7.6/MappingDeletion.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/missing-inheritance/0.4.25/unimplemented_interface.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/missing-inheritance/0.5.16/unimplemented_interface.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/missing-inheritance/0.6.11/unimplemented_interface.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/missing-inheritance/0.7.6/unimplemented_interface.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/missing-zero-check/0.4.25/missing_zero_address_validation.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/missing-zero-check/0.5.16/missing_zero_address_validation.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/missing-zero-check/0.6.11/missing_zero_address_validation.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/missing-zero-check/0.7.6/missing_zero_address_validation.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/msg-value-loop/0.4.25/msg_value_loop.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/msg-value-loop/0.5.16/msg_value_loop.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/msg-value-loop/0.6.11/msg_value_loop.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/msg-value-loop/0.7.6/msg_value_loop.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/msg-value-loop/0.8.0/msg_value_loop.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/multiple-constructors/0.4.22/multiple_constructor_schemes.sol-0.4.22.zip create mode 100644 tests/e2e/detectors/test_data/naming-convention/0.4.25/naming_convention.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/naming-convention/0.4.25/no_warning_for_public_constants.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/naming-convention/0.5.16/naming_convention.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/naming-convention/0.5.16/no_warning_for_public_constants.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/naming-convention/0.6.11/naming_convention.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/naming-convention/0.6.11/no_warning_for_public_constants.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/naming-convention/0.7.6/naming_convention.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/naming-convention/0.7.6/no_warning_for_public_constants.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/pragma/0.4.25/pragma.0.4.25.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/pragma/0.5.16/pragma.0.5.16.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/pragma/0.6.11/pragma.0.6.11.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/pragma/0.7.6/pragma.0.7.6.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/protected-vars/0.8.2/comment.sol-0.8.2.zip create mode 100644 tests/e2e/detectors/test_data/public-mappings-nested/0.4.25/public_mappings_nested.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/redundant-statements/0.4.25/redundant_statements.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/redundant-statements/0.5.16/redundant_statements.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/redundant-statements/0.6.11/redundant_statements.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/redundant-statements/0.7.6/redundant_statements.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-benign/0.4.25/reentrancy-benign.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-benign/0.5.16/reentrancy-benign.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-benign/0.6.11/reentrancy-benign.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-benign/0.7.6/reentrancy-benign.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/DAO.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-eth/0.4.25/reentrancy_indirect.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-eth/0.5.16/reentrancy_indirect.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-eth/0.6.11/reentrancy_indirect.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-eth/0.7.6/reentrancy_indirect.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_filtered_comments.sol-0.8.10.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-eth/0.8.10/reentrancy_with_non_reentrant.sol-0.8.10.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-events/0.5.16/reentrancy-events.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-events/0.6.11/reentrancy-events.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-events/0.7.6/reentrancy-events.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/DAO.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-no-eth/0.4.25/reentrancy-write.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/no-reentrancy-staticcall.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-no-eth/0.5.16/reentrancy-write.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/no-reentrancy-staticcall.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-no-eth/0.6.11/reentrancy-write.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/no-reentrancy-staticcall.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-no-eth/0.7.6/reentrancy-write.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/reentrancy-no-eth/0.8.2/comment.sol-0.8.2.zip create mode 100644 tests/e2e/detectors/test_data/reused-constructor/0.4.21/reused_base_constructor.sol-0.4.21.zip create mode 100644 tests/e2e/detectors/test_data/reused-constructor/0.4.25/reused_base_constructor.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/rtlo/0.4.25/right_to_left_override.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/rtlo/0.5.16/right_to_left_override.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/rtlo/0.6.11/right_to_left_override.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/rtlo/0.8.0/unicode_direction_override.sol-0.8.0.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-abstract/0.4.25/shadowing_abstract.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-abstract/0.5.16/shadowing_abstract.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/public_gap_variable.sol-0.7.5.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-abstract/0.7.5/shadowing_state_variable.sol-0.7.5.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-builtin/0.4.25/shadowing_builtin_symbols.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-builtin/0.5.16/shadowing_builtin_symbols.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-local/0.4.25/shadowing_local_variable.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-local/0.5.16/shadowing_local_variable.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-local/0.6.11/shadowing_local_variable.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-local/0.7.6/shadowing_local_variable.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-state/0.4.25/shadowing_state_variable.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-state/0.5.16/shadowing_state_variable.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-state/0.6.11/shadowing_state_variable.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-state/0.7.5/public_gap_variable.sol-0.7.5.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-state/0.7.5/shadowing_state_variable.sol-0.7.5.zip create mode 100644 tests/e2e/detectors/test_data/shadowing-state/0.7.6/shadowing_state_variable.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/similar-names/0.4.25/similar_variables.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/similar-names/0.5.16/similar_variables.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/similar-names/0.6.11/similar_variables.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/similar-names/0.7.6/similar_variables.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.4.25/static.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.5.14/static.sol-0.5.14.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_1.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.5.16/dynamic_2.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.5.16/static.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.6.10/static.sol-0.6.10.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_1.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.6.11/dynamic_2.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.6.11/static.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.7.4/static.sol-0.7.4.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_1.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.7.6/dynamic_2.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/solc-version/0.7.6/static.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/storage-array/0.5.10/storage_signed_integer_array.sol-0.5.10.zip create mode 100644 tests/e2e/detectors/test_data/storage-array/0.5.16/storage_signed_integer_array.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/suicidal/0.4.25/suicidal.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/suicidal/0.5.16/suicidal.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/suicidal/0.6.11/suicidal.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/suicidal/0.7.6/suicidal.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/tautology/0.4.25/type_based_tautology.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/tautology/0.5.16/type_based_tautology.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/tautology/0.6.11/type_based_tautology.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/tautology/0.7.6/type_based_tautology.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/timestamp/0.4.25/timestamp.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/timestamp/0.5.16/timestamp.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/timestamp/0.6.11/timestamp.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/timestamp/0.7.6/timestamp.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/too-many-digits/0.4.25/too_many_digits.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/too-many-digits/0.5.16/too_many_digits.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/too-many-digits/0.6.11/too_many_digits.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/too-many-digits/0.7.6/too_many_digits.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/tx-origin/0.4.25/tx_origin.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/tx-origin/0.5.16/tx_origin.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/tx-origin/0.6.11/tx_origin.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/tx-origin/0.7.6/tx_origin.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/unchecked-lowlevel/0.4.25/unchecked_lowlevel.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/unchecked-lowlevel/0.5.16/unchecked_lowlevel.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/unchecked-lowlevel/0.6.11/unchecked_lowlevel.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/unchecked-lowlevel/0.7.6/unchecked_lowlevel.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/unchecked-send/0.4.25/unchecked_send.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/unchecked-send/0.5.16/unchecked_send.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/unchecked-send/0.6.11/unchecked_send.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/unchecked-send/0.7.6/unchecked_send.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/unchecked-transfer/0.7.6/unused_return_transfers.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/unimplemented-functions/0.4.25/unimplemented.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/unimplemented-functions/0.5.16/unimplemented_interfaces.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/unimplemented-functions/0.6.11/unimplemented_interfaces.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/unimplemented-functions/0.7.6/unimplemented_interfaces.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.4.25/uninitialized_function_ptr_constructor.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.16/uninitialized_function_ptr_constructor.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-fptr-cst/0.5.8/uninitialized_function_ptr_constructor.sol-0.5.8.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-local/0.4.25/uninitialized_local_variable.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-local/0.5.16/uninitialized_local_variable.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-local/0.6.11/uninitialized_local_variable.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-local/0.7.6/uninitialized_local_variable.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-state/0.4.25/uninitialized.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-state/0.5.16/uninitialized.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-state/0.6.11/uninitialized.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-state/0.7.6/uninitialized.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-storage/0.4.25/uninitialized_storage_pointer.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/uninitialized-storage/0.8.19/uninitialized_storage_pointer.sol-0.8.19.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Buggy.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/Fixed.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.4.25/whitelisted.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Buggy.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/Fixed.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.5.16/whitelisted.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Buggy.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/Fixed.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.6.11/whitelisted.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Buggy.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/Fixed.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.7.6/whitelisted.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Buggy.sol-0.8.15.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/Fixed.sol-0.8.15.zip create mode 100644 tests/e2e/detectors/test_data/unprotected-upgrade/0.8.15/whitelisted.sol-0.8.15.zip create mode 100644 tests/e2e/detectors/test_data/unused-return/0.4.25/unused_return.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/unused-return/0.5.16/unused_return.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/unused-return/0.6.11/unused_return.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/unused-return/0.7.6/unused_return.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/unused-state/0.4.25/unused_state.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/unused-state/0.5.16/unused_state.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/unused-state/0.6.11/unused_state.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/unused-state/0.7.6/unused_state.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/var-read-using-this/0.4.25/var_read_using_this.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/var-read-using-this/0.5.16/var_read_using_this.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/var-read-using-this/0.6.11/var_read_using_this.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/var-read-using-this/0.7.6/var_read_using_this.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/var-read-using-this/0.8.15/var_read_using_this.sol-0.8.15.zip create mode 100644 tests/e2e/detectors/test_data/variable-scope/0.4.25/predeclaration_usage_local.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/void-cst/0.4.25/void-cst.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/void-cst/0.5.16/void-cst.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/void-cst/0.6.11/void-cst.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/void-cst/0.7.6/void-cst.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/weak-prng/0.4.25/bad_prng.sol-0.4.25.zip create mode 100644 tests/e2e/detectors/test_data/weak-prng/0.5.16/bad_prng.sol-0.5.16.zip create mode 100644 tests/e2e/detectors/test_data/weak-prng/0.6.11/bad_prng.sol-0.6.11.zip create mode 100644 tests/e2e/detectors/test_data/weak-prng/0.7.6/bad_prng.sol-0.7.6.zip create mode 100644 tests/e2e/detectors/test_data/write-after-write/0.8.0/write-after-write.sol-0.8.0.zip diff --git a/.github/actions/upload-coverage/action.yml b/.github/actions/upload-coverage/action.yml new file mode 100644 index 0000000000..ac620c8e69 --- /dev/null +++ b/.github/actions/upload-coverage/action.yml @@ -0,0 +1,30 @@ +# Derived from +# Originally authored by the PyCA Cryptography maintainers, and licensed under +# the terms of the BSD license: +# + +name: Upload Coverage +description: Upload coverage files + +runs: + using: "composite" + + steps: + # FIXME(jl): codecov has the option of including machine information in filename that would solve this unique naming + # issue more completely. + # This method has the limitation of 1 coverage file per run, limiting some coverage between online/offline tests. + - run: | + COVERAGE_UUID=$(python3 -c "import uuid; print(uuid.uuid4())") + echo "COVERAGE_UUID=${COVERAGE_UUID}" >> $GITHUB_OUTPUT + if [ -f .coverage ]; then + mv .coverage .coverage.${COVERAGE_UUID} + fi + id: coverage-uuid + shell: bash + - uses: actions/upload-artifact@v3.1.0 + with: + name: coverage-data + path: | + .coverage.* + *.lcov + if-no-files-found: ignore \ No newline at end of file diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000000..f2c2d0d46e --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,107 @@ +--- +name: Pytest + +defaults: + run: + shell: bash + +on: + push: + branches: [master, dev] + pull_request: + schedule: + # run CI every day even if no PRs/merges occur + - cron: '0 12 * * *' + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + tests: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: false + matrix: + os: ["ubuntu-latest", "windows-2022"] + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.8 + uses: actions/setup-python@v3 + with: + python-version: 3.8 + - name: Install dependencies + run: | + pip install ".[dev]" + solc-select install all + solc-select use 0.8.0 + + - name: Test detectors + run: | + pytest --cov=slither --cov-append tests/test_detectors.py + python -m coverage report + + - name: Test features + run: | + cd tests/test_node_modules/ + npm install hardhat + cd ../.. + pytest --cov=slither --cov-append tests/test_features.py + pytest --cov=slither --cov-append tests/test_constant_folding.py + pytest --cov=slither --cov-append tests/slithir/test_ternary_expressions.py + pytest --cov=slither --cov-append tests/slithir/test_operation_reads.py + pytest --cov=slither --cov-append tests/test_functions_ids.py + pytest --cov=slither --cov-append tests/test_function.py + pytest --cov=slither --cov-append tests/test_source_mapping.py + pytest --cov=slither --cov-append tests/test_storage_layout.py + python -m coverage report + + + - name: IR tests + run: | + pytest --cov=slither --cov-append tests/test_ssa_generation.py + python -m coverage report + + - name: Test ast parsing + run: | + pytest --cov=slither --cov-append tests/test_ast_parsing.py -n auto + python -m coverage report + + - name: Test storage + run: | + npm install --global ganache + pytest --cov=slither --cov-append tests/test_read_storage.py + python -m coverage report + + - 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' }} + + coverage: + needs: + - tests + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v3 + - name: Set up Python 3.8 + uses: actions/setup-python@v3 + with: + python-version: 3.8 + + - run: pip install coverage[toml] + + - name: download coverage data + uses: actions/download-artifact@v3.0.2 + with: + name: coverage-data + + - name: combine coverage data + id: combinecoverage + run: | + set +e + python -m coverage combine + echo "## python coverage" >> $GITHUB_STEP_SUMMARY + python -m coverage report -m --format=markdown >> $GITHUB_STEP_SUMMARY \ No newline at end of file diff --git a/tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol-0.4.25.zip b/tests/e2e/detectors/test_data/abiencoderv2-array/0.4.25/storage_ABIEncoderV2_array.sol-0.4.25.zip new file mode 100644 index 0000000000000000000000000000000000000000..f3dddfab48865427a7fd9556b08d47ed26dc8b6e GIT binary patch literal 10150 zcmb7~Q*$K@7p!C3=8kPUlVr!XZ5tEYHYRp5v2EM7Ju%Mvo%?ffdR=t&s#^U6Ry~R` z;1EI}U?4~!U?Cpr_WRjpdz2s`Ko3w5RuB*n7gq;oBMUPF5mDeTdlLs!GiP;H10!c= zBQHi52U`O(Pe%u5*Z&qKmR9a&jMgp=_OK9;AbKDm0U#g(5fK(_pKMNl7G_%b5Oap@ zttfhlLSvQj1c_H&y0KX9C6Pl*QuQ@feLzs0ZZXfYQ3gwng@ZAux_&Kme=|vx?WgHO zdgrtLtx0Eywa(;8uF43xJ(hJbaV*n8M#ZjqKl% zHKwz@3F%;gh@nS}n)HzeFbmLOcg`g{*srsgIktT@EaKJet?Xw+8JMG$=Bi-`5^E3& zp}a^Bbo5!eVxZ>iE8T%ePJ!VeQKKMi~?b z++lDgHB76sG7yK)Kb?8BthC3B7LtJo`6dUKXqC6=b1O9xnovwHvZE;?N{*$I4*h1P zskkInNNyzrwYW=pWTwkI8IzvTc^l{zq(pC~!XfG}#yhFPwXSSj=hTh9jL8M<%8dM? z$hdT9Qd6Th%pY>`a;2d86Qqde*&PGHF%5wB;e$9vZ}V62cxw6xOsk_%EiZVv;{mWl zOR&066 zOp(hZbE9rnq?IG1Dfg$7tF&)aol9=LX!C_V@kAtUHgM_yzXay6n zO5nQdH{C)}wTMf=Y+K(}!_ZRs8|8X`5FQ1pDL^`6P&~G4v0r?m5KLU8xtSiC{;(be zSqMAuMW341#5JFsc=FSS>hpz~ZM%Gr*$PJ<>R6aD?J5vw?>v!bxm&#YQ4bUM>|}F| zw(lhRHvPIdyI$t{-Lv%F8$ICY>%=ABH64Lb4CctWd}L+z#tVah#9v17@mZkWWh+`c z&t^Hd(OZ#DUDyn^Q-rRzjl@0CFPgeRQ(H-+q23|(+mPf*(aMQ^M;FiDR9Rqj@UwNq zhla9c6AMSsZp2({kxw^ifo5zBm)!wp;a%|0(BVI*TlLA9eN{E;cfT=oN$BeaXAY&1 zNj927WS^`zD}(WWsIu`w9gcO)OD<2^M0(n7FI?9fDJFaisU(l`htjp{%_!j;d>;EjNn>UtVTXPvX0|=!1$^;fjWyV*C8&`@o@FA)<9a1 zN#oV#&NQpPlZU`}Z5={gHm|;ESgP{4E&Ws+Epx!T<7|Wx(2$cCvuMa-$kjvON&tM) zsb$0&#@eR|{y=u7mtyMc;TuEDlSNaf&{Rc381uvs=I^L=_Aa%yzpBV3lLlK4}_f=LDce4kF_xp~r)&q*CF6LJS zH;%VrtfAE?$mzXw#d$-BL;x(x@t^PY!m3J*O?BI<^7Krb4rXQ~Z|-T)bvxl%C~Oo7 zGn$%SegDukegTN>3svedVQ;Kj$EmffAu}`|?d&d{>nT@JKiduH{3HGxTxt#yB|xfE zc>oTWSfaN>W|q~U?AE}ov!4%0qM!Dfm~6Z!}4&BEIJf#1XPfrf=Jj8x4p$k))9 zJ40Kxw9}5 zxd_Rj?ucl&?GqCw8-Jgdnwyu_wD+VHLC8f%hoBf9aCJQWdG>=z?%vc9yDi5 zaqPGze^at1B-~kJ;lz@EC8m!mHZ4UL!sWeIKsqJARLcJH+WEqWB0Lssz<-oKE*H`f ziWD#mV)2Drq-(q86@?OkN@EEMN5Ach6oc$}srA-Fid9`Wqj(!NBwOljQA!9`9EvIA z*R>>?J0jEas}4>(!6&S$UbEmdV2mpPGcjU*cyFmmE*;WbZ)upbL;#;m5R};6SHoQ> zHFkNjqB=cX5n48oT*??H;mqY{2CD^hGrf(>R3tRF@7&X2=Z`i}6>cKTn0l|!rZntY z{Fr?N0IBUQG5%$S4^@9c_OouMJCN8G2k6ee_#Zw88FVv$_>M z5i{M({aD*VVddz}3}({jb#c@oE|@km9BX|G9PVQ6VxFQ_9zYN93$|dL$AKHUS=%-w zQKc5GfIbouf(BSAk+?;Mc46*C=j$iCxxo0 zh8(yfxs0E=D4Zwz;Sx|e(93XZAg))$`dNpW_qRb4$?{QE29Q;3SgXE4A<-XJ5bX8fMe{v-$sgAHQYQG^QcQa^5Fj(-b1 z-_(0~zQxQ+&ntYf%}S)q#m*2|xP4$`PC}+7VkzGtvx+Z}Whb%5o{*tK`9~_7C6{kF z?t09=8;!QmPWHF`8pO~8xyg8)SM2TBTStW%sC%}OyAp!DEE*esw-}e=WGx_kG&FftJz?Rs@YS@VGB<2c@)+l&Fc{Ho~EWvxa%p( z7`tdQbp*_Lmyt9|YKTi+egMDCYXi$Xn_nH}+6j=NL;8gKl6jOWx%p>uKL+7PQsTsug{ z1Td*a*c9~|Kvg!Z+1l9T!%36BC1s?Z?}qQ^YKXlI>|^$I0+KUn*{pLj$SU?<;*(`0 zN7N1Voul)^J#(kuCoxTM5A?+lA{!!QLOX=VNs=#pCwfQ5OH4w{IbN{n_glqw&>s~A z8cBE-2>nBICFY*+(KeRaSMVShP`TG(D|u=Ps=QZB5mwp=jth&9(s+uQKcmiLtPoHW{X4jQJ!}**F zda{hZ2RLlBC02P)5XW>v+0jz)lb;POr{jt)y;f%zbi;_d&&WABsgt(-Q=2_HD06qv z+$$HhH%9`HHzEg~oDE2eunBL$*puvUXmkC%hQ~z<+3mrD7q5pV6u{QOhxRx$%ODv0 zxDhrHgu);FXg+D6-&EDzLk>f`kivovKhf1Mc@NDy8#d$lbHBVcSjyM#O%78;#sO!1@H1(-Fb7{y+O>!%uy$J$<7Nplb2Gau-8(p!In!PBG>OSNym*Nw&HurIujV# zFgCNY0!O8^Fge+6Ci%#Jb!aTHmjoV@R+|7Gq8T*yrYf%oL()SeuJyb#qC$H}^GN(|-*Q@sDYaadE_$+wAu( zaT%SlM0VTm{%)pKM|DJ~LM{Kok5h@oCfh`@<{K1;UwFz@DAyilWA_!JoR@_wOg18s zuYPtj?*3GD^x%t-Q#=*T%KUxgiJf}$juXEaT1X0Xtt$_JL}OV6?c3$E)Mge3VQvlt z`(2m>;IGZD ziJQv?OB#O84D8>FF2sZ)_C5a*yP!_R+fLJIuSj_ZW{TN>9Fo#zg46=dl!7*rh#^ta z`eV|?V?mugIM)Djb<17=Y#Q1Zu0fIX-5g1CuZgExwrpT`>2v!&;xP}$AQ%G_JP3Y{ zd6ih>MN#=HRfv`yF9Ek8~Iwp zHn!)cwKpbPlySnT7*1?|;5k`_X1 zb03q;>i*Tv$~FBRWN^lFSBz)Bi}PqTpxsM>)ke%EFv)(z`#DVnX|*5K6gLFjBKg_; zMPmBKJd-$$mg%!`MZ=xi)JIwf4sEv-MO;TCe+QGDXcC0~y|+IbCJYZLq@@svt_Ed; zUx5|HGY}@(+ECPA^u~wpx-6zW;*aSMnL|2gmXG zE{hIHp(si08}~`7;~kB?%rnbfvtZjOJ->Q-Sf~$z!=Qfm8@_PpDvCIktBS#RQ67c?2D#B}_nTbzW!xB%q7v~>!a%X2Xhc$~iO!(&0V z8S_Hat@B>~Q>)@&kk7`Fn{C<|en1NKClwgjJzzl=)n9c@58i$abVA!C%~d!lcigRm z{C4ERzvWwj@ILziq2<=xy-(_na#^tkDp1?(!XVKMkFfacc*G>5Ot%7E;!}2D3!ukE zFLJ*M!tY8&h3CdbJUbjy;8O7+s#=BU)sxgudi}ELj+Hz(r)nvTvE z(s7ma4Sax65-Z>=clT%Z2-k`exbUAa9-T}y3jod2SSc3ki{Wfs%LHy4q^m0e2L)zN zRk?==v%)N0?O@a($y-0_p}McKXrzT`k;8O~Ap}lEk@#b9nH}~TgV!TPvbtqYu@Z0k z#SOLgqgMce_O3$P@)_uWZ(m&3JErGw6^JE;hOt%0!3wjG2;FSl%l_8%hs529i zfCux5^;6f&Wa92RUnM?eBT?3YKpA-SnR6cYD1=aK=w71kAA$F7!eo^gZ&%7|vkqC( zOE%rfcW1d zlo%WI`;OI<&1348n!2 z8LA56ib5cX2DUK_w8i?;B~M|eHQ=-p!P)7ScR*TZ+4f&E7H84~q*|Iu&ILr?o|Cb= zSh3#rF_EueKJ<8)k4hFz)6MOs`y&`|txr&W=0t$n?LIb2{loNH< zQLq=F7=0_{uj0I;A`Hy0^(DG0xAiAk{-Lv66ueu3H{kmPr%bSW+>Ve|$mwV?DrUCS zzF;8l64A=(D*87m^6VE23yfdi+TOcCNqkn}7q!cBEn!nsCes|(1znhdPoLIhSlars zN>EFzzmYSd<|&Z(-g-G_T{pH8&y%hDGaN_UQsc-AK{Mx8WJv6f%@X0heVfUOc4b*QSFz}g0LSzisnT?$Br~h=2)^| zV|kk`B8EW}tL}0j?Mv9@3`Xnbe9Y;oma%;!nMwq4$)IdU)we)JWxUP3FT@jL=zuD# z7yira!8{h^GqL+sXNh<4@a5ElBO%EIckC@nZAY4q#A}>>O zEB9$GTY>%i=afj~w($e^uHjBwhTO+&H8W1K{sgsOg_?xn48qKs#-sa&A)lpH zi&*82dYHsfuom249P-mzYy125n&2{R+pWMUX^6pRBafn_YAj^bv#i^4%9A+=+A*rM zA4If}Jb4{)j|^(5quFn@xwpYCuN?IlGO?>LxhurzWU-d8L4_^os!NhMNt$4D#>a#A zahhPSDw-76v)85SZq-xmXciW8ale^gNc>l7Bno{jH=lvDn2#`N*^T9xLQp;ol?8jz zbtSZ}We+h*@+;MK}_rl4!F z;6Rdkm84Vuo?GV#Og9J{KC-;uRd)f+-{SrTFr9%A;bTR=BEG)AzIHRbArG)DVC7+Z zv3ptdE?V!4o)kbD4}-uw1c+l)nKs>OLorO6tfxb3I9Z}NMcXP=`eA`nPITsMX7V?r z8`QKtEHf_{P;nJM2o6WY*f~p3ZEL@~uNd`@{UWz|0S;p*|0)aznqW8gP=ZX9Yje}e zM3=j6MU{WQG16Cc8UvHllO!Oe_ZhSUMoPDuJt@#hkpL%?61|Le$%XWvmD@`mKNEjQ z|J^cZvsoPZbNHZ?Du-;y)p&`fYRI>SAMSA5T5KO)MmtF&w1kTd30MxF;99j^jSC?l^ z$YaKVa`uBR0}LW>+k=2`vwFT;J( z$cpon#(3o<#4xY|^uC?O4XRVP;WwSi{q313>TPje&nW==+*m^Qo$;IWLz=Rr&sv_svK{47iyg|o| zFC(t6x=7ncAchA|MEEYGB2xf9ePj{-W+WYbc}el{M);odqW4k;9!utIw{-s#yLzxj zQcWiQ(!CuNJ#(ODKm&Rylm(?2x+dHDIFhr4+V=(G_|C%~+q-%{N@1+ORnYl)g2QSO zOqaZIP{oL!AcPsy_kzXv+(hzf7Zxn83-CR+8k3TAkFEv&w3C;q&g@(UZ3}EN!|UJG zp@C62AENK~;-=FAO>jr*bH|nn(C(#3cu`@T;B6uuh!?aC4(Yl*mv34VW<_R5qPtDb z%I002Q#rn*@6QfBM5~Wf`2{eWlSW{-LU9mmM1~o}l~O+KL5!N-@x;Dp#Pp=_F5CMQ zdK&T|3FIZEs>*b#`UIa9yOUX6`i3eVu4Cy@1;&SZ%2s@L4L+nt-1%yzKDwP#zF8-l z4599Dk_vkvW8B5S5KFHMA5VRM=s$*ju1Q`N-_MsIts?f-IZ697^1n(IRGf&|XXclW zcszEAoS#i#09tm@Zb81}M{)x8Zc4`F<=zspRkM`f8y$=V{=)F&Z{N?krZ52&nCARn zgsiYsK}3Yg2?lIj=43Q9avxHu(P#dFRG{;1Ggq*t7P!8DLfY*o^&YCk(bFr1`+%3ByKtWWYMex;LcMPdQu*SAjfsTa}LdPBj3(lO5ZHT=u#`K z%|OD6&-w~R;4dT13x%0=${Fa`7ZTY8XX!dO0ZG#VZK@GVCyn7DzEobezqoQ}m|&s1(bDd6GA5`DSvFR;UFvSUCGDHExQ&69?f0<|eGvsOw+@oqth=VqCbLJr1= zfL(ORE+C8iDM`@p2YtI=F~MR9!t1-^9Jw*7Zh)Nt5{|e`b3=x1{vwZ08Z;|A%ov-- zZKF>DZWY+yf9Ce(!L!>n1IYl?UGTHQTFr}Rt3;`T?M7B2J#^%0EQ%(_yKnH|pVj&e zaBL`+1HT@p453}?3E#4z(4D}GYb_tr?kpI01}UFlghE+90+#S=_L_UJ$%|0;JE$A$ z_ek!UWTj0asCAS39r|zM`Ug&PQzA{~DL68eX$G*Gg~bnCfX~&y%UOQ|v?qlE>KT{M z+&wHi*!)1_(Pip3J@-5HI}n|6nT~(Y-rM>>HyX?gG;Hw{jbd}x@F=p~TsdwR^apK< zyn@gikW}FT^t?6kqn}1JJ=8eiL|fomr4foOg;cBoT6;A0UW(98g{C+b?I2YI=En1b z2;1r8)WxsE$d5#dtB_3p&{G*Of>z;7pYxxW3eo{JM2lU73_wS9?QM5AlVY(|4PPV% z`Pd6B>Hu&4zgHc+P~4R~D|9D;W-bjMAsJ86RvW9(&eX6{T9wFaN-rXv-`;MRym_pd7&Q8OHEF7 zZ1jgS8pgELs_~pmR&sGn+{}|%9jQ*T)1E2%DzCU~M#OM8HpNWEbm>Ezz94L;t~{^! z1xgY)Bgw$x)-_?(kHKNit1Xapk3Z5iK%_6t@)#t3XkVqyKG;2?(8JEz6Z=gd7|Z;S zKF(P@Q*xOHimIJalKdf`eZQ^M=&I^dkauN4DryAxR~eoO~j%j{o~W z$UEGE?D=i}vaRFr3&(a$-Djx@B13MGce_-;xI>Ri2kha|EuX1=fGNk#2v*8U2shyq z;6bRipK@EUfhC-}tGgqI>xY?65qjm1EVT3Ia%fe2_!k@a8`~e*g5Fiw6rHUARAIXb z*&Qf#ArSc`)Gx>utzk87eh(?sI^lm`zJ4O;b*V;?``=n<_SopO8oW~5hPpHQb)|=f z!uKmFvIzIoga_82>J*uD7gg)>ZlC6Cl~nEDL+ep0B^>$^IQ!W`cA9dtn{FS!fvamYA%Fn1iffY(_xMZ&6nf9nyYQ!< z$P8gQu#tmU`Spovy2z=Z5$H4FFK!d%P}?ayGynLeg<0BpPW|Il0Dg6BJi!n1c;q!# zn*g@hR_OHFO!7yFk*M9J%h%nyL}I0l+=LUXw$I%70i0!c%m(}jyZ9~<?&GI~% zhJQ$s)ji4unKx%n6E7%1m4Dl~!i(ulO<1jTA3{0UPQ@uei|k6mCm zemUPs8iX7X&5T^gmE1hPTfEMqjj(W}J_V5V)u_?nDm3?d>SQn*1pU?hp|@4YU{hxf z;*kz^y|kLkh>>W%ew8l7^7~tU&H-n7?LXx*Q zYn5NrtnO5Znhl>D-Y^QzfnQ8_-yJWU^l|05gY1KCL(jTCVDyKeX3pzqQI+_ElbDrOtmq1x!2qcb2 z58{bn#UJ^1jbxF5V*HKsMUD)YAtT5NuHaU=WK}KGyhsh6S>Cj}<3=pCV5q`yz^mgbe(%2LQQq0eyMgB|_Q@;DX$@ODo|KvfdxAI*zPoA|0k0Bwzu0B8Y8)EUM zopX6L!8^`v5Xx9(q^FjGSpWTe)zTt~%-DaIX_}f1hlGbke>Gvr5fzUMv}a*i>z#{Z$ST zJHDc;sd=BKIv&;~!>mr!`KE(GnOn)!+Aj70F=b^sd}$ixLru^sc))vg!Co&)^x?;Q zC^+&@U`b!ZGH{d&rQb4>5W{DV4rl{aZFGH=mZF*?kohpSm-Ky~QQL($cjp;$5aaDS z*v?Ki0U3LABGPuC7#SKv-x02H2P46*Fp{)>>0g#uMp2`G4R|mjk(iM>B_QV2)QLIxW_i^+M2zn` z|9##uj`z$uOaFmC4>d1v^GpP7H=M9N3vxzj>9+f zTX1q22eZo;)B;b+0u;=odAHZlWt+3bk}`PBL1D%pr?RM z-xoA3bw^&V*@@Afr{aBIl#|?cvhq*Gd=9oT6dU+N@Yj*dQGX=vh!_sTF#CR5C^dX; z#)K-;P*A0nr3C6omFG7b)j<@%O`xr~y`WZCW7&iM|W;$-VZOedc z@Hjg^0#7KH$E;tv>1N)H_^<(CWO~skBEl|ZqX!!OhleH|9)t-@xU*9tsMpQ>OFL$B zd-(8S$S5=Vcf1eHM&xF{eZl|=7I;h0G>A9}>v7qD^1728cosR@D&M!vEtu9&E1B0V z+bg*ul@kLzr@d2fEQD~QK&4~U8oz&1!(ak3&vf-B1UENYGm9RJS*I&RkKXopvO1z= z8|R4$Y+m%NZImS1!U>xc4+HS;AC}EEa`zj(kPCt6FO|G~Zvhc9a@Udel0bSl4>CTO zb>+TmM_PgH58@jYQFo@i4*ozkPVBQ1l_Y-ZfLfiE>=fe`_Yobkrkgpze?M}5^U}~( zja2m*lD0}MFbu&tO3MG@@@G*|Re$qMes6|?sg61HjX)%rIL<0IjK-JjE8fwVg+w<{ z;ImDr%<1xsFpCN2xrcN$`qhp)$duZFPxY${t7O*U$e(RL|5ZvF*4X(ckZ$gaHzlF9 z;7K*Z5@okgzp>$~tVJ*BtgMIJ#D8hWuF_PVyNvK=bb?k4Jd15(JU-Yn>{V~eDq+jM zfauLWvLgIaU0yGX2p~1_Cci$US$E@SHUO8A>$1t^l30Ee_8eiR>W)cmPsf?~*8rc= zW1{|q?7`V5om-^45Ueipf!=3x7uSu-b%t(!M<;k5BY7cgA!TxxUJDw-nR8(ZuK%4h zr$jwl**$^7jF!60RSGR&*!7WZK=D2=8N}I=`4@ZF+7cVg13(-v!SFLIZ`h_N0}3Vt m{{JTC{)6WJuL3~-XaE2FoT3aQ)c-C){~N>qoSEu>>Hh#WGGXNa literal 0 HcmV?d00001 diff --git a/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol-0.5.10.zip b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.10/storage_ABIEncoderV2_array.sol-0.5.10.zip new file mode 100644 index 0000000000000000000000000000000000000000..2755335fd25b192b57bad3215ce0c23269662103 GIT binary patch literal 10810 zcmb7~LvSt%w5(&>wyi&Qc5K_WZQHhO?bx<$XU8_)xo>_4clDsFx~iwEdhjVogMtYF zfdC-@frPlLr8{Wwx=;fFEqMV0u>b)9IlI_98Je5w3kge#+8NuMm^!Jk=o>mY8G14} z+uP`ydN|lSx%?LxTUff8GFUm=+d+eY1L*<*1poo@MMRjhez7_hF3$etfzKJSvn1~$ z2#r<3;U`>k?!jQb7e@>&P1RFh^9Dk4yhT6HMj9$T5e!D7>=s?@`C$|*KS1*dsO*%zt< zS%>3jZN+JOf(`6FoI70^8@yE!pgy%!Bsw^DGe+)R&es5$6!+%D$vd%~M`9kbX_mW7 zajm!Nvn>VEN9t$M&8=f-)6{iNi!OryK9R3^g>4d1W0a$?F@g2)>3B6pciusm>4qmV zrjTk)aQS*a%zg&CwmvmkTgsHlk_F`N3v2mzPoI__+ry#sr%iTvFbCVo?p&fJ2oj{JLi#+K_xOf6~kAe+-fS^A(E z{c|_soCd>idw=}&w*m%xUAozTqqosQe2=bDj2UT+9DHCFTtX8;BqwLr(A|8x*Pi0F z<*iT5fdl5Tm^&u@oB;5dzahz>td!uyhlggYy1C$)YDV9edaLi@@N$nHT@PeUT0 zEf^_B&#MA;nq8-^mLM$hMOGoAK;I#1MoU4dHgaFH$UN0bxd*?=_nWr88A1;=#mO) ze8E#u8Cu{=;Nn2_*|w{^Ok}X698a~wG7GJngy#YV1J~04HAd*_W{R_Y0VdU0U;Z!0 zc@E>0oA8UBT;k4UlU9R7a6#%FY_}fbr5+D|LW*oPJ6?SWqAwWZu@aNPz!!-Z;g~!0 zi3Q!_<3w3%=QoIvX*>JQ2Nsi!y4_84_UbKfpp|7w} zX+tq!LuWqz>P`H1FZ#w;B^PS)=8=0K{Yk;`6Hr%Pjw8CEaqe)M*AXfX2zEcL8Netj zGm^P}lcvfj_`x}A+golqSRk&E-ToP{(N93IISu>Otz*4l10o27&F#j!T`S;PseSq8 zY-*^ulkbP?9J}hCbc`a}j{Y|9f4)N9pg}H-vnc{v>e<^1!d`x3&%#vQ;~GE&Vr1$r zqg}q!T!+a%okM~8MV9q6o88RLh&j=~mQXS)X&4d^#sNV{v-w4v zrBO7Zy)uV^HInkkre8a|iBxiZ_A7_R`gQ$n;V}8t(Bgqdznik8T!i zew<33$vlHDfX*#}gM5LrW2VQi1_g=3cTA!jgBU;;uDy1LGG{hC{kFR8YC6GAv+3U7 zNf15Ve=PMKt%SzmM1l5LWNORT+;p(Xe&_Lox5NbY=mU(PKY_!JOQd_r@nZ^DOV6|+ zWmtviLUf&)?AZ17J>bsFmW4G?Tj&(4YhSBnqHnUblbvB)6UTI6H;M|3S39uoV_fGg zQoI2%Wl(5XJ@6+p$hxY!KEHerIBQWZiu^3~Y9dCF9?kNpgdEv#AC(DtAnzRoii2O3 z;;T9kR@+tF{RF~oOMGhgE6#{km<7st*k21}RRrdsqzQAG0MqQn8&Z!(J@6x*OvqIZ z3~L3TN_NJ^=71UT&BrKn%XHg=inI9_8=<+#?P2}Hd@oR>89BsnUIe7JEooBX)-SfC zmyifP7>QYy`M@*BJuwV~Lgp?PP?u>@2hBJXbT;&gpnh<4X=lJH7$n_Khkd+VhB=0s zim25lgrnrTU9yC(FQkFT4!%!;g#+ zvx`b4ny-OsQsmA$L)|=Il5OWNp2Qtf()#13IYmj;F>S&NV)7eHnrA_Cpa4AEbtCfJ66!UK@R-Wzv|=5Lt}CWZ4s#u=m+G-9N- zbt&McC)%5F-;4nANK*N5B^Sdb9!$2}JE9^*CLH$zS92w~MwExrvx1eTcyoo6WCLPy zQ8OW10OOC(wlj@$0kEOs@4Y4J9s-ce6J-mZs4_t<#X( z{^~JZm0)Ig{Lk8@`4(Js`R9$I_`*`@bzy9dbybXR2tW56!L^w|cB>k)0qqXytf-x5 zhcI9fk{8PYg~SPCSVV6p#{B?L$i9+YF9dB)*4{lXuVWIVz3oV?tfBBpi$<3k_la@S|ivotTWY+tIS;}n;L$>?PDP&Ie4Hg8qit4b&u3zc0 zRb@t2V~f2__xwqib^js)C`lHN*S*!WShE`Yl(1?p4mV=DDT2aVw>e{Ye!vB8DBs@s~BEkn?r*FqV}VL*H~^@gHYW8ZKaDi%G}sLKYcwN9Is z5A5ER$appQ0{f+ejhTMtOhJ5yScQt}Vx|hw9tU3XU#56mZuFpMhXlVf@U<$s2CkVh zcju*YjZ(XVHG22?QM9aagOZe+l(V}?36Pn?dhk*c7}v~%lQPefAI+U4B~z}vQ|1(8 zmkkXLgSRKnOuT2!crJ_Usp#qK;K>@j^CFjq0#ET9_XixHGe|F{jzQYwC0dri}4D|O}E*Kk)V}hkobLyaM%fh3P3ayT$LBR)Eq_;b( z@VQ1vuf|5WWkbr1e}niaxty5DHE-Ojkh7|);|eVmulh6=2g}`D%S7VWfVN#ZC-X4&W$z(2V-g{*B>{1&k&$FM1t1z3^{w#lJ5fx-miy)&j zeU~U&J~KH1%&_CFi}(X4+(ZqQw8(udGVR$DZFL;ZYS0;MlgeR+niMU^;Z7O`HC?Ki zzrQuPd|!;i@ik?(A-pACjNT+34V{xDXVggIurLI20rAyauc6?!iussjs#YMWGuyyp zlr&lkt{30U4aN-%wa5&KQWUHLd(K=d(M$1Mj~aPp*|#WFdb9|p+3T;qDc>>Lu06^1 z?LvKS^F(V=9L>*RWSzs%f*!%didv{q5-)hxN^mg?T}vh-DS)5xUVV}~$9oO#TbMk) zw**{28O1TG^p7oaE4F&x{EEeDCj{RucKNmTCbpp;&}H(8sj3(u*9vAumfq>`tl9#h ztj_y1clRu+c^)G{7Gm70SlmhL9orZ<46SRSHZKKyQ+|8p@u3vj*E;w03G9EOudsU9 zRsA)8g|aLDrKe?<+itoMRxAVLZ#bSj$htse7Oe1wkCV8?G)mz+2y2@@@8d3*Djk23 z?#=vh&)A>v+0${sDvKz0&4Ljbuo;C7sUf8ESi?>m#3oh#SqzT`{f$Uzgn{}#2qQ&( z_;A?;%#vo4lq&Z~oc`suNi=7%HZ-AP1+@w4DK3Hv1_T?5Ga&>D#7BSzK;n7(PwEvS z(tg7Ow)`hv`@ac^xQH^O;B4_6cE-?3zIP}_HBH|hml<=1hm|dLJut=+f_7|^MnYCC zC!*YTzSHz7coPz7dP{+e5|2Okmq$ch73GJ<^}iDu{$3QK+e<{gPfe~o2iGPfwVOHsLtNd8 zh9C{}jVp`)U9O!~5ROs?UNp0n>*L?*)M)iR)y)s!;L%^v& zQm|Q`NFHIl8TWN`f{xcO5a`yU%x>{l${I5oFb()##;gzjLiM43v!30t%s+i3JrDT4 zXtSue{~Smf3*jW_RBe(pttD08CD&W(2w7F05&vLfCO${->pwS|b6>0hQ#`=n;K#JO z5V{^<44IdYLJ>xcVEvdNP`w-l*J+j3Up&S z6jDC;VZs0KS%dZ`{(E2n#)A_EX-s9Nx@{g|N7BtNUc$VaM*vgS0ZQ z)2F!=oE`N;&fXop`KO~OYH=uYS}H!!|Iqbmt8KpOFd2J%k@R*;E}g6r(QQ6obbR;lwNB(;GW z?1NAB_*%pT&5vHpu$?Ktzw6Tt9WHq5e8DnsG!t|{&9P}*0nrj~Vgu{XDJpPVJ;o}v zfa55Qu0PE0MR5VX=U>tq|3sOPF%h=HD$c8#MGLDgihz-Cok>)%wC689Q2&Gm$%KeE z_7@*+O-GjEDf!kSyFb?!>V7w7`m>|H%T}fn{+_$;bLJx^?;D$v3MQUD?9)7;BL9x& zwdE!BsO&tVGMBp^WS7LB{Ur=(Qg92dm6gPagvyn<+DHqc_X@ZyoMiu0h55LDKPTD} zo7cU>s>J+!A77kBlgbXOSIJwy@PJw+Kt|q}Jpv9hwhQ?zLq~G0#>gavSgrBgSOX+@ zvJi>)hCuKk?gV7y*n~+@8}LEpr2o1&d9>6f=g<+x@8FjqJ_QeM#@Mw8afhlB2{oH& z*UfUG5Qa~{f^qaSqNpdB(~@iHsDs_^^Wwi7LB!D##*+WhX4>7{D12`J*S$`1Fg9%z z7R2RbR^NXAa(oILF7a|^lu?^klxh$tnGQ#L%hyCVm=K%w-a7=q%v9+ttZ+)H;Z2ai z`H_yWQ*D`ta86k#2%3-rka)AyR_}}h_q&5vPW?j7jsBnn7w8F%->TVgzB@3;=rgoT zOJyo>_oVDTlM|WK<2r}TWU+@Ee6Q>#PSH2T+ZH;gY&Uy|g4tY|0+HNOMUy-61Vvqb zz(L^8JqBW$Ux$mZk$&cVNRjh>UH_u9vj(0aSH-BAlBuDZt@9ZahYdn~EzzHY28Uxn za7EJr={wL+nJ%L=4*(sfnx1yUr_u1Q z?DR+HNSEjg=@Sss+R#uHtm9MM)Z;@bZN6t$>7Ky`UPc{hQzsrW`jPJ07+&85Bv)~Z z(FbZzf?wD_>U!g1ge;G=;hL&a?Dll;{*&RdRHksg(VT;01b$P@ z0JhaMJC{IEP^1vEcxNDFYxw!xXlzbRaIxuFhS+6>eHwP0jHM%B2T46v>O72IZ*d`( zb{oGI`5u(S7guIo!d3Z}K7EFSU6J7)=?3}9;TH3`Q!vG3mR^RT*I%k_JLls^4&dE1 z_UiLp=OAg4^q9dE^@9!uxnI7>2&y2L&jfbZpQDH*wu^JlHx4ANr!3W9?yG|jT1YsI ze`}X$C8HN1SwQLn>4G{|f57fzI+o`f)8_B$4T0rLsCSqLddPzF z^Nh9&`4pHRMei$Jd(ys@Qg8nQd*gzvaq$Fun$`0-*+?@wC{&xS+VP2c9${I3Lq_@r z|D9b}ufcM?j4QKG+Es$DgYW;4#s@r~q4)&KB#aXZ@k1Cg9ifxelxi7)>@G^Qel8(S zu;#L(0pUe<@1GKFRF<>As+abv_fK%KvYJ;t;dYQ)+6Os8BeF51ZAYTu`NlOZpX8xt z7kSVc^KNkk(@zu_!N4m(?Et52;6B8RoPoDD=HEu!v)ys>+rH)x+~-wt(0WA{{8cC zCO8>hZSxB|v=)MFs~qr@X8h02QEqA6j*F^sD;jAa@lhwVXJPB9@S?_{;pMeFur&f5 za-c!36Q zz8(JY1W@trbnA8320_UH&o1~@4(8i!!3>nrwY578!!jtl?Pu45h*{yFV`6euGV2{H zmjw(-p2eP}rF@63w@ByipUw9q$uk5LcPhbGmW)$Ovje5Gr9H%bm< z5RDPssjTOS6D<&pXGbkKo)Z?Xg;F$VPho0Gr8JHTOcP-Mp|Ms2=u>bY6jcWw?}y)Y_iT(zb?s>fk3ty|)j!dQZADb^p=+M_qDk&yi}!06P7${%28czf*`Y~r33S*T zWC|k1-n$S4SwIcJc}k6j0PQeqB*32EGIMYKe3?Q^!-Lv;bj$TmhVy1XE(9x6$hOG) z!ym)%swl2?ohdizWVnc!kswxi0*Hz)I|Rm9G$*$q64IiLFekT4+tHgMH77E{xV~yV z*n>zcg!vjI)mWD|h}=hxI{a}HJB^{;Zb=+A^3Bm#|DKK3A+Pu8M{xmiMJYhK{+q#U z?5}73GYte1_8~JD9g(h;z>*o?uEV1DCr4q{*4rG(^Tnl!F1%uL=E^@so1CO-nn^$M zIVfz!)Z5st1lItC{a^mL&XRInYkUFBhdg7JbsB*pSEhEQncL>v(V`{IJCAj2`8U=F zy!H^hO^VW?lW3)r*ajK)s?U-$wMIJ+U5&nP&Lq}XxN9{qfa}D7 z-O$R`R$d8_pP)}#yYd2K)LLxjI*0s=>ME2N6Ct^+gvGdMUP=5YwoH8DwdWDf!^$I& zI)nH4;fE7)u**KByaQ_23p~B+QJmwa%z^dTl2rB+8Q=OlHUL?6szS*$#P!V#WWaK; zT%a#&T13*=uq9(kLHz<$zlirt)T8MvM_boUi4bY#mDMHMGg5tin^akGxMvbrrf$*|L3ZVj*E+uWO?2236`f@@qC zd(>a@tI}tWiOmq#5H)n_Uf#4(olI#dSk1MSP2^!U_~~nxIUjKy#rm}7_F*i&B46%Z5uV1KTue0`TG{xNR{gh1qinewE>245F14ob0X@h+Um_L68{C)_8{2 zT!6_n(PMC{Ooc#hNDLy-M0BFIoH*w94+>Rb|2IFKaVwq~t(KOoVVRP%f6CZltSb~U zcI(p8`k;>mH2jUIMT}zV+gLg!007MaZKNzi5*cxSD_C>0}1JYs* z?qztow)*s?Xug4FFY(VDC${U^8^W$g9C~6I>pCl|1pOV}8;7t}_Nn@CR8W3~KtYBSP=`9` zN_itdBp2;i80Hm$&B6BQi&O!mXuBEGl1QF(Xzy}hwN8;P>)thgs_R^e7=PrSPa7O7 z)!U6?2{7+#7;TMGLxG4Wev1jUp5==G5bg=IAm!#REOR&%43r5!5YX z-L(j^)0X^C4(e+j_2(0DgRL7(z2cdG2VT#1IutVY19P{oq%NPzYM1x{_Yf`;Zax!< zO7pFhOrX-IzRgn`tl8i9KzPG0{q3NiWPMGXb6xS?!LCZs#UKmyu9j`zf(c zFgKgH#8z*roj!lT@sv5~+4_2+xsntpFV$aD;nxXPpL{+(l@!lVq3N!l_Gp#f;Y=PS zz|GXU^?|Ac6nD~Qn!lx^iTKWfo>jmJZXu5rMf2QhA?)|(QdX`l+(+oD0-HJkgStfC zJJqC$XoYl8PSHFvlA5ngniG@ z!CXkNPmIB$b-pz&%xeS9ZjUUAWc!03q=IU#)1|<(X>3$YE19lYn9oBgErjj)2yEV| zGc|3ETTz~8^KVlA61ULh=9n6C99$R*%0ReDic8f@*VfaF!gp1WJp6jvsox53LD>%s zV}1jAdM`nbD`1G#L77()HA8MYEVkl?tpdSrC;~>Gsrt;6L8LV~XrErWlq6JD=XFsF z!Pawed;-41gmX!?n9N{3EJmDtoj+X7j8rqLq~m#R;@}#(ypYP>2j*f&V5{))uOc^P zkddOuI1Jnhg6S|PXG1%$X;{fkplYPEc;!bRS>7SmbHfiE@~3|+Bq8lh1l33X?kxDOrQgIEyH#etrAH*80j*KX2by!#BAn2`q%nUzx`v)LhQBkXrDsKs(u*lU< zWYvg_(qL3PD}~!0a)oiY5HCnl>Tr+>+SJV}>?1;d0}T=5mvbuR)js^Rt1JxgS!IQ*wR?l{i4uE zKVd^ikwK-%e|#&xEUK?mRog1B!75UI_c*HEMhd^0UxKuQA7k``zg{xdUXrWJ+{%lN z-EFd`mmqK*BHN#rnMla>hAXoNX5~}|=J$91co`FJ2-MogAY{t_(Zu@tHCr*xIZv}j z^99>GIiK3zp;@}DYw=9Nv4p;4Q+DxTv^BZ12g90rooZCY>&y^pg&*$tyLaSJ@2#24BJCocCawojRq5&qIOW)$C- zu3UWtT8586YJVU2^;P}1_52ZQ|C=^3sp1M3Jfh6`P~r*bD}wAmE)j54FBTQ`;^`;4 zK5=S;deAQ4iL!W2=Mo+FgQ1~nxZY$zj88Yz)jr*0F0DA)W^B<~%>w}uT;dEYj?paME$ z3K@VQpzM9$S_6{0|0R0+vqI>ZLul7BXVddkFLsqc{u%s~dH&swGDo1txCp@wNWbzP zIfb(_e>JmV{h@*}eqg#B-G{m*b0wtah0v`QX1ip>w?p#gb+n!6lA8qG6NLWsEwE{b zHAyQ3A^(&A+e|UyID|KtzGca_KjgCeoc5BFjUatahzvD(AT*HH3sXNv`9R;%&i}C` z0m<~1zE;ITS^*^CFj=bqpx7#eY}wO{&B(KXEo)77!O6-{&K+b1<{RMH1@-TT1reC8 z#E@zmWnNBx$!W>v$HLjTEUcU=xZ?Sc8U#C8uTJi&96ZYEgNxyWgp+F`bpA#>#36jZ z*@O|y$1a*szU(gE1AInKnrPZtQp`N-ufHPKt?&*1kd}aWB47blbszSkDE?ipPv$ev zsxc7P586M<-_>vHujg-|Jy>v+|DE@4ZEv3YpX!S*R{j#odowjK?CH7i(?x7cpFH+B znb1gob=GAN!uR|L6v~~4v4bGjE{%vwQrhm6Y zRxo8t(VG15R8LaXptVBPZExk|-jbMYHJ&?Z^R4!w*s_idI~w-_|G=ALs1l67f0g}Z zlB&N8;|cr6{+kUb*+k{_PKMEbkjFY|0B_a@rIJYeOL_lO?^FkRnECI)eJ~GxtlP3M z{$2&m5@^p^MG@KfXOO)iZ#$Q=e!#2{J_8?y6`dzwa^S`#P*y*&%w?Do-uxQqp?OB4 zw8o0CxUGDS*FD%-RIRTWJ%*vjOf~B=^a83ME#WBBlARM*SjXRAn84*^YGb^xteg>< z(RIH<%5dD|bE4=QRM55FhJh7o@sE^*g(CioLK)qABBl)HEq71=?O}^JG|+k|u)0>L zjjlYf)f1_eHHe~&G4KkXba{$+{@za|?xzrEv(Ay9X{8biRB(-h{j*QdS`#MT6~^sy z+Plf}0jRNrBN*{$U=3_40r05cpKr96&_5-W&+;ni?IFH;SSk`;kz$UXec)v5Tihu) zQb*5pw0t=tq1J;*bQ|e?iI~!70-DzeaWUJAFQ&%sI`dr1GD!pq6B#El`Jjg+5h@c=k0tq7~LS zylTM`?n7P>_RTaoq{*t7R0hu!^SVng4&Zd4D!EW>Q$!>dFWM-{y&@lJd|;b9P`>;J z?L&hPY;?sw-{rB-!2YmXy&@A_Zq`2H%szj2#cu^K*M0?BwHaZ;~fd zjo(owb<4UxP$XcC242V}8s8e|GB;fJE7$gBeK4{(I}kgB=Q(v@{SK_GeTA5i*XC!P zkvP^`@m&6*gyzGToO=k{7rCjCJ{nCX!7B^+LEGUf$n4#~_lYcgw|ex#9tay?NO$({ zg-FbgMpa9h+1oqz#SO$qC6D1LDjQ0t?2Tj&7PAQ2*kYqr%+R@=rSl{Qy5Y|ki&%nT zhJPIdsEeYznREr=(I%-NFDHQwj!+!LVVDeX51(%-=AXo4USRUk>Hk0!r`y05SL8%1 z>qXmMGgHmfw%qwGFEU^+s6_kDkj+&$b3;~G@;{<#snKOC(8s^$?^91N8y&0u3}Oe) zJ3zJ*?V*A<`8AEo8Q;;9R-K!M)#M5l z4lF`u_BDf=j5%0d+B0V3Bd&9NZ6_6QosxP}@0uZb2{>0mQ;QL8!E=K3-t7M3L~ox! z*PLi>w;$sF__N8VQ*;R$BXv}_yJt2d9BG$|F{JHSko*e07|$$N zWwim8Oxwz(l(}wZ<4_U3)B8=zJy!mGjHUTfkOl@30R7)7&i_Ep|9=6%|6~7mrc*&0 U9O8eP!2ikMKOg>&5CsDIe@=1Cg#Z8m literal 0 HcmV?d00001 diff --git a/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol-0.5.9.zip b/tests/e2e/detectors/test_data/abiencoderv2-array/0.5.9/storage_ABIEncoderV2_array.sol-0.5.9.zip new file mode 100644 index 0000000000000000000000000000000000000000..7f4e03785e59e54cb67aa5dde425885324cacc5b GIT binary patch literal 10804 zcmb7~LvSSww5?;?=%8a;9h)7aV>{_M>Dab)V%xTD+dQ##lDz-E`5oN72CHgU?b)h5 zSoJB%K|%?EL4cuvK?eWR$nfjlv!ewAoA3k&V*>*Nb9S+JGO{o;5D}G;urskYHFMHn zGca;;GV)+@wzoAfb9bIH`8c!PZgKpQMR77oIq?vhyO{$iFa z-A~nr_RM9guTEo(vCjCFRIOP@nrMtaQfwWun66eWf&hjx(nH}_zkk6n#v?(*4qs}i>CZvRNCj?!ZH~x3vbxoncI{vB1h64W_p|RHr~dAq_)9=NRDSPM_an%N4CHe z&nuC_Y)=3lMVZ*4?d(q9l<4q0%3+U zYQp^`br&mF`CaDLt+{T4nPIo$tP1Wm_?D1{ zSEvt;HHxu0xvj296mkh+i?wC^Pw_1p=@x78*1{OAc4MMyE_a2rSY(s+F&zzK$xr)> z+;>5dAb@JJI*E2zVvpY4fQN{U+z(v~IHJ?K{@_XZwUP?`Goi;_|8(#=^z7#${q`6_ zzIa$F;(O!H6DR-aSm(~jkEcX7fO(~lhAz@L`~c*~xCW$4_WT4NDK1}TH1TvJaU-R3 zG>1iA`kOYp7=OGH4G6%8g6a*Zgg`uO9&$h8Cf?k-Jo3Dbutxg?c6o2p{jAmf0 z>bE{?rNP)to_MmfGzX8MX@oD?Z1hhu*|~05+z09E@|KD}{1&eIx{{q6j-;2ayPiPbBC>I*2oXm=;PXW_v7yb0sP)um)l-;c|D z@LwU_b>VB+QhGjpDhOkmMx&hM$Dt{-L^B7}#1zmYI7^um%T=?x6|`?JlY15Wt6q@s z`FimGZjn{cHHV3t`CRX!riL(21f}(f6}qltbt~@ z4)GqRVI~}TN%=4OP4;FW7qEYp(6nxwNrusXa35=|^dAprzjZ6t)+dbf%pvZoNOM3q z@2SV{(Bq$7N$Qi)2uW1(m1Py21=J@C18({~wiw!*-c08_Xo zbsTSkBlP`qb(yH1{L~Y5Ej06BK_c_t_vRT;Y1FDDvGXnf)F5!42WZXUOjn-j4h6yL zs#zyWRu~k<`9I$lj`FOTEicL!nx-!4Vr;SRsW6LV6nveH&&d77H?C(lV?vI0JQ z1@qk39)dq;jL$5}p$@yGPkeTvo9vU2Jzv}Fn*+`Tzup(zjBgv{=4%KQ(r90I+`MA` z!k0*9m=R*o>%86N%%2z``4eL~?`)e3j{mA>21VJ4UzHL%KMki%aCQC8#{(fg7JYh1 zGmCZEB&=~={W7YT>egi^FtSi9uX|QRYMId-OuUp+sKrL!j)?fV7Ur|;PN?Wrsh22v z1PmaH@kEMl3Pf4sVFxSRzGpr*_m?_Csc6Tbh@4J?PI zE1@+WjR1#-_!GYSG=hZO$F?|xW=Sk)xU4D2RObck2Gnv7yyi?LlvJ!6$h$SJhP=qA zTYV%nU11IyzkOQ?JC~M*UT%Kb*hAO_?!O@`;XYu0AYN*hcOjnugkgu})d$HGaj@$v zRoW~aWImDk@*}1CukJ1ctDA#FPH|(uFX(v^QL{+jxhK}o;fZK z7safE*ikcgVze8rs?fSLrEb~0RJH83Mu}kw=`yOWd6gLya$D9U2 zYM;QH)~Us@j-!#300&*mHpyppkT9@CmUQ*fMb?D*Uq-+rdVPN;oUg;N(Cr=&pu>X(h6b5BcPm-ZLy_ybJE5 z_v2i!# zcv;RCDy0M9S_eO{Jc5PzfUJ%!pVRYnEnI-Yp&u&p`sH7>m!dGsx_(5EyA>!XwwN-V zj+J2;IV8DyFEG^6mhpT10!Ij4$f-RA$|H9PZ(rP6u&UDWLLM%bKH8aTnsxpOq|v1g zD`eV05gnMzUn;s5f)-y2|1H!2T}?U8Cgt(@vg z#%=KdPpTnf&}drPgPYT1LMCOrzUbC&d19qcOw6Nlrav&gINn71NjUsMPYCsB0{tju zB}+@pJh^mST0ZfXJKSTd+0Nhl4P6LufPWy){SHgVJQ_9c|CMM<~OT0S_-2p z$3mLT`zt8AGen98?HWIu8VfrA!l5v=v;1Z{S(@=VHo!dtYomqEOc&J=iLMgDSS|N0 zlj-&jv5!0VKE)WKevP3ccs0_AE^V{#zokCm2O&vhBr{M^mwrB$R<<%{{Z;-}RB#Vy(*6*!WHhTe9 z*1CI{(!qspIJeiB&M5+6mx`80fb>Ks{;;cl^8uDnr9D zt|Zim9Dm``eyrab+8anRD*d20EnfE7KR6#`y1GSjQ@qzZ5ySV6wdHQqWh~GM(en-( zo%EJ!`-@5uv1VoRBH9${c0Wii$elZ$`;)hAM{^4=>Rlho60$=ICnZXn!iIndV8E;E zi8!yf?YHn961*YZI6bc4m=}sxP=a0H9Vve4qir-EeOb2I#a&sAMkS-m5$%qFUT%IV@jB3?f9v)nH& zaUItt|20v2kgbhdOX<<6By2QB&@31wu`dPZ&~gWE6jGXD`ojZTH2`{5lJYk7%dX!r zAQsx|tI0|1oFxlBPP3yovs`3!#AVaT3IV~6Xf62P`!>I4)&>p+ALxra)z|M6al@Qu z?Wq+~zg*s4F_650?>xN)*Z;wWzG)PIX{N?91PZ%;IwOxk7f|mJse}4Bn{|>h}V8 zR#SjiD#955wJ?)Qva3-VFFb2@0IFc&mT-(7RjAtLL)k0`*bfYKRhA_ABvA8-TyCq# zAl7fEH_ngpF3eEnharF1VReYEyL#q4m0jJ+`n~elD@r~uMLfy9rAWr|izC*wtFvtn zSg+L*A2t|1L=lzlnsAs`J!I_fbkMzewG>Mq6(Yf}r4mI!m3u)S+1;qJy3||Uoa7Ag z6Z3*p@tlo)664^7Ao1rEF=ib5f}7boE#XAsegsVLGWV0-x`rhDsOscw4d3C#xz=@& z?!37=S{yVr9H)(0d z8`UQ+1c^TPsE$5MB+=@32iSLHoe$T?=r!w|MFOxAdL*gjg}vz5YT9L>n&ym)svC3t z4f|6Gw><;QW_n&!rm~m0mt?8)AQ6nFS-UusPtd?OHg?w;$UrXm#%Qi~_sKfFND?|% z#4O0&(|>EZ%#F_OmHKoccPu(CkH<7K_Lhkoo@AIM>fNiq*If!{9vAZhJaL?fse|QX zIz2&(!rj8d*q}ceEbubw)EDrKprSiy{~FS5i1^)5I3#SOHDKOZT>h#wNRa0yG4tx? zw4L7sN;-E=g(J>+eRW4NAW+P1*rmJ)vSn z?iQ?$9<#V-SNA|S^`41oV-6u2%$Rh?{UW8JA{$@po9_V!dgc1>C8f?eV*I||zWEeO z604y79S41Rb!ndH?2Fr`)*z~v;$W&ce2x4~x&1^M`TD85bn+vws5js`sua9hCX-cg z%*t$at5Pd_x1&h}<0CHFi0#q@S>#^2EiLI_SDFRb!BGkBCz#wU3C>mW{Z$iCgc>fu z^_BAn8bup7{Jof0={393P0w>51bqz5A(5_YJ*Sn(RDJ%vBFDRtD#9Az_sU=e{N*T# zJkpGpDGuLsF4!0?U^po+eSE*Azpe;jpl%y&o_r*Qmo_mw`YebgCL!N!FnwkB;nNCR z4c)YZsvh3f5}vJg#fd(^*$z#Q!Im5xzYw-@+dI8=a-@4kuuDnb)d<8ollaJ>(+)AD z-Ysq&OCe*N>07oi4T2KxXzJ^YL}#-cgF?>zoyAHb^3=aI!edPu<*}ZIEne#Z`f|*h zabw?il`_b0#ILuZQm03NS9z!Mw`ChW#47C=kcV3)`+1}en^(CMNgXFmb+M+zOc?BV zOTNCUUUR9QNXX~u6yAuxr@F@g5AU-LD6uef#QrFrCk84R9Z=c!5cWjuu9M;9wK=`lF zVfv?Ni3;=bj@a$pB~{J}&hOya$p%b0m=$8-4Qk}Fy}K!m@0FG((>v5G0_KjE4ZJ7KxZ+#SG@h<*u%~2xL&NPx~3^hFDwO!QLLY!u-ZOCjGs)E8P|4U$y1DI=nvCg_ZKqrWmaWazMEY6oP*eoE>m zkh6~B(UdBX;&=V+1+L$x@^t(ex<9SsxLzBx(ABfaY{pyfi|eEA?)#3sRtZiXXXs7T z1g?Ubx7Qe((}q?Fp^wxGl*_oRJYtE2D^G0pVJkz4F*11+7EVkkd@OgJd}rjmB0U^_nwV-n;kN;9C52VhXd-palToY3w8sy(k1{ zWPh9`s5E*;&9Rm;Xyo9mjjXYy`iJXVP_MT$8n;YsYOS%p%9=0YFLw{g=;GNISFVF~ zxifrE(FfY0Y&NRN&e*ssnnd`AWFlt<6L8w0j^QjX{gstG%g^KT0>>-#h7@uIS_!7@pxJQD-Qwg)W~1-<7{;D_)}h*|-~Wo#M+t6|)j>Q7)7z2P!Mk%b ziorzu2JV)ReQ@+MF%W7Ol0WKL_iI#63V}4Pj_9p6iH)cE+uAm@C4cuMMpgYJkDo-| zXRFjtbTdosN+4aIB4k#-)T z+!>vTqANz(oMwmg3@Ioqo|+!5XHrvM& zGaHLPwd3)CH1=C#O&ealdY56hWgejHWBn?eO-kBzF0|BEl^EN3ASZ%s+N8?HT=#fu zj`K?Y6~qUpFIu0XHKZ*kQPsuMZHHfnXj&5j04Z3l*uHJ>&rVvB1btLoNWilh%%A4k zjXRcw%3#vy`0=%rDVOT7pN954cqsryIt9vy;>@T(c19s5_Ju-|_)@-3iqrT9r)W?S z;T+WdIoXhPwPVMMB5#f1kmNmKg6f1MU5iySzT7NcfeI|;dzMEII5rVEE6d7982i z&dY-$>vOJQr_K%OGVfEOxVKl=(Y*CS&}S_{8ubd8+MUrM@HN2b{CyKfTxZkkNEBJRf%@a#qA=^ ztWhlWNmj*i0nnSZRiow-A=k8dzd-}H0EpEm?r0;xDO!$JO2xrqW)hqDRc7M?Nzw9qAO z&bUZJSPx!V-b9f|a2v_Q1~LwEGQWqeHi{Imzh2?rH*dXD=MftjLdsiGmT&q6tPA1! z4=7M&1&g0qRec2*;D&s?XO$fO4$hzS%Z7i0r1>I*j?EaB_uriBd9$*Gn(gQOV$V*7-PD%h+TbL=be z0%Ue`(Q`aTgiEc+z(8FcdpZhMbnuNd>wy#N+f!dgq^G<*EF;sH>dP- z5%F{Mwn~w0nvR;hC?ImZ_#t)Ikpb>$VK7LoQXpVDiNrSHDz)8ac;kDi;21ULp=X6h z>psS;O5P2}zIZcgCuaBXK9{jaA1hqN?CnU14B=Mc&xd@yEb8loEp`g0yVztYwuN2& zQ-ksxTyLBP)>&zZ-2$~7x#Z*ZCbsurd$xRf^KFvO&* z{-E!brJkCHSjVI#p|bjyM(BLjf3c;71(;HywP=lWN3M&^=uHLS=a26lPb-+e;N-o8 zN2Jm5t)Ocvrxh6@^{Nv=fE4UZ8?_(B-I0wO_*_ybpb5S@l9^Hte@qyCSJ4gVR$8~h zGO53y;2l~lo$eVwC)^|bl8VO?B($w)WsRI4OA%-V)VY8ARR-L*J?kq*d?CPZ<=%dc zv!LFXEJou~zBv$#^|ndDuoCd5K~mJdylgMfs@8p$dHbe_DkBVuE|*q3HyCN-@xi(w zB&WoNJ#o!Eh;MicX1*#0lDer1#u*T2-=5^a=X=`S6O-1IT{SxL7$KmgzaLRVNxv+$ zY!Ja>fAuL{vMyyp+}`)FH(yW}_iROqf;fvgzm0@GN=YzHyuIYo1s{a)Xz!ERaAA|Q zbot60%_ZKfnqGh@>LEOMCkAR(T4U+43a|9*Zc97W)A+9e&XvV@qj#$&_+_S{r$(WD zi^KH-^ee_|_rHbQxmeS4h76G75oPxp>vv67eIsC+a)r#@TZ(Xhy091V>upHt#lwt0 z#|qMo9hKhf?DVN(d}B{_B$TKTv0lCnV^C7jU5>DYeSkV z*nHemy18)vrswPx4ldi|rY(^m#ugFt*|^{FnW~!mnMojE-T6>SCVcR8ezE>;8g? zxCKYSk6WevG}}}Tk2(mtMT+HpYS1#9vXZa6*+?aVXP*o%)!E!-Zu|#9XQBHRhJm6^ zR6!OX8tD#JlZqKlLB||AQey-kSie-cjBBByz#Y72=z#r4zwPdq`zEQq%S(Sak{lPW z>JlR2k!@OmK@x%Sv!99huhu?`T`w$1I#AG5Qfp(RLZJGyxU+RKo`i&DG8f_t)8AdF zQ@n+pWVI2)WAk94?JH=#S!A^){S-n3%$O#uv1qTOz8gP(i!|?h@tKLoBFHh$Fn(Q0 z$ZkB|{R_Yw9?V+nKcv|MrNJ&%2S&ZfAL>pi1Pzr$f6s_m zuPO$#=5WL0j{eYZti(>%&F@8cUkIMZOnz%nX8B@WOPYPNA8yh1XqJ)OSB^**kF&{B zM6Tc-mDD^t<_a^oB|Jj{&5}n^GkFKw!b>%DIf^pwzC>d(6=0y7?1Hq<`JYooEcxT^ ztOUlMG3CLOr&7Cf+s~3cvmbv0de9Fw@{5%nO$Ax}At!F*rHQCx{;R*M-_bm~1L}-J zANCR4dj#0xSwqY1aRQ_`roH1y83sRl$u&~fa#BUTg-21fgiI zCd9*h`RpR2PHGooG>7drG`IvBDm{NCl_tFOzKT9`!kZ7t;ketzb9_+7uX@yKHfi=< z%6*WzIw*fPfPbXk1U;Yn#ql7!oWo9E1DqaSswYPKes@(!KNfkpipA;d^so!g_e&IoT%Eg7B;5b-%-kWGXE)5I(``xSNSoCcG|kyd}8oO%4^>Bw8wAs z(Vl?$6tH3kg91~#M)UF*_y5rvul3Rt?WYn`^6Cq{%jQnam3B~ z*@P;KmaQwmOGkZDzZZ0Gd-v9@v&!a2vO4*jlo~)Q;bvgEf5uFI>5Qe$dnz4e=N^04 z7oWYbIv>>*-o2uOuwxkiO_}ap&DF-yS1RNeIf@z7?pcS_gWEimc_mN$^Foi6{rCg< zwG0Jtf|Hf}@xmoxP~T_4Wkd09z;rBTU39=71v;VF&|o~Jm1nEkO(aUY;I>&ki8;0Q zn~l1>$(-@JrwphzQd7W`6?Z2xP|dWP6udH|yz-bJ&u*nE{(+L;P|fcB?u}hc>+2&F zDt<;cuf|i~;^B1ItF{9#W-;K{It1=KF7JjBzWu?k+29p#e`AL58!Z8VGU_mmR+9s) zTzeu7#uBr2EOsUyVEa{|=oMmW9wGZHyHEQ~AJn=;z3W@Stz2GFjvQ+sJIu;N4OB?L zIZhz+m_TlON;&}dwfv<{&Y=a>9XlBpFq~X=!1t*oNt0^BRfB_i#c>GZ@7epI2fLJK~+iBZgGj+ATHn{e9*IVXAXbfzN�&%bHt_Jx zpt~8ZS;-$1A=-~p?Fi^{@4&P+)#LSaX3a*;5`#kmSI0aK2~>{%Q}7a0Z)?9=Sl(WV zM?Zs&ToBPg0w8?Z&IN3t&5sQ--KecE) z$PYb8pN@7SzWg6_0=A)Ca-}-^;cWjqlZt8{ey-j8BhvsIuYgYy;`nt?{O~f_tNesX zqnUIgUt`qY?UYhsiK4dP(fd7P#2r|pWfB%@c)fb7AL_q1@=LsqvuQWrM23zjLX*f0=J{$U9AkH_{NPSne<$}LIrD+f(naOOx z8G65m4Nl>N3aUj$vg-b-J}*Xd5iQ()=`U>H-hM`@4i@gkf6TU$ntyCOSS^3yfLlG8r})#nIjCyTti%6E{Ptu{oMQ(-PeGFRp)~~IRLQy%OxE)KgbN) z_DtkjziaY91X5D0wrl-3Bs^nVL#oV@L@C_E#Ctg;OT)WU1Ls?X; z9-;JVY&xW*uOq3p9Wd_BIMVGmC^$6uQaNeOl~m;p^4n*5opQy|rBWZQ@9y1#Xx??O z8i%?xq@4ec(JhRv8p4Za*R*1_PDH-v0EhE%WLje%L-dKtkOGg-%tYr9aFPR7;l;fkB@5=KY?aAUl`9Bosei@9v22fK1fm zneQtvxZjn~B3CrpLUTzXp@q>KNl}N{h~4+94Z~pAZA}v5GSEZYe_eQFI#I!iGJ*=P zKp(+sP%H3n)^o8RZlvcY<7~g$BHzCF29De%E6IUF2toeu{N{fM=l>sn@c*&@JI$#i V2MzN-m*D@&@IUYQj|~L_`+rmVE^z<= literal 0 HcmV?d00001 diff --git a/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol-0.4.25.zip b/tests/e2e/detectors/test_data/arbitrary-send-erc20-permit/0.4.25/arbitrary_send_erc20_permit.sol-0.4.25.zip new file mode 100644 index 0000000000000000000000000000000000000000..63a52ded6200ea07e359a37b7a0f91a316d818c6 GIT binary patch literal 6650 zcmbW6Ra+Dcpsk0H?ha|`Zlp(=K^mk-O1hDdE29Q@;e7kt@0-2W z#e21Wz|dhQv<$FQ8&D!SN{0OflUlI8zTK?=@#UD8NI?* z`KPARl6MAz9qggj_FnWLbt~HHyY63E!6}8Wy_;ta#7#k3^ZQ2wo@G!gE!jmhD%S@e zfHoii_09;a3lU=Y{<%6t0Q`FY?#gPB&%=JL(d22tAtRt(_;rtsh%n)MC25u6N1?@V z`nSAhHsHv|GOdngbqc8#U_J-T~YNIn#|E+MOL3&%2|}S4^2mfE@$NtU{DXQ5VtS@-GofbLt*kuE~^N zPHs^#uyB%5)(dBCG)j-JGDX?_Hv86uN;HQ^ zOKXB{afvTM>wlc7x4n5uwtcmOO`hMh@mr?qCaq(R?U7Tw0wB55wDStn;5g4HU@q7!ArjBGaQOQ zoQP5*@K-%V=zumS-FGK8J^~OF*fNh#3xgI=)-6{35Qy4nM4pUIXuCFRP{6YicBd=5 zqGMDN?UR!m)uO`_ptIZPpR8#px7>4a zonq(Xohb`4r)yzkS=4BQfI2}OS$!&8}dP1X3ZGQF0Cmy|y4Z!**4 z@y?>#Wp0q+(}!0%!8H^X3)9BTNgh%~5LeRcp0n!gloHcpGRb-3Md|cPrC;Mg+ll3WrQ64R-jCwumWW+lJIBwGtyoOgy@-VWzIn zHF2kkpQ8uIU*xtUWiLOQA|*^ zO1aom+nA-en0qqoD{_*eZ)YKnm+IDCyboIzzA`Yc@V&Qvjo3T3$p=<26y6#UUXqzf zbI&n})y)?6W*$h-URJGBK+Si%AbSZ&*#kS_ zgl6m&FLt?KQl^e+SQ)LJR=2_ZoWEOj=r8D8^X4LpD5=RC?UNOT!RmpdNAOvJWC+mbA+?upo zbF|+({$_;A2VzvLI29`v?+vx~kX(}1enHf<&ItJ>ix2UJBO+vfA2sNK&0~mqY1ohw zQl))IcXB~9MT055?Zac>t0D*|S5J;oOa55jH%vWbLS|X{FCL@K`36~_I-XjJvg6^| zspH$}Rzj=I{yZ$S>VhKFqPa z_3Mbu{_v7h7>#;yav69+e&%J-fk+Jx9m-@lIzDWQ>xCSZ*sI%jYY(MBLkJAVhGWNG zO{}wE^IoFOz2v&fc!G@Y6<5f(;GL|5$CIxKc8d{6*-lNNl?%GCY;cBlsQ!k(zlViG zbLgzcE_AQ z;FvJHX~)TaoU-@V8321ciJ{LRY4#L{nbCASX=-uoWIbckO?o(Wrty0w4XMX?EQ5<2F|_l&C=D<-v8fE+nPyYZ(8wEIHz;k5FdSF(L=sP*%NTP)R68?Dvg7I%C+`!IAdFJP#a)DblJdksl$*90mT1)hp~l{oa4o7l z$_){)kfa+`Y5SQO8E5=;`6{t}t;D1D$KIhx+pEbIL=#JVmZb{^gWi@n)Q>RVyc50Y zku~OM$v0b%Dp^-%oD&8l1{*5NhLqxRUiTuMT zjSY`nW8X*r_%iPT;?uD_@wsU_c|7^lJAH>=s{tkgv&8zmsj4IpN|5-(J+|u zild1+zd(+%ZF*^`$!ex-Zm?yd46*9^-~wTU$9zU|z5=Vwue{2w_z(R3ix5jy^ykdY z)JNw;Fj^zSDZHvON{;qr`kRitOwU!Q#q*%eQ+G?I9!T_OaL~k0_$`E{f!Y5Z3tCn( z5nVfA7rd?!dGfD1|40gAZ2I&~kbITjLy=rmLPx7A_gM|V0ke&7{P$8yk48AM?Q#axxP=)?(m`yA zI$N+j0V{D|pD zD#fev7f)=n{X1APfgL_2-QCRl*hh|^%Um_`ks_8NMxTtqEHt39bH)=GiSBLg8(Oi~ z!mH}PZzt>kA>=nVo$)OVn=!ps*|O<>l!yY{p`v;`E%=AubGYZlHNT1qrWKS!L(ZBk z^VpZ%9p&xZCAX*V6ov-Jd#2aVipd^sYyny++L!M|S?gWy*fc7stl}?6#1sEU#7>L+ zK)GKl&I3Lv=7`kCIrl3QJUNx_hMNX(rQq`>)kF%&%NU~_E-m1|B4URklkRg)he?c= zaG^3N3zYToFhqrF1G!ob$On3Brt;2w;93lAU1n-6XI)5g9b@WdS;0f^z~x6t*`Ia` zc$_pmAEgD*lF`7VyT(lZ#OwcdzI}@*)+_&Bc^L=a(~h%7I#pM%Q6i5(G20-4q@?4( z!ubu~<&ws3Us7ZECYK+7olsrlPw_Rb&4Hj*^Y?Lkr14(35jbb6w_LQ%%r?rZVmYN^ ztX%YQP~<6V^UNxKF55`<$VVDyZ|HpVP_kA5Vz?d7lp4^NoYuxUegjNSJ1-@HV-3_% z#NfZVQAC)i1fJkoOaY!5upVZDJT;144Z;V$grfGUe*4at*$&ak7(2( zL5)N%{;1v}_$u1stFQz#+MJ6W#JVk)dGVj&P+Hf7P;&lFE56-g_6d#!YN2DM`sUi7 zz+QPXD7JmvP